2#define PROTON_CODEC_H 1
25#include <proton/import_export.h>
28#include <proton/type_compat.h>
190PN_EXTERN
const char *pn_type_name(pn_type_t type);
311typedef pn_atom_t pn_msgid_t;
374typedef struct pn_data_t pn_data_t;
384PN_EXTERN pn_data_t *pn_data(
size_t capacity);
391PN_EXTERN
void pn_data_free(pn_data_t *data);
399PN_EXTERN
int pn_data_errno(pn_data_t *data);
412PN_EXTERN
pn_error_t *pn_data_error(pn_data_t *data);
436PN_EXTERN
void pn_data_set_decode_limits(pn_data_t *data,
size_t max_nodes,
size_t max_buf);
441PN_EXTERN
int pn_data_vfill(pn_data_t *data,
const char *fmt, va_list ap);
442PN_EXTERN
int pn_data_fill(pn_data_t *data,
const char *fmt, ...);
443PN_EXTERN
int pn_data_vscan(pn_data_t *data,
const char *fmt, va_list ap);
444PN_EXTERN
int pn_data_scan(pn_data_t *data,
const char *fmt, ...);
457PN_EXTERN
void pn_data_clear(pn_data_t *data);
468PN_EXTERN
size_t pn_data_size(pn_data_t *data);
475PN_EXTERN
void pn_data_rewind(pn_data_t *data);
485PN_EXTERN
bool pn_data_next(pn_data_t *data);
495PN_EXTERN
bool pn_data_prev(pn_data_t *data);
507PN_EXTERN
bool pn_data_enter(pn_data_t *data);
518PN_EXTERN
bool pn_data_exit(pn_data_t *data);
523PN_EXTERN
bool pn_data_lookup(pn_data_t *data,
const char *name);
535PN_EXTERN pn_type_t pn_data_type(pn_data_t *data);
544PN_EXTERN
int pn_data_print(pn_data_t *data);
557PN_EXTERN
int pn_data_format(pn_data_t *data,
char *bytes,
size_t *size);
569PN_EXTERN ssize_t pn_data_encode(pn_data_t *data,
char *bytes,
size_t size);
578PN_EXTERN ssize_t pn_data_encoded_size(pn_data_t *data);
597PN_EXTERN ssize_t pn_data_decode(pn_data_t *data,
const char *bytes,
size_t size);
621PN_EXTERN
int pn_data_put_list(pn_data_t *data);
641PN_EXTERN
int pn_data_put_map(pn_data_t *data);
676PN_EXTERN
int pn_data_put_array(pn_data_t *data,
bool described, pn_type_t type);
697PN_EXTERN
int pn_data_put_described(pn_data_t *data);
705PN_EXTERN
int pn_data_put_null(pn_data_t *data);
714PN_EXTERN
int pn_data_put_bool(pn_data_t *data,
bool b);
723PN_EXTERN
int pn_data_put_ubyte(pn_data_t *data, uint8_t ub);
732PN_EXTERN
int pn_data_put_byte(pn_data_t *data, int8_t b);
741PN_EXTERN
int pn_data_put_ushort(pn_data_t *data, uint16_t us);
750PN_EXTERN
int pn_data_put_short(pn_data_t *data, int16_t s);
759PN_EXTERN
int pn_data_put_uint(pn_data_t *data, uint32_t ui);
768PN_EXTERN
int pn_data_put_int(pn_data_t *data, int32_t i);
777PN_EXTERN
int pn_data_put_char(pn_data_t *data,
pn_char_t c);
786PN_EXTERN
int pn_data_put_ulong(pn_data_t *data, uint64_t ul);
795PN_EXTERN
int pn_data_put_long(pn_data_t *data, int64_t l);
804PN_EXTERN
int pn_data_put_timestamp(pn_data_t *data,
pn_timestamp_t t);
813PN_EXTERN
int pn_data_put_float(pn_data_t *data,
float f);
822PN_EXTERN
int pn_data_put_double(pn_data_t *data,
double d);
831PN_EXTERN
int pn_data_put_decimal32(pn_data_t *data,
pn_decimal32_t d);
840PN_EXTERN
int pn_data_put_decimal64(pn_data_t *data,
pn_decimal64_t d);
849PN_EXTERN
int pn_data_put_decimal128(pn_data_t *data,
pn_decimal128_t d);
858PN_EXTERN
int pn_data_put_uuid(pn_data_t *data,
pn_uuid_t u);
868PN_EXTERN
int pn_data_put_binary(pn_data_t *data,
pn_bytes_t bytes);
878PN_EXTERN
int pn_data_put_string(pn_data_t *data,
pn_bytes_t string);
888PN_EXTERN
int pn_data_put_symbol(pn_data_t *data,
pn_bytes_t symbol);
897PN_EXTERN
int pn_data_put_atom(pn_data_t *data, pn_atom_t atom);
926PN_EXTERN
size_t pn_data_get_list(pn_data_t *data);
966PN_EXTERN
size_t pn_data_get_map(pn_data_t *data);
1001PN_EXTERN
size_t pn_data_get_array(pn_data_t *data);
1009PN_EXTERN
bool pn_data_is_array_described(pn_data_t *data);
1018PN_EXTERN pn_type_t pn_data_get_array_type(pn_data_t *data);
1043PN_EXTERN
bool pn_data_is_described(pn_data_t *data);
1051PN_EXTERN
bool pn_data_is_null(pn_data_t *data);
1058PN_EXTERN
bool pn_data_get_bool(pn_data_t *data);
1066PN_EXTERN uint8_t pn_data_get_ubyte(pn_data_t *data);
1074PN_EXTERN int8_t pn_data_get_byte(pn_data_t *data);
1082PN_EXTERN uint16_t pn_data_get_ushort(pn_data_t *data);
1090PN_EXTERN int16_t pn_data_get_short(pn_data_t *data);
1098PN_EXTERN uint32_t pn_data_get_uint(pn_data_t *data);
1106PN_EXTERN int32_t pn_data_get_int(pn_data_t *data);
1114PN_EXTERN
pn_char_t pn_data_get_char(pn_data_t *data);
1122PN_EXTERN uint64_t pn_data_get_ulong(pn_data_t *data);
1130PN_EXTERN int64_t pn_data_get_long(pn_data_t *data);
1146PN_EXTERN
float pn_data_get_float(pn_data_t *data);
1154PN_EXTERN
double pn_data_get_double(pn_data_t *data);
1187PN_EXTERN
pn_uuid_t pn_data_get_uuid(pn_data_t *data);
1197PN_EXTERN
pn_bytes_t pn_data_get_binary(pn_data_t *data);
1208PN_EXTERN
pn_bytes_t pn_data_get_string(pn_data_t *data);
1219PN_EXTERN
pn_bytes_t pn_data_get_symbol(pn_data_t *data);
1230PN_EXTERN
pn_bytes_t pn_data_get_bytes(pn_data_t *data);
1238PN_EXTERN pn_atom_t pn_data_get_atom(pn_data_t *data);
1248PN_EXTERN
int pn_data_copy(pn_data_t *data, pn_data_t *src);
1257PN_EXTERN
int pn_data_append(pn_data_t *data, pn_data_t *src);
1268PN_EXTERN
int pn_data_appendn(pn_data_t *data, pn_data_t *src,
int limit);
1280PN_EXTERN
void pn_data_narrow(pn_data_t *data);
1287PN_EXTERN
void pn_data_widen(pn_data_t *data);
1296PN_EXTERN
pn_handle_t pn_data_point(pn_data_t *data);
1309PN_EXTERN
bool pn_data_restore(pn_data_t *data,
pn_handle_t point);
1318PN_EXTERN
void pn_data_dump(pn_data_t *data);
uint32_t pn_decimal32_t
A 32-bit decimal floating-point number.
Definition types.h:191
uint64_t pn_decimal64_t
A 64-bit decimal floating-point number.
Definition types.h:198
uint32_t pn_char_t
A 32-bit Unicode code point.
Definition types.h:184
int64_t pn_timestamp_t
A 64-bit timestamp in milliseconds since the Unix epoch.
Definition types.h:177
A 128-bit decimal floating-point number.
Definition types.h:205
A 16-byte universally unique identifier.
Definition types.h:214
A const byte buffer.
Definition types.h:223
struct pn_error_t pn_error_t
An int error code and some string text to describe the error.
Definition error.h:45
const void * pn_handle_t
A type to represent the internal navigational state of a proton object.
Definition types.h:482