8 #ifndef NTCORE_NTCORE_C_H_ 9 #define NTCORE_NTCORE_C_H_ 19 #include <wpi/deprecated.h> 28 typedef unsigned int NT_Handle;
29 typedef NT_Handle NT_ConnectionListener;
30 typedef NT_Handle NT_ConnectionListenerPoller;
31 typedef NT_Handle NT_Entry;
32 typedef NT_Handle NT_EntryListener;
33 typedef NT_Handle NT_EntryListenerPoller;
34 typedef NT_Handle NT_Inst;
35 typedef NT_Handle NT_Logger;
36 typedef NT_Handle NT_LoggerPoller;
37 typedef NT_Handle NT_RpcCall;
38 typedef NT_Handle NT_RpcCallPoller;
41 #define NT_DEFAULT_PORT 1735 50 NT_BOOLEAN_ARRAY = 0x10,
51 NT_DOUBLE_ARRAY = 0x20,
52 NT_STRING_ARRAY = 0x40,
57 enum NT_EntryFlags { NT_PERSISTENT = 0x01 };
75 NT_NOTIFY_IMMEDIATE = 0x01,
76 NT_NOTIFY_LOCAL = 0x02,
78 NT_NOTIFY_DELETE = 0x08,
79 NT_NOTIFY_UPDATE = 0x10,
80 NT_NOTIFY_FLAGS = 0x20
85 NT_NET_MODE_NONE = 0x00,
86 NT_NET_MODE_SERVER = 0x01,
87 NT_NET_MODE_CLIENT = 0x02,
88 NT_NET_MODE_STARTING = 0x04,
89 NT_NET_MODE_FAILURE = 0x08,
116 uint64_t last_change;
196 unsigned int version;
310 NT_Entry
NT_GetEntry(NT_Inst inst,
const char* name,
size_t name_len);
325 NT_Entry*
NT_GetEntries(NT_Inst inst,
const char* prefix,
size_t prefix_len,
326 unsigned int types,
size_t* count);
377 const struct NT_Value* default_value);
463 size_t prefix_len,
unsigned int types,
506 size_t prefix_len,
void* data,
593 NT_EntryListenerPoller poller,
size_t*
len,
double timeout,
650 NT_Bool immediate_notify);
678 NT_ConnectionListenerPoller poller, NT_Bool immediate_notify);
692 NT_ConnectionListenerPoller poller,
size_t*
len);
708 NT_ConnectionListenerPoller poller,
size_t*
len,
double timeout,
762 void NT_CreateRpc(NT_Entry entry,
const char* def,
size_t def_len,
void* data,
793 NT_RpcCallPoller poller);
825 double timeout, NT_Bool* timed_out);
870 NT_RpcCall
NT_CallRpc(NT_Entry entry,
const char* params,
size_t params_len);
880 char*
NT_GetRpcResult(NT_Entry entry, NT_RpcCall call,
size_t* result_len);
893 size_t* result_len,
double timeout,
942 const enum NT_Type* types,
980 const char* listen_address,
unsigned int port);
1001 void NT_StartClient(NT_Inst inst,
const char* server_name,
unsigned int port);
1014 const unsigned int* ports);
1038 void NT_SetServer(NT_Inst inst,
const char* server_name,
unsigned int port);
1051 const unsigned int* ports);
1149 void (*warn)(
size_t line,
const char* msg));
1161 const char* prefix,
size_t prefix_len);
1174 const char* prefix,
size_t prefix_len,
1175 void (*warn)(
size_t line,
const char* msg));
1334 unsigned int min_level,
unsigned int max_level);
1361 unsigned int max_level);
1384 double timeout, NT_Bool* timed_out);
1534 NT_Bool* v_boolean);
1597 uint64_t* last_change,
size_t* arr_size);
1614 uint64_t* last_change,
size_t* arr_size);
1633 uint64_t* last_change,
1648 NT_Bool* v_boolean);
1677 char*
NT_GetEntryString(NT_Entry entry, uint64_t* last_change,
size_t* str_len);
1692 char*
NT_GetEntryRaw(NT_Entry entry, uint64_t* last_change,
size_t* raw_len);
1763 NT_Bool default_boolean);
1776 double default_double);
1790 const char* default_value,
size_t default_len);
1804 const char* default_value,
size_t default_len);
1818 const int* default_value,
1819 size_t default_size);
1833 const double* default_value,
1834 size_t default_size);
1849 size_t default_size);
1896 size_t str_len, NT_Bool force);
1909 NT_Bool
NT_SetEntryRaw(NT_Entry entry, uint64_t time,
const char* raw,
1910 size_t raw_len, NT_Bool force);
1924 size_t size, NT_Bool force);
1938 size_t size, NT_Bool force);
1952 const struct NT_String* arr,
size_t size,
1962 #endif // NTCORE_NTCORE_C_H_ void NT_DisposeConnectionNotification(struct NT_ConnectionNotification *info)
Disposes a single connection notification.
Definition: ntcore_c.cpp:759
struct NT_EntryInfo * NT_GetEntryInfo(NT_Inst inst, const char *prefix, size_t prefix_len, unsigned int types, size_t *count)
Get Entry Information.
Definition: ntcore_c.cpp:241
NT_EntryListener listener
Listener that was triggered.
Definition: ntcore_c.h:216
unsigned int protocol_version
The protocol version being used for this connection.
Definition: ntcore_c.h:179
NT_Bool NT_SetEntryBoolean(NT_Entry entry, uint64_t time, NT_Bool v_boolean, NT_Bool force)
Set Entry Boolean Sets an entry boolean.
Definition: ntcore_c.cpp:847
void NT_CancelPollConnectionListener(NT_ConnectionListenerPoller poller)
Cancel a PollConnectionListener call.
Definition: ntcore_c.cpp:376
void NT_FreeDoubleArray(double *v_double)
Frees an array of doubles.
Definition: ntcore_c.cpp:830
NT_Entry entry
Entry handle.
Definition: ntcore_c.h:140
uint64_t last_change
Timestamp of last change to entry (type or value).
Definition: ntcore_c.h:152
void(* NT_EntryListenerCallback)(void *data, const struct NT_EntryNotification *event)
Entry listener callback function.
Definition: ntcore_c.h:491
NT_Bool NT_GetEntryBoolean(NT_Entry entry, uint64_t *last_change, NT_Bool *v_boolean)
Returns the boolean currently assigned to the entry name.
Definition: ntcore_c.cpp:1056
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_RpcCall NT_CallRpc(NT_Entry entry, const char *params, size_t params_len)
Call a RPC function.
Definition: ntcore_c.cpp:439
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.
Definition: ntcore_c.cpp:259
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:173
NT_EntryListener NT_AddPolledEntryListener(NT_EntryListenerPoller poller, const char *prefix, size_t prefix_len, unsigned int flags)
Create a polled entry listener.
Definition: ntcore_c.cpp:294
NT_Entry NT_GetEntry(NT_Inst inst, const char *name, size_t name_len)
Get Entry Handle.
Definition: ntcore_c.cpp:179
NT_Logger NT_AddPolledLogger(NT_LoggerPoller poller, unsigned int min_level, unsigned int max_level)
Set the log level for a log poller.
Definition: ntcore_c.cpp:656
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.
Definition: ntcore_c.cpp:454
void NT_RemoveConnectionListener(NT_ConnectionListener conn_listener)
Remove a connection listener.
Definition: ntcore_c.cpp:380
unsigned int remote_port
The port number of the remote node.
Definition: ntcore_c.h:167
NetworkTables RPC Version 1 Definition Result.
Definition: ntcore_c.h:189
NT_Bool connected
True if event is due to connection being established.
Definition: ntcore_c.h:240
NT_Bool NT_WaitForConnectionListenerQueue(NT_Inst inst, double timeout)
Wait for the connection listener queue to be empty.
Definition: ntcore_c.cpp:384
NetworkTables Connection Information.
Definition: ntcore_c.h:156
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.
void NT_CancelPollLogger(NT_LoggerPoller poller)
Cancel a PollLogger call.
Definition: ntcore_c.cpp:674
struct NT_RpcAnswer * NT_PollRpcTimeout(NT_RpcCallPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next incoming RPC call.
Definition: ntcore_c.cpp:420
struct NT_LogMessage * NT_PollLogger(NT_LoggerPoller poller, size_t *len)
Get the next log event.
Definition: ntcore_c.cpp:661
NetworkTables Entry Value.
Definition: ntcore_c.h:114
NT_Entry entry
Entry handle.
Definition: ntcore_c.h:219
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.
Definition: ntcore_c.cpp:1074
unsigned int line
The line number in the source file that generated the message.
Definition: ntcore_c.h:258
void NT_FreeBooleanArray(NT_Bool *v_boolean)
Frees an array of booleans.
Definition: ntcore_c.cpp:831
void(* NT_ConnectionListenerCallback)(void *data, const struct NT_ConnectionNotification *event)
Connection listener callback function.
Definition: ntcore_c.h:636
NetworkTables Entry Information.
Definition: ntcore_c.h:138
NT_LoggerPoller NT_CreateLoggerPoller(NT_Inst inst)
Create a log poller.
Definition: ntcore_c.cpp:648
NetworkTables Entry Notification.
Definition: ntcore_c.h:214
NT_Bool NT_GetValueDouble(const struct NT_Value *value, uint64_t *last_change, double *v_double)
Returns the double from the NT_Value.
Definition: ntcore_c.cpp:933
void NT_SetUpdateRate(NT_Inst inst, double interval)
Set the periodic update rate.
Definition: ntcore_c.cpp:593
unsigned int NT_GetEntryFlags(NT_Entry entry)
Get Entry Flags.
Definition: ntcore_c.cpp:233
double * NT_AllocateDoubleArray(size_t size)
Allocates an array of doubles.
Definition: ntcore_c.cpp:816
NT_ConnectionListener NT_AddConnectionListener(NT_Inst inst, void *data, NT_ConnectionListenerCallback callback, NT_Bool immediate_notify)
Add a connection listener.
Definition: ntcore_c.cpp:335
void NT_DeleteEntry(NT_Entry entry)
Delete Entry.
Definition: ntcore_c.cpp:237
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.
Definition: ntcore_c.cpp:1121
void(* NT_LogFunc)(void *data, const struct NT_LogMessage *msg)
Log function.
Definition: ntcore_c.h:1317
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).
Definition: ntcore_c.cpp:574
NT_Bool NT_WaitForEntryListenerQueue(NT_Inst inst, double timeout)
Wait for the entry listener queue to be empty.
Definition: ntcore_c.cpp:331
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.
Definition: ntcore_c.cpp:987
void NT_SetServer(NT_Inst inst, const char *server_name, unsigned int port)
Sets server address and port for client (without restarting client).
Definition: ntcore_c.cpp:570
char * NT_AllocateCharArray(size_t size)
Allocates an array of chars.
Definition: ntcore_c.cpp:804
void NT_DestroyConnectionListenerPoller(NT_ConnectionListenerPoller poller)
Destroy a connection listener poller.
Definition: ntcore_c.cpp:352
struct NT_EntryNotification * NT_PollEntryListener(NT_EntryListenerPoller poller, size_t *len)
Get the next entry listener event.
Definition: ntcore_c.cpp:308
NetworkTables log message.
Definition: ntcore_c.h:247
NT_ConnectionListener NT_AddPolledConnectionListener(NT_ConnectionListenerPoller poller, NT_Bool immediate_notify)
Create a polled connection listener.
Definition: ntcore_c.cpp:356
unsigned int flags
Update flags.
Definition: ntcore_c.h:231
const char * NT_SaveEntries(NT_Inst inst, const char *filename, const char *prefix, size_t prefix_len)
Save table values to a file.
Definition: ntcore_c.cpp:619
void NT_FreeCharArray(char *v_char)
Frees an array of chars.
Definition: ntcore_c.cpp:829
void NT_FreeStringArray(struct NT_String *v_string, size_t arr_size)
Frees an array of NT_Strings.
Definition: ntcore_c.cpp:832
void NT_DestroyInstance(NT_Inst inst)
Destroy an instance.
Definition: ntcore_c.cpp:169
void NT_StartClientTeam(NT_Inst inst, unsigned int team, unsigned int port)
Starts a client using commonly known robot addresses for the specified team.
Definition: ntcore_c.cpp:564
void NT_Flush(NT_Inst inst)
Flush Entries.
Definition: ntcore_c.cpp:597
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.
Definition: ntcore_c.cpp:869
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.
Definition: ntcore_c.cpp:905
NT_Bool NT_IsConnected(NT_Inst inst)
Return whether or not the instance is connected to another node.
Definition: ntcore_c.cpp:599
NT_Bool NT_WaitForLoggerQueue(NT_Inst inst, double timeout)
Wait for the incoming log event queue to be empty.
Definition: ntcore_c.cpp:680
void NT_DisposeEntryArray(NT_Entry *arr, size_t count)
Disposes an entry handle array.
Definition: ntcore_c.cpp:730
void NT_CreatePolledRpc(NT_Entry entry, const char *def, size_t def_len, NT_RpcCallPoller poller)
Create a polled RPC entry point.
Definition: ntcore_c.cpp:410
void NT_StartDSClient(NT_Inst inst, unsigned int port)
Starts requesting server address from Driver Station.
Definition: ntcore_c.cpp:587
char * NT_PackRpcDefinition(const struct NT_RpcDefinition *def, size_t *packed_len)
Pack a RPC version 1 definition.
void NT_InitString(struct NT_String *str)
Initializes a NT_String.
Definition: ntcore_c.cpp:725
unsigned int flags
Entry flags.
Definition: ntcore_c.h:149
char * message
The message.
Definition: ntcore_c.h:261
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.
Definition: ntcore_c.cpp:1044
NetworkTables RPC Call Data.
Definition: ntcore_c.h:205
uint64_t NT_Now(void)
Returns monotonic current time in 1 us increments.
Definition: ntcore_c.cpp:634
void NT_SetEntryFlags(NT_Entry entry, unsigned int flags)
Set Entry Flags.
Definition: ntcore_c.cpp:229
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.
Definition: ntcore_c.cpp:434
NT_Logger logger
The logger that generated the message.
Definition: ntcore_c.h:249
void NT_DisposeEntryNotification(struct NT_EntryNotification *info)
Disposes a single entry notification.
Definition: ntcore_c.cpp:749
void NT_SetServerTeam(NT_Inst inst, unsigned int team, unsigned int port)
Sets server addresses and port for client (without restarting client).
Definition: ntcore_c.cpp:583
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.
Definition: ntcore_c.cpp:963
const char * NT_LoadPersistent(NT_Inst inst, const char *filename, void(*warn)(size_t line, const char *msg))
Load persistent values from a file.
Definition: ntcore_c.cpp:614
void NT_SetEntryTypeValue(NT_Entry entry, const struct NT_Value *value)
Set Entry Type and Value.
Definition: ntcore_c.cpp:225
NT_Bool NT_UnpackRpcDefinition(const char *packed, size_t packed_len, struct NT_RpcDefinition *def)
Unpack a RPC version 1 definition.
Definition: ntcore_c.cpp:486
NT_Bool * NT_AllocateBooleanArray(size_t size)
Allocates an array of booleans.
Definition: ntcore_c.cpp:810
void NT_DestroyEntryListenerPoller(NT_EntryListenerPoller poller)
Destroy a entry listener poller.
Definition: ntcore_c.cpp:290
NT_Bool NT_SetEntryDouble(NT_Entry entry, uint64_t time, double v_double, NT_Bool force)
Set Entry Double Sets an entry double.
Definition: ntcore_c.cpp:837
void NT_DisposeLogMessage(struct NT_LogMessage *info)
Disposes a single log message.
Definition: ntcore_c.cpp:768
NT_Bool NT_SetDefaultEntryDoubleArray(NT_Entry entry, uint64_t time, const double *default_value, size_t default_size)
Set Default Entry Double Array.
Definition: ntcore_c.cpp:1036
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.
Definition: ntcore_c.cpp:555
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.
Definition: ntcore_c.cpp:952
enum NT_Type NT_GetEntryType(NT_Entry entry)
Gets the type for the specified key, or unassigned if non existent.
Definition: ntcore_c.cpp:203
void NT_DisposeString(struct NT_String *str)
Frees string memory.
Definition: ntcore_c.cpp:719
NT_EntryListener NT_AddPolledEntryListenerSingle(NT_EntryListenerPoller poller, NT_Entry entry, unsigned int flags)
Create a polled entry listener.
Definition: ntcore_c.cpp:302
NT_Bool NT_SetDefaultEntryBooleanArray(NT_Entry entry, uint64_t time, const int *default_value, size_t default_size)
Set Default Entry Boolean Array.
Definition: ntcore_c.cpp:1028
void NT_StopDSClient(NT_Inst inst)
Stops requesting server address from Driver Station.
Definition: ntcore_c.cpp:591
const char * filename
The filename of the source file that generated the message.
Definition: ntcore_c.h:255
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.
Definition: ntcore_c.cpp:1108
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.
Definition: ntcore_c.cpp:880
unsigned int level
Log level of the message.
Definition: ntcore_c.h:252
void NT_InitValue(struct NT_Value *value)
Initializes a NT_Value.
Definition: ntcore_c.cpp:714
uint64_t NT_GetEntryLastChange(NT_Entry entry)
Gets the last time the entry was changed.
Definition: ntcore_c.cpp:205
void NT_StopServer(NT_Inst inst)
Stops the server if it is running.
Definition: ntcore_c.cpp:547
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.
Definition: ntcore_c.cpp:624
const char * NT_SavePersistent(NT_Inst inst, const char *filename)
Save persistent values to a file.
Definition: ntcore_c.cpp:610
NT_RpcCallPoller NT_CreateRpcCallPoller(NT_Inst inst)
Create a RPC call poller.
Definition: ntcore_c.cpp:402
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.
Definition: ntcore_c.cpp:1095
void NT_DeleteAllEntries(NT_Inst inst)
Delete All Entries.
Definition: ntcore_c.cpp:239
void NT_DisposeConnectionNotificationArray(struct NT_ConnectionNotification *arr, size_t count)
Disposes a connection notification array.
Definition: ntcore_c.cpp:753
void NT_GetEntryValue(NT_Entry entry, struct NT_Value *value)
Get Entry Value.
Definition: ntcore_c.cpp:209
NT_Bool NT_GetValueBoolean(const struct NT_Value *value, uint64_t *last_change, NT_Bool *v_boolean)
Returns the boolean from the NT_Value.
Definition: ntcore_c.cpp:925
void NT_CancelRpcResult(NT_Entry entry, NT_RpcCall call)
Ignore the result of a RPC call.
Definition: ntcore_c.cpp:472
NT_Entry * NT_GetEntries(NT_Inst inst, const char *prefix, size_t prefix_len, unsigned int types, size_t *count)
Get Entry Handles.
Definition: ntcore_c.cpp:183
NT_Bool NT_SetDefaultEntryBoolean(NT_Entry entry, uint64_t time, NT_Bool default_boolean)
Set Default Entry Boolean.
Definition: ntcore_c.cpp:1003
NT_EntryListenerPoller NT_CreateEntryListenerPoller(NT_Inst inst)
Create a entry listener poller.
Definition: ntcore_c.cpp:286
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.
Definition: ntcore_c.cpp:542
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.
Definition: ntcore_c.cpp:893
void NT_StartClientNone(NT_Inst inst)
Starts a client.
Definition: ntcore_c.cpp:549
NT_ConnectionListenerPoller NT_CreateConnectionListenerPoller(NT_Inst inst)
Create a connection listener poller.
Definition: ntcore_c.cpp:348
struct NT_ConnectionNotification * NT_PollConnectionListener(NT_ConnectionListenerPoller poller, size_t *len)
Get the next connection event.
Definition: ntcore_c.cpp:361
void NT_DisposeValue(struct NT_Value *value)
Frees value memory.
Definition: ntcore_c.cpp:684
void(* NT_RpcCallback)(void *data, const struct NT_RpcAnswer *call)
Remote Procedure Call (RPC) callback function.
Definition: ntcore_c.h:751
void NT_SetNetworkIdentity(NT_Inst inst, const char *name, size_t name_len)
Set the network identity of this node.
Definition: ntcore_c.cpp:534
void NT_StartClient(NT_Inst inst, const char *server_name, unsigned int port)
Starts a client using the specified server and port.
Definition: ntcore_c.cpp:551
NT_Inst NT_CreateInstance(void)
Create an instance.
Definition: ntcore_c.cpp:167
char * NT_GetRpcResult(NT_Entry entry, NT_RpcCall call, size_t *result_len)
Get the result (return value) of a RPC call.
Definition: ntcore_c.cpp:443
NT_Bool NT_SetEntryValue(NT_Entry entry, const struct NT_Value *value)
Set Entry Value.
Definition: ntcore_c.cpp:221
NT_Inst NT_GetInstanceFromHandle(NT_Handle handle)
Get instance handle from another handle.
Definition: ntcore_c.cpp:171
struct NT_ConnectionInfo * NT_GetConnections(NT_Inst inst, size_t *count)
Get information on the currently established network connections.
Definition: ntcore_c.cpp:601
struct NT_RpcAnswer * NT_PollRpc(NT_RpcCallPoller poller, size_t *len)
Get the next incoming RPC call.
Definition: ntcore_c.cpp:415
void NT_DisposeConnectionInfoArray(struct NT_ConnectionInfo *arr, size_t count)
Disposes a connection info array.
Definition: ntcore_c.cpp:732
void NT_DisposeEntryInfo(struct NT_EntryInfo *info)
Disposes a single entry info (as returned by NT_GetEntryInfoHandle).
Definition: ntcore_c.cpp:742
struct NT_LogMessage * NT_PollLoggerTimeout(NT_LoggerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next log event.
Definition: ntcore_c.cpp:666
void NT_DisposeEntryNotificationArray(struct NT_EntryNotification *arr, size_t count)
Disposes an entry notification array.
Definition: ntcore_c.cpp:744
void NT_DisposeEntryInfoArray(struct NT_EntryInfo *arr, size_t count)
Disposes an entry info array.
Definition: ntcore_c.cpp:737
A NetworkTables string.
Definition: ntcore_c.h:97
NT_Bool NT_WaitForRpcCallQueue(NT_Inst inst, double timeout)
Wait for the incoming RPC call queue to be empty.
Definition: ntcore_c.cpp:430
NetworkTables RPC Version 1 Definition.
Definition: ntcore_c.h:195
struct NT_EntryNotification * NT_PollEntryListenerTimeout(NT_EntryListenerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next entry listener event.
Definition: ntcore_c.cpp:314
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.
Definition: ntcore_c.cpp:392
NetworkTables RPC Version 1 Definition Parameter.
Definition: ntcore_c.h:183
NT_Bool NT_GetEntryDouble(NT_Entry entry, uint64_t *last_change, double *v_double)
Returns the double currently assigned to the entry name.
Definition: ntcore_c.cpp:1065
void NT_DestroyLoggerPoller(NT_LoggerPoller poller)
Destroy a log poller.
Definition: ntcore_c.cpp:652
NT_Bool NT_SetDefaultEntryDouble(NT_Entry entry, uint64_t time, double default_double)
Set Default Entry Double.
Definition: ntcore_c.cpp:1009
struct NT_String * NT_AllocateStringArray(size_t size)
Allocates an array of NT_Strings.
Definition: ntcore_c.cpp:823
void NT_RemoveEntryListener(NT_EntryListener entry_listener)
Remove an entry listener.
Definition: ntcore_c.cpp:327
NT_Inst NT_GetDefaultInstance(void)
Get default instance.
Definition: ntcore_c.cpp:165
NT_Bool NT_SetDefaultEntryRaw(NT_Entry entry, uint64_t time, const char *default_value, size_t default_len)
Set Default Entry Raw.
Definition: ntcore_c.cpp:1022
char * str
String contents (UTF-8).
Definition: ntcore_c.h:104
void NT_RemoveLogger(NT_Logger logger)
Remove a logger.
Definition: ntcore_c.cpp:678
size_t len
Length of the string in bytes.
Definition: ntcore_c.h:110
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.
Definition: ntcore_c.cpp:975
unsigned int NT_GetNetworkMode(NT_Inst inst)
Get the current network mode.
Definition: ntcore_c.cpp:538
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.
Definition: ntcore_c.cpp:941
NT_Bool NT_SetDefaultEntryString(NT_Entry entry, uint64_t time, const char *default_value, size_t default_len)
Set Default Entry String.
Definition: ntcore_c.cpp:1015
void NT_DisposeRpcDefinition(struct NT_RpcDefinition *def)
Disposes a Rpc Definition structure.
Definition: ntcore_c.cpp:770
void NT_CancelPollEntryListener(NT_EntryListenerPoller poller)
Cancel a PollEntryListener call.
Definition: ntcore_c.cpp:323
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.
Definition: ntcore_c.cpp:857
char * NT_GetEntryName(NT_Entry entry, size_t *name_len)
Gets the name of the specified entry.
Definition: ntcore_c.cpp:196
enum NT_Type NT_GetValueType(const struct NT_Value *value)
Returns the type of an NT_Value struct.
Definition: ntcore_c.cpp:920
void NT_StopClient(NT_Inst inst)
Stops the client if it is running.
Definition: ntcore_c.cpp:568
void NT_DisposeRpcAnswerArray(struct NT_RpcAnswer *arr, size_t count)
Disposes a Rpc Answer array.
Definition: ntcore_c.cpp:788
void NT_CancelPollRpc(NT_RpcCallPoller poller)
Cancel a PollRpc call.
Definition: ntcore_c.cpp:428
NT_EntryListener NT_AddEntryListenerSingle(NT_Entry entry, void *data, NT_EntryListenerCallback callback, unsigned int flags)
Add a listener for a single entry.
Definition: ntcore_c.cpp:273
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.
Definition: ntcore_c.cpp:1085
NT_Bool NT_GetEntryInfoHandle(NT_Entry entry, struct NT_EntryInfo *info)
Get Entry Information.
Definition: ntcore_c.cpp:248
void NT_DisposeRpcAnswer(struct NT_RpcAnswer *answer)
Disposes a Rpc Answer structure.
Definition: ntcore_c.cpp:793
NetworkTables Connection Notification.
Definition: ntcore_c.h:235
void NT_DestroyRpcCallPoller(NT_RpcCallPoller poller)
Destroy a RPC call poller.
Definition: ntcore_c.cpp:406
struct NT_ConnectionNotification * NT_PollConnectionListenerTimeout(NT_ConnectionListenerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
Get the next connection event.
Definition: ntcore_c.cpp:367
NT_ConnectionListener listener
Listener that was triggered.
Definition: ntcore_c.h:237
void NT_DisposeLogMessageArray(struct NT_LogMessage *arr, size_t count)
Disposes a log message array.
Definition: ntcore_c.cpp:763
NT_Bool NT_SetDefaultEntryValue(NT_Entry entry, const struct NT_Value *default_value)
Set Default Entry Value.
Definition: ntcore_c.cpp:216
NT_Logger NT_AddLogger(NT_Inst inst, void *data, NT_LogFunc func, unsigned int min_level, unsigned int max_level)
Add logger callback function.
Definition: ntcore_c.cpp:636