|
zCm 0.1.0
Lightweight messaging toolkit
|
Core messaging, registry, socket, and context primitives. More...
Data Structures | |
| struct | zcm_msg_value |
| Decoded standardized scalar value extracted from a message. More... | |
| struct | zcm_node_entry |
| Node listing entry returned by zcm_node_list(). More... | |
Macros | |
| #define | ZCM_OK 0 |
| Success return code. | |
| #define | ZCM_ERR (-1) |
| Generic failure return code. | |
| #define | ZCM_NODE_REGISTER_EX_DUPLICATE (-2) |
| zcm_node_register_ex() failure code when a name is already owned by another process. | |
Typedefs | |
| typedef struct zcm_context | zcm_context_t |
| Opaque process-wide context handle. | |
| typedef struct zcm_broker | zcm_broker_t |
| Opaque broker handle. | |
| typedef struct zcm_msg | zcm_msg_t |
| Opaque typed message container. | |
| typedef struct zcm_msg_value | zcm_msg_value_t |
| Decoded standardized scalar value extracted from a message. | |
| typedef struct zcm_node | zcm_node_t |
| Opaque broker-registry client handle. | |
| typedef struct zcm_socket | zcm_socket_t |
| Opaque transport socket wrapper. | |
| typedef struct zcm_node_entry | zcm_node_entry_t |
| Node listing entry returned by zcm_node_list(). | |
Enumerations | |
| enum | zcm_msg_item_type_t { ZCM_MSG_ITEM_CHAR = 1 , ZCM_MSG_ITEM_SHORT = 2 , ZCM_MSG_ITEM_INT = 3 , ZCM_MSG_ITEM_LONG = 4 , ZCM_MSG_ITEM_FLOAT = 5 , ZCM_MSG_ITEM_DOUBLE = 6 , ZCM_MSG_ITEM_ARRAY = 7 , ZCM_MSG_ITEM_TEXT = 8 , ZCM_MSG_ITEM_BYTES = 9 } |
| Encoded item kind stored in a message payload. More... | |
| enum | zcm_msg_array_type_t { ZCM_MSG_ARRAY_CHAR = 1 , ZCM_MSG_ARRAY_SHORT = 2 , ZCM_MSG_ARRAY_INT = 3 , ZCM_MSG_ARRAY_FLOAT = 4 , ZCM_MSG_ARRAY_DOUBLE = 5 } |
| Element type for array payload items. More... | |
| enum | zcm_msg_status_t { ZCM_MSG_OK = 0 , ZCM_MSG_ERR = -1 , ZCM_MSG_ERR_TYPE = -2 , ZCM_MSG_ERR_RANGE = -3 , ZCM_MSG_ERR_FORMAT = -4 } |
| Status/error codes returned by zcm_msg APIs. More... | |
| enum | zcm_msg_value_kind_t { ZCM_MSG_VALUE_TEXT = 1 , ZCM_MSG_VALUE_DOUBLE = 2 , ZCM_MSG_VALUE_FLOAT = 3 , ZCM_MSG_VALUE_INT = 4 } |
| Canonical scalar kind used by the standardized value property. More... | |
| enum | zcm_socket_type_t { ZCM_SOCK_REQ = 1 , ZCM_SOCK_REP = 2 , ZCM_SOCK_PUB = 3 , ZCM_SOCK_SUB = 4 , ZCM_SOCK_PAIR = 5 , ZCM_SOCK_PUSH = 6 , ZCM_SOCK_PULL = 7 } |
| Socket type abstraction mapped to ZeroMQ socket kinds. More... | |
Functions | |
| zcm_context_t * | zcm_context_new (void) |
| Create a new zCm context. | |
| void | zcm_context_free (zcm_context_t *ctx) |
| Destroy a context created by zcm_context_new(). | |
| zcm_broker_t * | zcm_broker_start (zcm_context_t *ctx, const char *endpoint) |
| Start a broker service bound to the provided endpoint. | |
| void | zcm_broker_stop (zcm_broker_t *broker) |
| Stop and free a broker created by zcm_broker_start(). | |
| int | zcm_broker_is_running (const zcm_broker_t *broker) |
| Check whether a broker service loop is still running. | |
| const char * | zcm_version_string (void) |
| Return the library version string. | |
| void * | zcm_context_zmq (zcm_context_t *ctx) |
| Get the underlying ZeroMQ context pointer. | |
| zcm_msg_t * | zcm_msg_new (void) |
| Allocate a new empty message. | |
| void | zcm_msg_free (zcm_msg_t *msg) |
| Free a message allocated by zcm_msg_new(). | |
| void | zcm_msg_reset (zcm_msg_t *msg) |
| Clear payload, type name, and read cursor of a message. | |
| void | zcm_msg_rewind (zcm_msg_t *msg) |
| Reset only the payload read cursor to the beginning. | |
| int | zcm_msg_set_type (zcm_msg_t *msg, const char *type) |
| Set application-level message type string. | |
| const char * | zcm_msg_get_type (const zcm_msg_t *msg) |
| Get the message type string. | |
| int | zcm_msg_put_char (zcm_msg_t *msg, char value) |
| Append a char item. | |
| int | zcm_msg_put_short (zcm_msg_t *msg, int16_t value) |
| Append a 16-bit signed integer item. | |
| int | zcm_msg_put_int (zcm_msg_t *msg, int32_t value) |
| Append a 32-bit signed integer item. | |
| int | zcm_msg_put_long (zcm_msg_t *msg, int64_t value) |
| Append a 64-bit signed integer item. | |
| int | zcm_msg_put_float (zcm_msg_t *msg, float value) |
| Append a float item. | |
| int | zcm_msg_put_double (zcm_msg_t *msg, double value) |
| Append a double item. | |
| int | zcm_msg_put_text (zcm_msg_t *msg, const char *value) |
| Append a UTF-8 or ASCII text item. | |
| int | zcm_msg_put_bytes (zcm_msg_t *msg, const void *data, uint32_t len) |
| Append an opaque byte buffer item. | |
| int | zcm_msg_put_array (zcm_msg_t *msg, zcm_msg_array_type_t type, uint32_t elements, const void *data) |
| Append an array item. | |
| int | zcm_msg_put_value_text (zcm_msg_t *msg, const char *value) |
| Append the standardized scalar value as text. | |
| int | zcm_msg_put_value_double (zcm_msg_t *msg, double value) |
| Append the standardized scalar value as double. | |
| int | zcm_msg_put_value_float (zcm_msg_t *msg, float value) |
| Append the standardized scalar value as float. | |
| int | zcm_msg_put_value_int (zcm_msg_t *msg, int32_t value) |
| Append the standardized scalar value as int. | |
| int | zcm_msg_get_char (zcm_msg_t *msg, char *value) |
| Read the next char item. | |
| int | zcm_msg_get_short (zcm_msg_t *msg, int16_t *value) |
| Read the next 16-bit signed integer item. | |
| int | zcm_msg_get_int (zcm_msg_t *msg, int32_t *value) |
| Read the next 32-bit signed integer item. | |
| int | zcm_msg_get_long (zcm_msg_t *msg, int64_t *value) |
| Read the next 64-bit signed integer item. | |
| int | zcm_msg_get_float (zcm_msg_t *msg, float *value) |
| Read the next float item. | |
| int | zcm_msg_get_double (zcm_msg_t *msg, double *value) |
| Read the next double item. | |
| int | zcm_msg_get_text (zcm_msg_t *msg, const char **value, uint32_t *len) |
| Read the next text item. | |
| int | zcm_msg_get_bytes (zcm_msg_t *msg, const void **data, uint32_t *len) |
| Read the next raw byte item. | |
| int | zcm_msg_get_array (zcm_msg_t *msg, zcm_msg_array_type_t *type, uint32_t *elements, const void **data) |
| Read the next array item. | |
| int | zcm_msg_get_value (zcm_msg_t *msg, zcm_msg_value_t *out) |
| Decode the standardized scalar value from the current read offset. | |
| const void * | zcm_msg_data (const zcm_msg_t *msg, size_t *len) |
| Get raw payload bytes (without transport envelope). | |
| size_t | zcm_msg_remaining (const zcm_msg_t *msg) |
| Get unread payload bytes remaining from current read cursor. | |
| int | zcm_msg_from_bytes (zcm_msg_t *msg, const void *data, size_t len) |
| Load message state from serialized envelope bytes. | |
| int | zcm_msg_validate (const zcm_msg_t *msg) |
| Validate encoded payload structure. | |
| const char * | zcm_msg_last_error (const zcm_msg_t *msg) |
| Get the last decode/validation error text for a message. | |
| zcm_node_t * | zcm_node_new (struct zcm_context *ctx, const char *broker_endpoint) |
| Create a node helper bound to one broker endpoint. | |
| void | zcm_node_free (zcm_node_t *node) |
| Destroy a node created by zcm_node_new(). | |
| int | zcm_node_unregister (zcm_node_t *node, const char *name) |
| Remove a previously registered name from the broker. | |
| int | zcm_node_register_ex (zcm_node_t *node, const char *name, const char *endpoint, const char *ctrl_endpoint, const char *host, int pid, const char *role, int pub_port, int push_port) |
| Register a process with extended metadata. | |
| int | zcm_node_lookup (zcm_node_t *node, const char *name, char *out_endpoint, size_t out_size) |
| Resolve a registered name to its endpoint. | |
| int | zcm_node_info (zcm_node_t *node, const char *name, char *out_endpoint, size_t out_ep_size, char *out_ctrl_endpoint, size_t out_ctrl_size, char *out_host, size_t out_host_size, int *out_pid) |
| Fetch extended metadata for a registered name. | |
| int | zcm_node_list (zcm_node_t *node, zcm_node_entry_t **out_entries, size_t *out_count) |
| List currently registered node entries. | |
| void | zcm_node_list_free (zcm_node_entry_t *entries, size_t count) |
| Free list memory returned by zcm_node_list(). | |
| int | zcm_node_report_metrics (zcm_node_t *node, const char *name, const char *role, int pub_port, int push_port, int pub_bytes, int sub_bytes, int push_bytes, int pull_bytes) |
| Report runtime role/metric values for a registered name to the broker. | |
| int | zcm_node_handle_control_msg (zcm_msg_t *req, zcm_msg_t *reply, int *out_should_exit) |
| Handle a standard ZCM_CMD management message. | |
| zcm_socket_t * | zcm_socket_new (struct zcm_context *ctx, zcm_socket_type_t type) |
| Create a transport socket wrapper. | |
| void | zcm_socket_free (zcm_socket_t *sock) |
| Destroy a socket created by zcm_socket_new(). | |
| int | zcm_socket_bind (zcm_socket_t *sock, const char *endpoint) |
| Bind a socket to an endpoint. | |
| int | zcm_socket_connect (zcm_socket_t *sock, const char *endpoint) |
| Connect a socket to an endpoint. | |
| int | zcm_socket_set_subscribe (zcm_socket_t *sock, const char *prefix, size_t len) |
| Configure subscription prefix on a SUB socket. | |
| int | zcm_socket_send_msg (zcm_socket_t *sock, const zcm_msg_t *msg) |
| Serialize and send a typed message. | |
| int | zcm_socket_recv_msg (zcm_socket_t *sock, zcm_msg_t *msg) |
| Receive and decode a typed message. | |
| int | zcm_socket_send_bytes (zcm_socket_t *sock, const void *data, size_t len) |
| Send raw bytes. | |
| int | zcm_socket_recv_bytes (zcm_socket_t *sock, void *buf, size_t buf_len, size_t *out_len) |
| Receive raw bytes into a caller-provided buffer. | |
| int | zcm_socket_set_timeouts (zcm_socket_t *sock, int ms) |
| Configure receive/send socket timeouts. | |
This module is intended for code that needs direct control over transport sockets, typed payload encoding, and broker/node interactions.
| #define ZCM_NODE_REGISTER_EX_DUPLICATE (-2) |
Definition at line 53 of file zcm_node.h.
| typedef struct zcm_broker zcm_broker_t |
| typedef struct zcm_context zcm_context_t |
| typedef struct zcm_node zcm_node_t |
Definition at line 24 of file zcm_node.h.
| typedef struct zcm_socket zcm_socket_t |
Definition at line 40 of file zcm_node.h.
| enum zcm_msg_array_type_t |
| enum zcm_msg_item_type_t |
| enum zcm_msg_status_t |
| enum zcm_msg_value_kind_t |
| enum zcm_socket_type_t |
Definition at line 29 of file zcm_node.h.
| int zcm_broker_is_running | ( | const zcm_broker_t * | broker | ) |
| broker | Broker handle. |
| zcm_broker_t * zcm_broker_start | ( | zcm_context_t * | ctx, |
| const char * | endpoint ) |
| ctx | Valid zCm context. |
| endpoint | Broker bind endpoint, for example tcp://0.0.0.0:5555. |
| void zcm_broker_stop | ( | zcm_broker_t * | broker | ) |
| broker | Broker handle to stop. NULL is allowed. |
| void zcm_context_free | ( | zcm_context_t * | ctx | ) |
| ctx | Context to free. NULL is allowed. |
| zcm_context_t * zcm_context_new | ( | void | ) |
| void * zcm_context_zmq | ( | zcm_context_t * | ctx | ) |
This is intended for internal integrations.
| ctx | zCm context. |
| const void * zcm_msg_data | ( | const zcm_msg_t * | msg, |
| size_t * | len ) |
| msg | Message to inspect. |
| len | Optional payload byte length output. |
| void zcm_msg_free | ( | zcm_msg_t * | msg | ) |
| msg | Message to free. NULL is allowed. |
| int zcm_msg_from_bytes | ( | zcm_msg_t * | msg, |
| const void * | data, | ||
| size_t | len ) |
| msg | Destination message to populate. |
| data | Serialized input bytes. |
| len | Size of data in bytes. |
| int zcm_msg_get_array | ( | zcm_msg_t * | msg, |
| zcm_msg_array_type_t * | type, | ||
| uint32_t * | elements, | ||
| const void ** | data ) |
Returned pointer references internal message storage.
| msg | Message to read from. |
| type | Output array element type. |
| elements | Output element count. |
| data | Output pointer to contiguous array bytes. |
| int zcm_msg_get_bytes | ( | zcm_msg_t * | msg, |
| const void ** | data, | ||
| uint32_t * | len ) |
Returned pointer references internal message storage.
| msg | Message to read from. |
| data | Output pointer to the byte span. |
| len | Optional output byte count. |
| int zcm_msg_get_char | ( | zcm_msg_t * | msg, |
| char * | value ) |
| msg | Message to read from. |
| value | Output storage for decoded value. |
| int zcm_msg_get_double | ( | zcm_msg_t * | msg, |
| double * | value ) |
| msg | Message to read from. |
| value | Output storage for decoded value. |
| int zcm_msg_get_float | ( | zcm_msg_t * | msg, |
| float * | value ) |
| msg | Message to read from. |
| value | Output storage for decoded value. |
| int zcm_msg_get_int | ( | zcm_msg_t * | msg, |
| int32_t * | value ) |
| msg | Message to read from. |
| value | Output storage for decoded value. |
| int zcm_msg_get_long | ( | zcm_msg_t * | msg, |
| int64_t * | value ) |
| msg | Message to read from. |
| value | Output storage for decoded value. |
| int zcm_msg_get_short | ( | zcm_msg_t * | msg, |
| int16_t * | value ) |
| msg | Message to read from. |
| value | Output storage for decoded value. |
| int zcm_msg_get_text | ( | zcm_msg_t * | msg, |
| const char ** | value, | ||
| uint32_t * | len ) |
Returned pointer references internal message storage.
| msg | Message to read from. |
| value | Output pointer to text bytes (not null-terminated by contract). |
| len | Optional output string length in bytes. |
| const char * zcm_msg_get_type | ( | const zcm_msg_t * | msg | ) |
| msg | Message to inspect. |
| int zcm_msg_get_value | ( | zcm_msg_t * | msg, |
| zcm_msg_value_t * | out ) |
The function consumes the marker/kind/value triplet from the message stream.
| msg | Message to read from. |
| out | Output decoded value. |
| const char * zcm_msg_last_error | ( | const zcm_msg_t * | msg | ) |
| msg | Message to inspect. |
| zcm_msg_t * zcm_msg_new | ( | void | ) |
| int zcm_msg_put_array | ( | zcm_msg_t * | msg, |
| zcm_msg_array_type_t | type, | ||
| uint32_t | elements, | ||
| const void * | data ) |
| msg | Message to append to. |
| type | Array element type. |
| elements | Element count. |
| data | Pointer to contiguous array memory. Must be non-NULL when elements > 0. |
| int zcm_msg_put_bytes | ( | zcm_msg_t * | msg, |
| const void * | data, | ||
| uint32_t | len ) |
| msg | Message to append to. |
| data | Byte pointer to encode. Can be NULL when len == 0. |
| len | Number of bytes at data. |
| int zcm_msg_put_char | ( | zcm_msg_t * | msg, |
| char | value ) |
| msg | Message to append to. |
| value | Value to encode. |
| int zcm_msg_put_double | ( | zcm_msg_t * | msg, |
| double | value ) |
| msg | Message to append to. |
| value | Value to encode. |
| int zcm_msg_put_float | ( | zcm_msg_t * | msg, |
| float | value ) |
| msg | Message to append to. |
| value | Value to encode. |
| int zcm_msg_put_int | ( | zcm_msg_t * | msg, |
| int32_t | value ) |
| msg | Message to append to. |
| value | Value to encode. |
| int zcm_msg_put_long | ( | zcm_msg_t * | msg, |
| int64_t | value ) |
| msg | Message to append to. |
| value | Value to encode. |
| int zcm_msg_put_short | ( | zcm_msg_t * | msg, |
| int16_t | value ) |
| msg | Message to append to. |
| value | Value to encode. |
| int zcm_msg_put_text | ( | zcm_msg_t * | msg, |
| const char * | value ) |
| msg | Message to append to. |
| value | Null-terminated text pointer. NULL is treated as empty text. |
| int zcm_msg_put_value_double | ( | zcm_msg_t * | msg, |
| double | value ) |
| msg | Message to append to. |
| value | Double value. |
| int zcm_msg_put_value_float | ( | zcm_msg_t * | msg, |
| float | value ) |
| msg | Message to append to. |
| value | Float value. |
| int zcm_msg_put_value_int | ( | zcm_msg_t * | msg, |
| int32_t | value ) |
| msg | Message to append to. |
| value | Integer value. |
| int zcm_msg_put_value_text | ( | zcm_msg_t * | msg, |
| const char * | value ) |
| msg | Message to append to. |
| value | Text value. |
| size_t zcm_msg_remaining | ( | const zcm_msg_t * | msg | ) |
| msg | Message to inspect. |
| void zcm_msg_reset | ( | zcm_msg_t * | msg | ) |
| msg | Message to reset. NULL is allowed. |
| void zcm_msg_rewind | ( | zcm_msg_t * | msg | ) |
| msg | Message to rewind. NULL is allowed. |
| int zcm_msg_set_type | ( | zcm_msg_t * | msg, |
| const char * | type ) |
| msg | Message to modify. |
| type | Null-terminated type name. |
| int zcm_msg_validate | ( | const zcm_msg_t * | msg | ) |
| msg | Message to validate. |
| void zcm_node_free | ( | zcm_node_t * | node | ) |
| node | Node handle to free. NULL is allowed. |
Supported commands:
For unsupported commands, the function writes ERROR(UNKNOWN_CMD,404).
| req | Incoming request message. |
| reply | Output reply message (reset by this function when handled). |
| out_should_exit | Set to 1 when caller should terminate after sending reply. |
| int zcm_node_info | ( | zcm_node_t * | node, |
| const char * | name, | ||
| char * | out_endpoint, | ||
| size_t | out_ep_size, | ||
| char * | out_ctrl_endpoint, | ||
| size_t | out_ctrl_size, | ||
| char * | out_host, | ||
| size_t | out_host_size, | ||
| int * | out_pid ) |
Any output pointer can be NULL to skip that field.
| node | Node helper. |
| name | Name to inspect. |
| out_endpoint | Output buffer for data endpoint. |
| out_ep_size | Size of out_endpoint. |
| out_ctrl_endpoint | Output buffer for control endpoint. |
| out_ctrl_size | Size of out_ctrl_endpoint. |
| out_host | Output buffer for host name/address. |
| out_host_size | Size of out_host. |
| out_pid | Optional process ID output. |
| int zcm_node_list | ( | zcm_node_t * | node, |
| zcm_node_entry_t ** | out_entries, | ||
| size_t * | out_count ) |
| node | Node helper. |
| out_entries | Output array allocated by the library. |
| out_count | Output number of entries in out_entries. |
| void zcm_node_list_free | ( | zcm_node_entry_t * | entries, |
| size_t | count ) |
| entries | Entry array pointer returned by zcm_node_list(). |
| count | Number of entries in entries. |
| int zcm_node_lookup | ( | zcm_node_t * | node, |
| const char * | name, | ||
| char * | out_endpoint, | ||
| size_t | out_size ) |
| node | Node helper. |
| name | Name to resolve. |
| out_endpoint | Output buffer receiving endpoint string. |
| out_size | Size of out_endpoint in bytes. |
| zcm_node_t * zcm_node_new | ( | struct zcm_context * | ctx, |
| const char * | broker_endpoint ) |
| ctx | zCm context. |
| broker_endpoint | Broker endpoint string used for registry requests. |
| int zcm_node_register_ex | ( | zcm_node_t * | node, |
| const char * | name, | ||
| const char * | endpoint, | ||
| const char * | ctrl_endpoint, | ||
| const char * | host, | ||
| int | pid, | ||
| const char * | role, | ||
| int | pub_port, | ||
| int | push_port ) |
| node | Node helper. |
| name | Logical process/service name. |
| endpoint | Data endpoint. |
| ctrl_endpoint | Control endpoint used for management actions. |
| host | Hostname or IP advertised by the process. |
| pid | Process ID. |
| role | Node role (PUB, SUB, PUSH, PULL, NONE, UNKNOWN, or combos like PUB+SUB). |
| pub_port | Published PUB port or -1. |
| push_port | Published PUSH port or -1. |
| int zcm_node_report_metrics | ( | zcm_node_t * | node, |
| const char * | name, | ||
| const char * | role, | ||
| int | pub_port, | ||
| int | push_port, | ||
| int | pub_bytes, | ||
| int | sub_bytes, | ||
| int | push_bytes, | ||
| int | pull_bytes ) |
Any numeric value can be set to -1 when unknown/not applicable.
| node | Node helper. |
| name | Registered logical name. |
| role | Role string (for example PUB, SUB, PUB+SUB, EXTERNAL). |
| pub_port | Published PUB port or -1. |
| push_port | Published PUSH port or -1. |
| pub_bytes | Last PUB payload byte size or -1. |
| sub_bytes | Last SUB payload byte size or -1. |
| push_bytes | Last PUSH payload byte size or -1. |
| pull_bytes | Last PULL payload byte size or -1. |
| int zcm_node_unregister | ( | zcm_node_t * | node, |
| const char * | name ) |
| node | Node helper. |
| name | Name to remove. |
| int zcm_socket_bind | ( | zcm_socket_t * | sock, |
| const char * | endpoint ) |
| sock | Socket wrapper. |
| endpoint | Bind endpoint string. |
| int zcm_socket_connect | ( | zcm_socket_t * | sock, |
| const char * | endpoint ) |
| sock | Socket wrapper. |
| endpoint | Remote endpoint string. |
| void zcm_socket_free | ( | zcm_socket_t * | sock | ) |
| sock | Socket wrapper to free. NULL is allowed. |
| zcm_socket_t * zcm_socket_new | ( | struct zcm_context * | ctx, |
| zcm_socket_type_t | type ) |
| ctx | zCm context. |
| type | Desired socket type. |
| int zcm_socket_recv_bytes | ( | zcm_socket_t * | sock, |
| void * | buf, | ||
| size_t | buf_len, | ||
| size_t * | out_len ) |
| sock | Socket wrapper. |
| buf | Destination buffer. |
| buf_len | Capacity of buf in bytes. |
| out_len | Optional output with received byte count. |
| int zcm_socket_recv_msg | ( | zcm_socket_t * | sock, |
| zcm_msg_t * | msg ) |
| sock | Socket wrapper. |
| msg | Destination message object. |
| int zcm_socket_send_bytes | ( | zcm_socket_t * | sock, |
| const void * | data, | ||
| size_t | len ) |
| sock | Socket wrapper. |
| data | Byte buffer to send. Can be NULL when len == 0. |
| len | Number of bytes to send. |
| int zcm_socket_send_msg | ( | zcm_socket_t * | sock, |
| const zcm_msg_t * | msg ) |
| sock | Socket wrapper. |
| msg | Message to send. |
| int zcm_socket_set_subscribe | ( | zcm_socket_t * | sock, |
| const char * | prefix, | ||
| size_t | len ) |
| sock | Socket wrapper. |
| prefix | Prefix bytes. Can be empty for all topics. |
| len | Prefix size in bytes. |
| int zcm_socket_set_timeouts | ( | zcm_socket_t * | sock, |
| int | ms ) |
| sock | Socket wrapper. |
| ms | Timeout in milliseconds. |
| const char * zcm_version_string | ( | void | ) |