10extern thread_local O2_context *o2_ctx;
20#define O2_MAX_TAP_FORWARDING 3
27#define MAX_SERVICE_LEN 64
30#define ssize_t long long
37int o2_add_bundle_head(int64_t time);
40int32_t *o2_msg_len_ptr(
void);
42int o2_set_msg_length(int32_t *msg_len_ptr);
44int o2_add_raw_bytes(int32_t len,
char *bytes);
46char *o2_msg_data_get(int32_t *len_ptr);
54#define IS_BUNDLE(msg)((msg)->address[0] == '#')
63#define FOR_EACH_EMBEDDED(msg, code) \
64 char *end_of_msg = O2_MSG_DATA_END(msg); \
65 o2_msg_data_ptr embedded = (o2_msg_data_ptr) (o2_msg_data_types(msg) - 1); \
66 while (PTR(embedded) < end_of_msg) { int32_t len; \
68 embedded = (o2_msg_data_ptr) (PTR(embedded) + len + sizeof(int32_t)); }
72#define o2_message_new(size) ((O2message_ptr) O2netmsg_new(size))
86 const char *service_name,
87 const char *path,
const char *typestring,
88 bool tcp_flag, va_list ap);
double O2time
O2 timestamps are doubles representing seconds since the approximate start time of the ensemble.
Definition: o2.h:625
O2err
return values used generally by O2 functions
Definition: o2.h:329
an O2 message container
Definition: o2.h:690
data part of an O2 message
Definition: o2.h:638