20#include <nmsg/msgmod.h>
78nmsg_message_init(nmsg_msgmod_t mod);
97nmsg_message_from_raw_payload(
unsigned vid,
unsigned msgtype,
98 uint8_t *data,
size_t sz,
99 const struct timespec *ts);
123nmsg_message_from_json(
const char *json, nmsg_message_t *msg);
131nmsg_message_destroy(nmsg_message_t *msg);
145nmsg_message_to_pres(nmsg_message_t msg,
char **pres,
const char *endline);
158nmsg_message_to_json(nmsg_message_t msg,
char **json);
164nmsg_message_get_msgmod(nmsg_message_t msg);
170nmsg_message_add_allocation(nmsg_message_t msg,
void *ptr);
176nmsg_message_free_allocations(nmsg_message_t msg);
182nmsg_message_get_vid(nmsg_message_t msg);
188nmsg_message_get_msgtype(nmsg_message_t msg);
196nmsg_message_get_payload(nmsg_message_t msg);
205nmsg_message_get_payload_size(nmsg_message_t msg);
213nmsg_message_update(nmsg_message_t msg);
222nmsg_message_compact_payload(nmsg_message_t msg);
231nmsg_message_get_time(nmsg_message_t msg,
struct timespec *ts);
241nmsg_message_set_time(nmsg_message_t msg,
const struct timespec *ts);
248nmsg_message_get_source(nmsg_message_t msg);
255nmsg_message_get_operator(nmsg_message_t msg);
262nmsg_message_get_group(nmsg_message_t msg);
268nmsg_message_set_source(nmsg_message_t msg, uint32_t source);
274nmsg_message_set_operator(nmsg_message_t msg, uint32_t operator_);
280nmsg_message_set_group(nmsg_message_t msg, uint32_t group);
299nmsg_message_get_field(nmsg_message_t msg,
300 const char *field_name,
310nmsg_message_get_field_by_idx(nmsg_message_t msg,
324nmsg_message_get_field_idx(nmsg_message_t msg,
325 const char *field_name,
336nmsg_message_get_field_name(nmsg_message_t msg,
338 const char **field_name);
349nmsg_message_get_field_flags(nmsg_message_t msg,
350 const char *field_name,
358nmsg_message_get_field_flags_by_idx(nmsg_message_t msg,
370nmsg_message_get_field_type(nmsg_message_t msg,
371 const char *field_name,
372 nmsg_msgmod_field_type *type);
379nmsg_message_get_field_type_by_idx(nmsg_message_t msg,
381 nmsg_msgmod_field_type *type);
390nmsg_message_get_num_fields(nmsg_message_t msg,
size_t *n_fields);
401nmsg_message_get_num_field_values(nmsg_message_t msg,
402 const char *field_name,
403 size_t *n_field_values);
414nmsg_message_get_num_field_values_by_idx(nmsg_message_t msg,
416 size_t *n_field_values);
430nmsg_message_set_field(nmsg_message_t msg,
431 const char *field_name,
441nmsg_message_set_field_by_idx(nmsg_message_t msg,
456nmsg_message_enum_name_to_value(nmsg_message_t msg,
const char *field_name,
457 const char *name,
unsigned *value);
464nmsg_message_enum_name_to_value_by_idx(nmsg_message_t msg,
unsigned field_idx,
465 const char *name,
unsigned *value);
476nmsg_message_enum_value_to_name(nmsg_message_t msg,
const char *field_name,
477 unsigned value,
const char **name);
484nmsg_message_enum_value_to_name_by_idx(nmsg_message_t msg,
unsigned field_idx,
485 unsigned value,
const char **name);