WPILibC++  2020.2.2-33-g65eab93
ntcore_c.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) 2015-2019 FIRST. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #ifndef NTCORE_NTCORE_C_H_
9 #define NTCORE_NTCORE_C_H_
10 
11 #include <stdint.h>
12 
13 #ifdef __cplusplus
14 #include <cstddef>
15 #else
16 #include <stddef.h>
17 #endif
18 
19 #include <wpi/deprecated.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
34 typedef int NT_Bool;
35 
36 typedef unsigned int NT_Handle;
37 typedef NT_Handle NT_ConnectionListener;
38 typedef NT_Handle NT_ConnectionListenerPoller;
39 typedef NT_Handle NT_Entry;
40 typedef NT_Handle NT_EntryListener;
41 typedef NT_Handle NT_EntryListenerPoller;
42 typedef NT_Handle NT_Inst;
43 typedef NT_Handle NT_Logger;
44 typedef NT_Handle NT_LoggerPoller;
45 typedef NT_Handle NT_RpcCall;
46 typedef NT_Handle NT_RpcCallPoller;
47 
49 #define NT_DEFAULT_PORT 1735
50 
52 enum NT_Type {
53  NT_UNASSIGNED = 0,
54  NT_BOOLEAN = 0x01,
55  NT_DOUBLE = 0x02,
56  NT_STRING = 0x04,
57  NT_RAW = 0x08,
58  NT_BOOLEAN_ARRAY = 0x10,
59  NT_DOUBLE_ARRAY = 0x20,
60  NT_STRING_ARRAY = 0x40,
61  NT_RPC = 0x80
62 };
63 
65 enum NT_EntryFlags { NT_PERSISTENT = 0x01 };
66 
69  NT_LOG_CRITICAL = 50,
70  NT_LOG_ERROR = 40,
71  NT_LOG_WARNING = 30,
72  NT_LOG_INFO = 20,
73  NT_LOG_DEBUG = 10,
74  NT_LOG_DEBUG1 = 9,
75  NT_LOG_DEBUG2 = 8,
76  NT_LOG_DEBUG3 = 7,
77  NT_LOG_DEBUG4 = 6
78 };
79 
82  NT_NOTIFY_NONE = 0,
83  NT_NOTIFY_IMMEDIATE = 0x01, /* initial listener addition */
84  NT_NOTIFY_LOCAL = 0x02, /* changed locally */
85  NT_NOTIFY_NEW = 0x04, /* newly created entry */
86  NT_NOTIFY_DELETE = 0x08, /* deleted */
87  NT_NOTIFY_UPDATE = 0x10, /* value changed */
88  NT_NOTIFY_FLAGS = 0x20 /* flags changed */
89 };
90 
93  NT_NET_MODE_NONE = 0x00, /* not running */
94  NT_NET_MODE_SERVER = 0x01, /* running in server mode */
95  NT_NET_MODE_CLIENT = 0x02, /* running in client mode */
96  NT_NET_MODE_STARTING = 0x04, /* flag for starting (either client or server) */
97  NT_NET_MODE_FAILURE = 0x08, /* flag for failure (either client or server) */
98  NT_NET_MODE_LOCAL = 0x10, /* running in local-only mode */
99 };
100 
101 /*
102  * Structures
103  */
104 
106 struct NT_String {
113  char* str;
114 
119  size_t len;
120 };
121 
123 struct NT_Value {
124  enum NT_Type type;
125  uint64_t last_change;
126  union {
127  NT_Bool v_boolean;
128  double v_double;
129  struct NT_String v_string;
130  struct NT_String v_raw;
131  struct {
132  NT_Bool* arr;
133  size_t size;
134  } arr_boolean;
135  struct {
136  double* arr;
137  size_t size;
138  } arr_double;
139  struct {
140  struct NT_String* arr;
141  size_t size;
142  } arr_string;
143  } data;
144 };
145 
147 struct NT_EntryInfo {
149  NT_Entry entry;
150 
152  struct NT_String name;
153 
155  enum NT_Type type;
156 
158  unsigned int flags;
159 
161  uint64_t last_change;
162 };
163 
171 
174 
176  unsigned int remote_port;
177 
182  uint64_t last_update;
183 
188  unsigned int protocol_version;
189 };
190 
193  struct NT_String name;
194  struct NT_Value def_value;
195 };
196 
199  struct NT_String name;
200  enum NT_Type type;
201 };
202 
205  unsigned int version;
206  struct NT_String name;
207  size_t num_params;
208  struct NT_RpcParamDef* params;
209  size_t num_results;
210  struct NT_RpcResultDef* results;
211 };
212 
214 struct NT_RpcAnswer {
215  NT_Entry entry;
216  NT_RpcCall call;
217  struct NT_String name;
218  struct NT_String params;
219  struct NT_ConnectionInfo conn;
220 };
221 
225  NT_EntryListener listener;
226 
228  NT_Entry entry;
229 
231  struct NT_String name;
232 
234  struct NT_Value value;
235 
240  unsigned int flags;
241 };
242 
246  NT_ConnectionListener listener;
247 
250 
253 };
254 
258  NT_Logger logger;
259 
261  unsigned int level;
262 
264  const char* filename;
265 
267  unsigned int line;
268 
270  char* message;
271 };
272 
284 NT_Inst NT_GetDefaultInstance(void);
285 
291 NT_Inst NT_CreateInstance(void);
292 
299 void NT_DestroyInstance(NT_Inst inst);
300 
307 NT_Inst NT_GetInstanceFromHandle(NT_Handle handle);
308 
324 NT_Entry NT_GetEntry(NT_Inst inst, const char* name, size_t name_len);
325 
340 NT_Entry* NT_GetEntries(NT_Inst inst, const char* prefix, size_t prefix_len,
341  unsigned int types, size_t* count);
342 
351 char* NT_GetEntryName(NT_Entry entry, size_t* name_len);
352 
359 enum NT_Type NT_GetEntryType(NT_Entry entry);
360 
368 uint64_t NT_GetEntryLastChange(NT_Entry entry);
369 
383 void NT_GetEntryValue(NT_Entry entry, struct NT_Value* value);
384 
396 NT_Bool NT_SetDefaultEntryValue(NT_Entry entry,
397  const struct NT_Value* default_value);
398 
409 NT_Bool NT_SetEntryValue(NT_Entry entry, const struct NT_Value* value);
410 
424 void NT_SetEntryTypeValue(NT_Entry entry, const struct NT_Value* value);
425 
432 void NT_SetEntryFlags(NT_Entry entry, unsigned int flags);
433 
440 unsigned int NT_GetEntryFlags(NT_Entry entry);
441 
455 void NT_DeleteEntry(NT_Entry entry);
456 
470 void NT_DeleteAllEntries(NT_Inst inst);
471 
489 struct NT_EntryInfo* NT_GetEntryInfo(NT_Inst inst, const char* prefix,
490  size_t prefix_len, unsigned int types,
491  size_t* count);
492 
503 NT_Bool NT_GetEntryInfoHandle(NT_Entry entry, struct NT_EntryInfo* info);
504 
519 typedef void (*NT_EntryListenerCallback)(
520  void* data, const struct NT_EntryNotification* event);
521 
533 NT_EntryListener NT_AddEntryListener(NT_Inst inst, const char* prefix,
534  size_t prefix_len, void* data,
535  NT_EntryListenerCallback callback,
536  unsigned int flags);
537 
547 NT_EntryListener NT_AddEntryListenerSingle(NT_Entry entry, void* data,
548  NT_EntryListenerCallback callback,
549  unsigned int flags);
550 
562 NT_EntryListenerPoller NT_CreateEntryListenerPoller(NT_Inst inst);
563 
570 void NT_DestroyEntryListenerPoller(NT_EntryListenerPoller poller);
571 
581 NT_EntryListener NT_AddPolledEntryListener(NT_EntryListenerPoller poller,
582  const char* prefix,
583  size_t prefix_len,
584  unsigned int flags);
585 
595 NT_EntryListener NT_AddPolledEntryListenerSingle(NT_EntryListenerPoller poller,
596  NT_Entry entry,
597  unsigned int flags);
598 
611 struct NT_EntryNotification* NT_PollEntryListener(NT_EntryListenerPoller poller,
612  size_t* len);
613 
629  NT_EntryListenerPoller poller, size_t* len, double timeout,
630  NT_Bool* timed_out);
631 
639 void NT_CancelPollEntryListener(NT_EntryListenerPoller poller);
640 
646 void NT_RemoveEntryListener(NT_EntryListener entry_listener);
647 
659 NT_Bool NT_WaitForEntryListenerQueue(NT_Inst inst, double timeout);
660 
676  void* data, const struct NT_ConnectionNotification* event);
677 
687 NT_ConnectionListener NT_AddConnectionListener(
688  NT_Inst inst, void* data, NT_ConnectionListenerCallback callback,
689  NT_Bool immediate_notify);
690 
702 NT_ConnectionListenerPoller NT_CreateConnectionListenerPoller(NT_Inst inst);
703 
710 void NT_DestroyConnectionListenerPoller(NT_ConnectionListenerPoller poller);
711 
719 NT_ConnectionListener NT_AddPolledConnectionListener(
720  NT_ConnectionListenerPoller poller, NT_Bool immediate_notify);
721 
735  NT_ConnectionListenerPoller poller, size_t* len);
736 
752  NT_ConnectionListenerPoller poller, size_t* len, double timeout,
753  NT_Bool* timed_out);
754 
762 void NT_CancelPollConnectionListener(NT_ConnectionListenerPoller poller);
763 
769 void NT_RemoveConnectionListener(NT_ConnectionListener conn_listener);
770 
782 NT_Bool NT_WaitForConnectionListenerQueue(NT_Inst inst, double timeout);
783 
800 typedef void (*NT_RpcCallback)(void* data, const struct NT_RpcAnswer* call);
801 
812 void NT_CreateRpc(NT_Entry entry, const char* def, size_t def_len, void* data,
813  NT_RpcCallback callback);
814 
826 NT_RpcCallPoller NT_CreateRpcCallPoller(NT_Inst inst);
827 
834 void NT_DestroyRpcCallPoller(NT_RpcCallPoller poller);
835 
847 void NT_CreatePolledRpc(NT_Entry entry, const char* def, size_t def_len,
848  NT_RpcCallPoller poller);
849 
863 struct NT_RpcAnswer* NT_PollRpc(NT_RpcCallPoller poller, size_t* len);
864 
881 struct NT_RpcAnswer* NT_PollRpcTimeout(NT_RpcCallPoller poller, size_t* len,
882  double timeout, NT_Bool* timed_out);
883 
890 void NT_CancelPollRpc(NT_RpcCallPoller poller);
891 
903 NT_Bool NT_WaitForRpcCallQueue(NT_Inst inst, double timeout);
904 
917 NT_Bool NT_PostRpcResponse(NT_Entry entry, NT_RpcCall call, const char* result,
918  size_t result_len);
919 
933 NT_RpcCall NT_CallRpc(NT_Entry entry, const char* params, size_t params_len);
934 
944 char* NT_GetRpcResult(NT_Entry entry, NT_RpcCall call, size_t* result_len);
945 
957 char* NT_GetRpcResultTimeout(NT_Entry entry, NT_RpcCall call,
958  size_t* result_len, double timeout,
959  NT_Bool* timed_out);
960 
967 void NT_CancelRpcResult(NT_Entry entry, NT_RpcCall call);
968 
976 char* NT_PackRpcDefinition(const struct NT_RpcDefinition* def,
977  size_t* packed_len);
978 
988 NT_Bool NT_UnpackRpcDefinition(const char* packed, size_t packed_len,
989  struct NT_RpcDefinition* def);
990 
999 char* NT_PackRpcValues(const struct NT_Value** values, size_t values_len,
1000  size_t* packed_len);
1001 
1011 struct NT_Value** NT_UnpackRpcValues(const char* packed, size_t packed_len,
1012  const enum NT_Type* types,
1013  size_t types_len);
1014 
1031 void NT_SetNetworkIdentity(NT_Inst inst, const char* name, size_t name_len);
1032 
1039 unsigned int NT_GetNetworkMode(NT_Inst inst);
1040 
1046 void NT_StartLocal(NT_Inst inst);
1047 
1052 void NT_StopLocal(NT_Inst inst);
1053 
1064 void NT_StartServer(NT_Inst inst, const char* persist_filename,
1065  const char* listen_address, unsigned int port);
1066 
1072 void NT_StopServer(NT_Inst inst);
1073 
1079 void NT_StartClientNone(NT_Inst inst);
1080 
1088 void NT_StartClient(NT_Inst inst, const char* server_name, unsigned int port);
1089 
1100 void NT_StartClientMulti(NT_Inst inst, size_t count, const char** server_names,
1101  const unsigned int* ports);
1102 
1110 void NT_StartClientTeam(NT_Inst inst, unsigned int team, unsigned int port);
1111 
1117 void NT_StopClient(NT_Inst inst);
1118 
1126 void NT_SetServer(NT_Inst inst, const char* server_name, unsigned int port);
1127 
1138 void NT_SetServerMulti(NT_Inst inst, size_t count, const char** server_names,
1139  const unsigned int* ports);
1140 
1149 void NT_SetServerTeam(NT_Inst inst, unsigned int team, unsigned int port);
1150 
1159 void NT_StartDSClient(NT_Inst inst, unsigned int port);
1160 
1166 void NT_StopDSClient(NT_Inst inst);
1167 
1175 void NT_SetUpdateRate(NT_Inst inst, double interval);
1176 
1190 void NT_Flush(NT_Inst inst);
1191 
1203 struct NT_ConnectionInfo* NT_GetConnections(NT_Inst inst, size_t* count);
1204 
1211 NT_Bool NT_IsConnected(NT_Inst inst);
1212 
1229 const char* NT_SavePersistent(NT_Inst inst, const char* filename);
1230 
1241 const char* NT_LoadPersistent(NT_Inst inst, const char* filename,
1242  void (*warn)(size_t line, const char* msg));
1243 
1254 const char* NT_SaveEntries(NT_Inst inst, const char* filename,
1255  const char* prefix, size_t prefix_len);
1256 
1268 const char* NT_LoadEntries(NT_Inst inst, const char* filename,
1269  const char* prefix, size_t prefix_len,
1270  void (*warn)(size_t line, const char* msg));
1271 
1284 void NT_DisposeValue(struct NT_Value* value);
1285 
1292 void NT_InitValue(struct NT_Value* value);
1293 
1299 void NT_DisposeString(struct NT_String* str);
1300 
1307 void NT_InitString(struct NT_String* str);
1308 
1315 void NT_DisposeEntryArray(NT_Entry* arr, size_t count);
1316 
1323 void NT_DisposeConnectionInfoArray(struct NT_ConnectionInfo* arr, size_t count);
1324 
1331 void NT_DisposeEntryInfoArray(struct NT_EntryInfo* arr, size_t count);
1332 
1338 void NT_DisposeEntryInfo(struct NT_EntryInfo* info);
1339 
1345 void NT_DisposeRpcDefinition(struct NT_RpcDefinition* def);
1346 
1353 void NT_DisposeRpcAnswerArray(struct NT_RpcAnswer* arr, size_t count);
1354 
1360 void NT_DisposeRpcAnswer(struct NT_RpcAnswer* answer);
1361 
1369  size_t count);
1370 
1377 
1385  struct NT_ConnectionNotification* arr, size_t count);
1386 
1393 
1400 void NT_DisposeLogMessageArray(struct NT_LogMessage* arr, size_t count);
1401 
1407 void NT_DisposeLogMessage(struct NT_LogMessage* info);
1408 
1416 uint64_t NT_Now(void);
1417 
1431 typedef void (*NT_LogFunc)(void* data, const struct NT_LogMessage* msg);
1432 
1447 NT_Logger NT_AddLogger(NT_Inst inst, void* data, NT_LogFunc func,
1448  unsigned int min_level, unsigned int max_level);
1449 
1457 NT_LoggerPoller NT_CreateLoggerPoller(NT_Inst inst);
1458 
1465 void NT_DestroyLoggerPoller(NT_LoggerPoller poller);
1466 
1477 NT_Logger NT_AddPolledLogger(NT_LoggerPoller poller, unsigned int min_level,
1478  unsigned int max_level);
1479 
1488 struct NT_LogMessage* NT_PollLogger(NT_LoggerPoller poller, size_t* len);
1489 
1502 struct NT_LogMessage* NT_PollLoggerTimeout(NT_LoggerPoller poller, size_t* len,
1503  double timeout, NT_Bool* timed_out);
1504 
1511 void NT_CancelPollLogger(NT_LoggerPoller poller);
1512 
1518 void NT_RemoveLogger(NT_Logger logger);
1519 
1531 NT_Bool NT_WaitForLoggerQueue(NT_Inst inst, double timeout);
1532 
1556 char* NT_AllocateCharArray(size_t size);
1557 
1569 NT_Bool* NT_AllocateBooleanArray(size_t size);
1570 
1582 double* NT_AllocateDoubleArray(size_t size);
1583 
1595 struct NT_String* NT_AllocateStringArray(size_t size);
1596 
1602 void NT_FreeCharArray(char* v_char);
1603 
1609 void NT_FreeDoubleArray(double* v_double);
1610 
1616 void NT_FreeBooleanArray(NT_Bool* v_boolean);
1617 
1628 void NT_FreeStringArray(struct NT_String* v_string, size_t arr_size);
1629 
1644 enum NT_Type NT_GetValueType(const struct NT_Value* value);
1645 
1655 NT_Bool NT_GetValueBoolean(const struct NT_Value* value, uint64_t* last_change,
1656  NT_Bool* v_boolean);
1657 
1667 NT_Bool NT_GetValueDouble(const struct NT_Value* value, uint64_t* last_change,
1668  double* v_double);
1669 
1684 char* NT_GetValueString(const struct NT_Value* value, uint64_t* last_change,
1685  size_t* str_len);
1686 
1701 char* NT_GetValueRaw(const struct NT_Value* value, uint64_t* last_change,
1702  size_t* raw_len);
1703 
1718 NT_Bool* NT_GetValueBooleanArray(const struct NT_Value* value,
1719  uint64_t* last_change, size_t* arr_size);
1720 
1735 double* NT_GetValueDoubleArray(const struct NT_Value* value,
1736  uint64_t* last_change, size_t* arr_size);
1737 
1754 struct NT_String* NT_GetValueStringArray(const struct NT_Value* value,
1755  uint64_t* last_change,
1756  size_t* arr_size);
1757 
1769 NT_Bool NT_GetEntryBoolean(NT_Entry entry, uint64_t* last_change,
1770  NT_Bool* v_boolean);
1771 
1783 NT_Bool NT_GetEntryDouble(NT_Entry entry, uint64_t* last_change,
1784  double* v_double);
1785 
1799 char* NT_GetEntryString(NT_Entry entry, uint64_t* last_change, size_t* str_len);
1800 
1814 char* NT_GetEntryRaw(NT_Entry entry, uint64_t* last_change, size_t* raw_len);
1815 
1829 NT_Bool* NT_GetEntryBooleanArray(NT_Entry entry, uint64_t* last_change,
1830  size_t* arr_size);
1831 
1845 double* NT_GetEntryDoubleArray(NT_Entry entry, uint64_t* last_change,
1846  size_t* arr_size);
1847 
1864 struct NT_String* NT_GetEntryStringArray(NT_Entry entry, uint64_t* last_change,
1865  size_t* arr_size);
1866 
1884 NT_Bool NT_SetDefaultEntryBoolean(NT_Entry entry, uint64_t time,
1885  NT_Bool default_boolean);
1886 
1897 NT_Bool NT_SetDefaultEntryDouble(NT_Entry entry, uint64_t time,
1898  double default_double);
1899 
1911 NT_Bool NT_SetDefaultEntryString(NT_Entry entry, uint64_t time,
1912  const char* default_value, size_t default_len);
1913 
1925 NT_Bool NT_SetDefaultEntryRaw(NT_Entry entry, uint64_t time,
1926  const char* default_value, size_t default_len);
1927 
1939 NT_Bool NT_SetDefaultEntryBooleanArray(NT_Entry entry, uint64_t time,
1940  const int* default_value,
1941  size_t default_size);
1942 
1954 NT_Bool NT_SetDefaultEntryDoubleArray(NT_Entry entry, uint64_t time,
1955  const double* default_value,
1956  size_t default_size);
1957 
1969 NT_Bool NT_SetDefaultEntryStringArray(NT_Entry entry, uint64_t time,
1970  const struct NT_String* default_value,
1971  size_t default_size);
1972 
1990 NT_Bool NT_SetEntryBoolean(NT_Entry entry, uint64_t time, NT_Bool v_boolean,
1991  NT_Bool force);
1992 
2003 NT_Bool NT_SetEntryDouble(NT_Entry entry, uint64_t time, double v_double,
2004  NT_Bool force);
2005 
2017 NT_Bool NT_SetEntryString(NT_Entry entry, uint64_t time, const char* str,
2018  size_t str_len, NT_Bool force);
2019 
2031 NT_Bool NT_SetEntryRaw(NT_Entry entry, uint64_t time, const char* raw,
2032  size_t raw_len, NT_Bool force);
2033 
2045 NT_Bool NT_SetEntryBooleanArray(NT_Entry entry, uint64_t time, const int* arr,
2046  size_t size, NT_Bool force);
2047 
2059 NT_Bool NT_SetEntryDoubleArray(NT_Entry entry, uint64_t time, const double* arr,
2060  size_t size, NT_Bool force);
2061 
2073 NT_Bool NT_SetEntryStringArray(NT_Entry entry, uint64_t time,
2074  const struct NT_String* arr, size_t size,
2075  NT_Bool force);
2076 
2081 #ifdef __cplusplus
2082 } // extern "C"
2083 #endif
2084 
2085 #endif // NTCORE_NTCORE_C_H_
NT_GetEntryString
char * NT_GetEntryString(NT_Entry entry, uint64_t *last_change, size_t *str_len)
Returns a copy of the string assigned to the entry name.
NT_RpcParamDef
NetworkTables RPC Version 1 Definition Parameter.
Definition: ntcore_c.h:192
NT_GetEntryBoolean
NT_Bool NT_GetEntryBoolean(NT_Entry entry, uint64_t *last_change, NT_Bool *v_boolean)
Returns the boolean currently assigned to the entry name.
NT_AddConnectionListener
NT_ConnectionListener NT_AddConnectionListener(NT_Inst inst, void *data, NT_ConnectionListenerCallback callback, NT_Bool immediate_notify)
Add a connection listener.
NT_AddLogger
NT_Logger NT_AddLogger(NT_Inst inst, void *data, NT_LogFunc func, unsigned int min_level, unsigned int max_level)
Add logger callback function.
NT_AllocateCharArray
char * NT_AllocateCharArray(size_t size)
Allocates an array of chars.
NT_Bool
int NT_Bool
Typedefs.
Definition: ntcore_c.h:34
NT_String::str
char * str
String contents (UTF-8).
Definition: ntcore_c.h:113
NT_SetDefaultEntryBoolean
NT_Bool NT_SetDefaultEntryBoolean(NT_Entry entry, uint64_t time, NT_Bool default_boolean)
Set Default Entry Boolean.
NT_ConnectionNotification
NetworkTables Connection Notification.
Definition: ntcore_c.h:244
NT_EntryNotification::listener
NT_EntryListener listener
Listener that was triggered.
Definition: ntcore_c.h:225
NT_DeleteEntry
void NT_DeleteEntry(NT_Entry entry)
Delete Entry.
NT_DestroyRpcCallPoller
void NT_DestroyRpcCallPoller(NT_RpcCallPoller poller)
Destroy a RPC call poller.
NT_GetEntryInfo
struct NT_EntryInfo * NT_GetEntryInfo(NT_Inst inst, const char *prefix, size_t prefix_len, unsigned int types, size_t *count)
Get Entry Information.
NT_LogMessage::filename
const char * filename
The filename of the source file that generated the message.
Definition: ntcore_c.h:264
NT_PollEntryListener
struct NT_EntryNotification * NT_PollEntryListener(NT_EntryListenerPoller poller, size_t *len)
Get the next entry listener event.
NT_Flush
void NT_Flush(NT_Inst inst)
Flush Entries.
NT_EntryInfo::flags
unsigned int flags
Entry flags.
Definition: ntcore_c.h:158
NT_DisposeEntryArray
void NT_DisposeEntryArray(NT_Entry *arr, size_t count)
Disposes an entry handle array.
NT_PollLoggerTimeout
struct NT_LogMessage * NT_PollLoggerTimeout(NT_LoggerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next log event.
NT_AddEntryListenerSingle
NT_EntryListener NT_AddEntryListenerSingle(NT_Entry entry, void *data, NT_EntryListenerCallback callback, unsigned int flags)
Add a listener for a single entry.
NT_WaitForEntryListenerQueue
NT_Bool NT_WaitForEntryListenerQueue(NT_Inst inst, double timeout)
Wait for the entry listener queue to be empty.
NT_GetValueDoubleArray
double * NT_GetValueDoubleArray(const struct NT_Value *value, uint64_t *last_change, size_t *arr_size)
Returns a copy of the double array from the NT_Value.
NT_AddPolledLogger
NT_Logger NT_AddPolledLogger(NT_LoggerPoller poller, unsigned int min_level, unsigned int max_level)
Set the log level for a log poller.
NT_PollConnectionListener
struct NT_ConnectionNotification * NT_PollConnectionListener(NT_ConnectionListenerPoller poller, size_t *len)
Get the next connection event.
NT_EntryNotification::value
struct NT_Value value
The new value.
Definition: ntcore_c.h:234
NT_RpcDefinition
NetworkTables RPC Version 1 Definition.
Definition: ntcore_c.h:204
NT_EntryListenerCallback
void(* NT_EntryListenerCallback)(void *data, const struct NT_EntryNotification *event)
Entry listener callback function.
Definition: ntcore_c.h:519
NT_GetEntryRaw
char * NT_GetEntryRaw(NT_Entry entry, uint64_t *last_change, size_t *raw_len)
Returns a copy of the raw value assigned to the entry name.
NT_FreeDoubleArray
void NT_FreeDoubleArray(double *v_double)
Frees an array of doubles.
NT_SetEntryBoolean
NT_Bool NT_SetEntryBoolean(NT_Entry entry, uint64_t time, NT_Bool v_boolean, NT_Bool force)
Set Entry Boolean Sets an entry boolean.
NT_GetConnections
struct NT_ConnectionInfo * NT_GetConnections(NT_Inst inst, size_t *count)
Get information on the currently established network connections.
NT_GetValueType
enum NT_Type NT_GetValueType(const struct NT_Value *value)
Returns the type of an NT_Value struct.
NT_SavePersistent
const char * NT_SavePersistent(NT_Inst inst, const char *filename)
Save persistent values to a file.
NT_ConnectionInfo
NetworkTables Connection Information.
Definition: ntcore_c.h:165
NT_GetEntryValue
void NT_GetEntryValue(NT_Entry entry, struct NT_Value *value)
Get Entry Value.
NT_SetEntryDoubleArray
NT_Bool NT_SetEntryDoubleArray(NT_Entry entry, uint64_t time, const double *arr, size_t size, NT_Bool force)
Set Entry Double Array Sets an entry double array.
NT_StartLocal
void NT_StartLocal(NT_Inst inst)
Starts local-only operation.
NT_LogMessage::level
unsigned int level
Log level of the message.
Definition: ntcore_c.h:261
NT_SetDefaultEntryValue
NT_Bool NT_SetDefaultEntryValue(NT_Entry entry, const struct NT_Value *default_value)
Set Default Entry Value.
NT_PollEntryListenerTimeout
struct NT_EntryNotification * NT_PollEntryListenerTimeout(NT_EntryListenerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next entry listener event.
NT_CallRpc
NT_RpcCall NT_CallRpc(NT_Entry entry, const char *params, size_t params_len)
Call a RPC function.
NT_DisposeRpcAnswerArray
void NT_DisposeRpcAnswerArray(struct NT_RpcAnswer *arr, size_t count)
Disposes a Rpc Answer array.
NT_DisposeEntryNotification
void NT_DisposeEntryNotification(struct NT_EntryNotification *info)
Disposes a single entry notification.
NT_FreeCharArray
void NT_FreeCharArray(char *v_char)
Frees an array of chars.
NT_GetValueDouble
NT_Bool NT_GetValueDouble(const struct NT_Value *value, uint64_t *last_change, double *v_double)
Returns the double from the NT_Value.
NT_SetEntryString
NT_Bool NT_SetEntryString(NT_Entry entry, uint64_t time, const char *str, size_t str_len, NT_Bool force)
Set Entry String Sets an entry string.
NT_SetEntryStringArray
NT_Bool NT_SetEntryStringArray(NT_Entry entry, uint64_t time, const struct NT_String *arr, size_t size, NT_Bool force)
Set Entry String Array Sets an entry string array.
NT_StopClient
void NT_StopClient(NT_Inst inst)
Stops the client if it is running.
NT_UnpackRpcValues
struct NT_Value ** NT_UnpackRpcValues(const char *packed, size_t packed_len, const enum NT_Type *types, size_t types_len)
Unpack RPC values as required for RPC version 1 definition messages.
NT_LoadPersistent
const char * NT_LoadPersistent(NT_Inst inst, const char *filename, void(*warn)(size_t line, const char *msg))
Load persistent values from a file.
NT_LoadEntries
const char * NT_LoadEntries(NT_Inst inst, const char *filename, const char *prefix, size_t prefix_len, void(*warn)(size_t line, const char *msg))
Load table values from a file.
NT_CreateEntryListenerPoller
NT_EntryListenerPoller NT_CreateEntryListenerPoller(NT_Inst inst)
Create a entry listener poller.
NT_ConnectionInfo::remote_ip
struct NT_String remote_ip
The IP address of the remote node.
Definition: ntcore_c.h:173
NT_DisposeConnectionNotificationArray
void NT_DisposeConnectionNotificationArray(struct NT_ConnectionNotification *arr, size_t count)
Disposes a connection notification array.
NT_SetUpdateRate
void NT_SetUpdateRate(NT_Inst inst, double interval)
Set the periodic update rate.
NT_SetEntryFlags
void NT_SetEntryFlags(NT_Entry entry, unsigned int flags)
Set Entry Flags.
NT_Value
NetworkTables Entry Value.
Definition: ntcore_c.h:123
NT_DestroyLoggerPoller
void NT_DestroyLoggerPoller(NT_LoggerPoller poller)
Destroy a log poller.
NT_GetEntryType
enum NT_Type NT_GetEntryType(NT_Entry entry)
Gets the type for the specified key, or unassigned if non existent.
NT_StopDSClient
void NT_StopDSClient(NT_Inst inst)
Stops requesting server address from Driver Station.
NT_RemoveConnectionListener
void NT_RemoveConnectionListener(NT_ConnectionListener conn_listener)
Remove a connection listener.
NT_RpcCallback
void(* NT_RpcCallback)(void *data, const struct NT_RpcAnswer *call)
Remote Procedure Call (RPC) callback function.
Definition: ntcore_c.h:800
NT_StartClientTeam
void NT_StartClientTeam(NT_Inst inst, unsigned int team, unsigned int port)
Starts a client using commonly known robot addresses for the specified team.
NT_EntryInfo::type
enum NT_Type type
Entry type.
Definition: ntcore_c.h:155
NT_LogMessage::message
char * message
The message.
Definition: ntcore_c.h:270
NT_SetDefaultEntryRaw
NT_Bool NT_SetDefaultEntryRaw(NT_Entry entry, uint64_t time, const char *default_value, size_t default_len)
Set Default Entry Raw.
NT_SetDefaultEntryString
NT_Bool NT_SetDefaultEntryString(NT_Entry entry, uint64_t time, const char *default_value, size_t default_len)
Set Default Entry String.
NT_SetServer
void NT_SetServer(NT_Inst inst, const char *server_name, unsigned int port)
Sets server address and port for client (without restarting client).
NT_GetEntryLastChange
uint64_t NT_GetEntryLastChange(NT_Entry entry)
Gets the last time the entry was changed.
NT_ConnectionListenerCallback
void(* NT_ConnectionListenerCallback)(void *data, const struct NT_ConnectionNotification *event)
Connection listener callback function.
Definition: ntcore_c.h:675
NT_DisposeConnectionNotification
void NT_DisposeConnectionNotification(struct NT_ConnectionNotification *info)
Disposes a single connection notification.
NT_EntryInfo::entry
NT_Entry entry
Entry handle.
Definition: ntcore_c.h:149
NT_DisposeLogMessageArray
void NT_DisposeLogMessageArray(struct NT_LogMessage *arr, size_t count)
Disposes a log message array.
NT_EntryFlags
NT_EntryFlags
NetworkTables entry flags.
Definition: ntcore_c.h:65
NT_CreateRpc
void NT_CreateRpc(NT_Entry entry, const char *def, size_t def_len, void *data, NT_RpcCallback callback)
Create a callback-based RPC entry point.
NT_AddPolledConnectionListener
NT_ConnectionListener NT_AddPolledConnectionListener(NT_ConnectionListenerPoller poller, NT_Bool immediate_notify)
Create a polled connection listener.
NT_LogMessage::logger
NT_Logger logger
The logger that generated the message.
Definition: ntcore_c.h:258
NT_NetworkMode
NT_NetworkMode
Client/server modes.
Definition: ntcore_c.h:92
NT_LogMessage
NetworkTables log message.
Definition: ntcore_c.h:256
NT_SetDefaultEntryStringArray
NT_Bool NT_SetDefaultEntryStringArray(NT_Entry entry, uint64_t time, const struct NT_String *default_value, size_t default_size)
Set Default Entry String Array.
NT_WaitForRpcCallQueue
NT_Bool NT_WaitForRpcCallQueue(NT_Inst inst, double timeout)
Wait for the incoming RPC call queue to be empty.
NT_StartDSClient
void NT_StartDSClient(NT_Inst inst, unsigned int port)
Starts requesting server address from Driver Station.
NT_GetValueBoolean
NT_Bool NT_GetValueBoolean(const struct NT_Value *value, uint64_t *last_change, NT_Bool *v_boolean)
Returns the boolean from the NT_Value.
NT_StartServer
void NT_StartServer(NT_Inst inst, const char *persist_filename, const char *listen_address, unsigned int port)
Starts a server using the specified filename, listening address, and port.
NT_DisposeLogMessage
void NT_DisposeLogMessage(struct NT_LogMessage *info)
Disposes a single log message.
NT_AddEntryListener
NT_EntryListener NT_AddEntryListener(NT_Inst inst, const char *prefix, size_t prefix_len, void *data, NT_EntryListenerCallback callback, unsigned int flags)
Add a listener for all entries starting with a certain prefix.
NT_EntryNotification::flags
unsigned int flags
Update flags.
Definition: ntcore_c.h:240
NT_PollRpcTimeout
struct NT_RpcAnswer * NT_PollRpcTimeout(NT_RpcCallPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next incoming RPC call.
NT_EntryNotification::entry
NT_Entry entry
Entry handle.
Definition: ntcore_c.h:228
NT_AllocateStringArray
struct NT_String * NT_AllocateStringArray(size_t size)
Allocates an array of NT_Strings.
NT_GetValueStringArray
struct NT_String * NT_GetValueStringArray(const struct NT_Value *value, uint64_t *last_change, size_t *arr_size)
Returns a copy of the NT_String array from the NT_Value.
NT_SetDefaultEntryBooleanArray
NT_Bool NT_SetDefaultEntryBooleanArray(NT_Entry entry, uint64_t time, const int *default_value, size_t default_size)
Set Default Entry Boolean Array.
NT_GetRpcResultTimeout
char * NT_GetRpcResultTimeout(NT_Entry entry, NT_RpcCall call, size_t *result_len, double timeout, NT_Bool *timed_out)
Get the result (return value) of a RPC call.
NT_SetEntryValue
NT_Bool NT_SetEntryValue(NT_Entry entry, const struct NT_Value *value)
Set Entry Value.
NT_GetRpcResult
char * NT_GetRpcResult(NT_Entry entry, NT_RpcCall call, size_t *result_len)
Get the result (return value) of a RPC call.
NT_LogFunc
void(* NT_LogFunc)(void *data, const struct NT_LogMessage *msg)
Log function.
Definition: ntcore_c.h:1431
NT_SetEntryRaw
NT_Bool NT_SetEntryRaw(NT_Entry entry, uint64_t time, const char *raw, size_t raw_len, NT_Bool force)
Set Entry Raw Sets the raw value of an entry.
NT_CancelPollConnectionListener
void NT_CancelPollConnectionListener(NT_ConnectionListenerPoller poller)
Cancel a PollConnectionListener call.
NT_ConnectionNotification::listener
NT_ConnectionListener listener
Listener that was triggered.
Definition: ntcore_c.h:246
NT_DestroyConnectionListenerPoller
void NT_DestroyConnectionListenerPoller(NT_ConnectionListenerPoller poller)
Destroy a connection listener poller.
NT_PollConnectionListenerTimeout
struct NT_ConnectionNotification * NT_PollConnectionListenerTimeout(NT_ConnectionListenerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next connection event.
NT_GetEntryBooleanArray
NT_Bool * NT_GetEntryBooleanArray(NT_Entry entry, uint64_t *last_change, size_t *arr_size)
Returns a copy of the boolean array assigned to the entry name.
NT_GetValueBooleanArray
NT_Bool * NT_GetValueBooleanArray(const struct NT_Value *value, uint64_t *last_change, size_t *arr_size)
Returns a copy of the boolean array from the NT_Value.
NT_InitString
void NT_InitString(struct NT_String *str)
Initializes a NT_String.
NT_UnpackRpcDefinition
NT_Bool NT_UnpackRpcDefinition(const char *packed, size_t packed_len, struct NT_RpcDefinition *def)
Unpack a RPC version 1 definition.
NT_GetValueString
char * NT_GetValueString(const struct NT_Value *value, uint64_t *last_change, size_t *str_len)
Returns a copy of the string from the NT_Value.
NT_LogMessage::line
unsigned int line
The line number in the source file that generated the message.
Definition: ntcore_c.h:267
NT_GetEntryInfoHandle
NT_Bool NT_GetEntryInfoHandle(NT_Entry entry, struct NT_EntryInfo *info)
Get Entry Information.
NT_CreateLoggerPoller
NT_LoggerPoller NT_CreateLoggerPoller(NT_Inst inst)
Create a log poller.
NT_DisposeEntryInfo
void NT_DisposeEntryInfo(struct NT_EntryInfo *info)
Disposes a single entry info (as returned by NT_GetEntryInfoHandle).
NT_WaitForLoggerQueue
NT_Bool NT_WaitForLoggerQueue(NT_Inst inst, double timeout)
Wait for the incoming log event queue to be empty.
NT_GetEntry
NT_Entry NT_GetEntry(NT_Inst inst, const char *name, size_t name_len)
Get Entry Handle.
NT_StopServer
void NT_StopServer(NT_Inst inst)
Stops the server if it is running.
NT_CancelRpcResult
void NT_CancelRpcResult(NT_Entry entry, NT_RpcCall call)
Ignore the result of a RPC call.
NT_SetEntryBooleanArray
NT_Bool NT_SetEntryBooleanArray(NT_Entry entry, uint64_t time, const int *arr, size_t size, NT_Bool force)
Set Entry Boolean Array Sets an entry boolean array.
NT_SetServerTeam
void NT_SetServerTeam(NT_Inst inst, unsigned int team, unsigned int port)
Sets server addresses and port for client (without restarting client).
NT_DisposeRpcAnswer
void NT_DisposeRpcAnswer(struct NT_RpcAnswer *answer)
Disposes a Rpc Answer structure.
NT_PackRpcDefinition
char * NT_PackRpcDefinition(const struct NT_RpcDefinition *def, size_t *packed_len)
Pack a RPC version 1 definition.
NT_DisposeRpcDefinition
void NT_DisposeRpcDefinition(struct NT_RpcDefinition *def)
Disposes a Rpc Definition structure.
NT_AllocateBooleanArray
NT_Bool * NT_AllocateBooleanArray(size_t size)
Allocates an array of booleans.
NT_String
A NetworkTables string.
Definition: ntcore_c.h:106
NT_GetDefaultInstance
NT_Inst NT_GetDefaultInstance(void)
Get default instance.
NT_GetNetworkMode
unsigned int NT_GetNetworkMode(NT_Inst inst)
Get the current network mode.
NT_SetDefaultEntryDoubleArray
NT_Bool NT_SetDefaultEntryDoubleArray(NT_Entry entry, uint64_t time, const double *default_value, size_t default_size)
Set Default Entry Double Array.
NT_EntryNotification::name
struct NT_String name
Entry name.
Definition: ntcore_c.h:231
NT_PollRpc
struct NT_RpcAnswer * NT_PollRpc(NT_RpcCallPoller poller, size_t *len)
Get the next incoming RPC call.
NT_PostRpcResponse
NT_Bool NT_PostRpcResponse(NT_Entry entry, NT_RpcCall call, const char *result, size_t result_len)
Post RPC response (return value) for a polled RPC.
NT_EntryInfo
NetworkTables Entry Information.
Definition: ntcore_c.h:147
NT_CancelPollEntryListener
void NT_CancelPollEntryListener(NT_EntryListenerPoller poller)
Cancel a PollEntryListener call.
NT_AddPolledEntryListenerSingle
NT_EntryListener NT_AddPolledEntryListenerSingle(NT_EntryListenerPoller poller, NT_Entry entry, unsigned int flags)
Create a polled entry listener.
NT_GetValueRaw
char * NT_GetValueRaw(const struct NT_Value *value, uint64_t *last_change, size_t *raw_len)
Returns a copy of the raw value from the NT_Value.
NT_DisposeValue
void NT_DisposeValue(struct NT_Value *value)
Frees value memory.
NT_InitValue
void NT_InitValue(struct NT_Value *value)
Initializes a NT_Value.
NT_RemoveLogger
void NT_RemoveLogger(NT_Logger logger)
Remove a logger.
NT_SaveEntries
const char * NT_SaveEntries(NT_Inst inst, const char *filename, const char *prefix, size_t prefix_len)
Save table values to a file.
NT_StartClientNone
void NT_StartClientNone(NT_Inst inst)
Starts a client.
NT_PackRpcValues
char * NT_PackRpcValues(const struct NT_Value **values, size_t values_len, size_t *packed_len)
Pack RPC values as required for RPC version 1 definition messages.
NT_AllocateDoubleArray
double * NT_AllocateDoubleArray(size_t size)
Allocates an array of doubles.
NT_FreeStringArray
void NT_FreeStringArray(struct NT_String *v_string, size_t arr_size)
Frees an array of NT_Strings.
NT_CreateInstance
NT_Inst NT_CreateInstance(void)
Create an instance.
NT_GetEntries
NT_Entry * NT_GetEntries(NT_Inst inst, const char *prefix, size_t prefix_len, unsigned int types, size_t *count)
Get Entry Handles.
NT_SetNetworkIdentity
void NT_SetNetworkIdentity(NT_Inst inst, const char *name, size_t name_len)
Set the network identity of this node.
NT_CancelPollLogger
void NT_CancelPollLogger(NT_LoggerPoller poller)
Cancel a PollLogger call.
NT_StartClientMulti
void NT_StartClientMulti(NT_Inst inst, size_t count, const char **server_names, const unsigned int *ports)
Starts a client using the specified (server, port) combinations.
NT_DisposeString
void NT_DisposeString(struct NT_String *str)
Frees string memory.
NT_DestroyEntryListenerPoller
void NT_DestroyEntryListenerPoller(NT_EntryListenerPoller poller)
Destroy a entry listener poller.
NT_ConnectionInfo::last_update
uint64_t last_update
The last time any update was received from the remote node (same scale as returned by nt::Now()).
Definition: ntcore_c.h:182
NT_CreateRpcCallPoller
NT_RpcCallPoller NT_CreateRpcCallPoller(NT_Inst inst)
Create a RPC call poller.
NT_PollLogger
struct NT_LogMessage * NT_PollLogger(NT_LoggerPoller poller, size_t *len)
Get the next log event.
NT_StopLocal
void NT_StopLocal(NT_Inst inst)
Stops local-only operation.
NT_RpcResultDef
NetworkTables RPC Version 1 Definition Result.
Definition: ntcore_c.h:198
NT_Type
NT_Type
NetworkTables data types.
Definition: ntcore_c.h:52
NT_NotifyKind
NT_NotifyKind
NetworkTables notifier kinds.
Definition: ntcore_c.h:81
NT_Now
uint64_t NT_Now(void)
Returns monotonic current time in 1 us increments.
NT_GetEntryStringArray
struct NT_String * NT_GetEntryStringArray(NT_Entry entry, uint64_t *last_change, size_t *arr_size)
Returns a copy of the NT_String array assigned to the entry name.
NT_ConnectionNotification::conn
struct NT_ConnectionInfo conn
Connection info.
Definition: ntcore_c.h:252
NT_ConnectionNotification::connected
NT_Bool connected
True if event is due to connection being established.
Definition: ntcore_c.h:249
NT_SetEntryDouble
NT_Bool NT_SetEntryDouble(NT_Entry entry, uint64_t time, double v_double, NT_Bool force)
Set Entry Double Sets an entry double.
NT_SetDefaultEntryDouble
NT_Bool NT_SetDefaultEntryDouble(NT_Entry entry, uint64_t time, double default_double)
Set Default Entry Double.
NT_DisposeConnectionInfoArray
void NT_DisposeConnectionInfoArray(struct NT_ConnectionInfo *arr, size_t count)
Disposes a connection info array.
NT_GetEntryDoubleArray
double * NT_GetEntryDoubleArray(NT_Entry entry, uint64_t *last_change, size_t *arr_size)
Returns a copy of the double array assigned to the entry name.
NT_GetEntryName
char * NT_GetEntryName(NT_Entry entry, size_t *name_len)
Gets the name of the specified entry.
NT_ConnectionInfo::remote_id
struct NT_String remote_id
The remote identifier (as set on the remote node by NetworkTableInstance::SetNetworkIdentity() or nt:...
Definition: ntcore_c.h:170
NT_LogLevel
NT_LogLevel
NetworkTables logging levels.
Definition: ntcore_c.h:68
NT_GetInstanceFromHandle
NT_Inst NT_GetInstanceFromHandle(NT_Handle handle)
Get instance handle from another handle.
NT_DeleteAllEntries
void NT_DeleteAllEntries(NT_Inst inst)
Delete All Entries.
NT_RemoveEntryListener
void NT_RemoveEntryListener(NT_EntryListener entry_listener)
Remove an entry listener.
NT_EntryNotification
NetworkTables Entry Notification.
Definition: ntcore_c.h:223
NT_FreeBooleanArray
void NT_FreeBooleanArray(NT_Bool *v_boolean)
Frees an array of booleans.
NT_String::len
size_t len
Length of the string in bytes.
Definition: ntcore_c.h:119
NT_SetServerMulti
void NT_SetServerMulti(NT_Inst inst, size_t count, const char **server_names, const unsigned int *ports)
Sets server addresses for client (without restarting client).
NT_IsConnected
NT_Bool NT_IsConnected(NT_Inst inst)
Return whether or not the instance is connected to another node.
NT_CancelPollRpc
void NT_CancelPollRpc(NT_RpcCallPoller poller)
Cancel a PollRpc call.
NT_StartClient
void NT_StartClient(NT_Inst inst, const char *server_name, unsigned int port)
Starts a client using the specified server and port.
NT_WaitForConnectionListenerQueue
NT_Bool NT_WaitForConnectionListenerQueue(NT_Inst inst, double timeout)
Wait for the connection listener queue to be empty.
NT_DisposeEntryNotificationArray
void NT_DisposeEntryNotificationArray(struct NT_EntryNotification *arr, size_t count)
Disposes an entry notification array.
NT_CreateConnectionListenerPoller
NT_ConnectionListenerPoller NT_CreateConnectionListenerPoller(NT_Inst inst)
Create a connection listener poller.
NT_DestroyInstance
void NT_DestroyInstance(NT_Inst inst)
Destroy an instance.
NT_RpcAnswer
NetworkTables RPC Call Data.
Definition: ntcore_c.h:214
NT_ConnectionInfo::protocol_version
unsigned int protocol_version
The protocol version being used for this connection.
Definition: ntcore_c.h:188
NT_GetEntryFlags
unsigned int NT_GetEntryFlags(NT_Entry entry)
Get Entry Flags.
NT_CreatePolledRpc
void NT_CreatePolledRpc(NT_Entry entry, const char *def, size_t def_len, NT_RpcCallPoller poller)
Create a polled RPC entry point.
NT_AddPolledEntryListener
NT_EntryListener NT_AddPolledEntryListener(NT_EntryListenerPoller poller, const char *prefix, size_t prefix_len, unsigned int flags)
Create a polled entry listener.
NT_ConnectionInfo::remote_port
unsigned int remote_port
The port number of the remote node.
Definition: ntcore_c.h:176
NT_GetEntryDouble
NT_Bool NT_GetEntryDouble(NT_Entry entry, uint64_t *last_change, double *v_double)
Returns the double currently assigned to the entry name.
NT_EntryInfo::name
struct NT_String name
Entry name.
Definition: ntcore_c.h:152
NT_SetEntryTypeValue
void NT_SetEntryTypeValue(NT_Entry entry, const struct NT_Value *value)
Set Entry Type and Value.
NT_EntryInfo::last_change
uint64_t last_change
Timestamp of last change to entry (type or value).
Definition: ntcore_c.h:161
NT_DisposeEntryInfoArray
void NT_DisposeEntryInfoArray(struct NT_EntryInfo *arr, size_t count)
Disposes an entry info array.