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);
417PN_EXTERN
int pn_data_vfill(pn_data_t *data,
const char *fmt, va_list ap);
418PN_EXTERN
int pn_data_fill(pn_data_t *data,
const char *fmt, ...);
419PN_EXTERN
int pn_data_vscan(pn_data_t *data,
const char *fmt, va_list ap);
420PN_EXTERN
int pn_data_scan(pn_data_t *data,
const char *fmt, ...);
433PN_EXTERN
void pn_data_clear(pn_data_t *data);
444PN_EXTERN
size_t pn_data_size(pn_data_t *data);
451PN_EXTERN
void pn_data_rewind(pn_data_t *data);
461PN_EXTERN
bool pn_data_next(pn_data_t *data);
471PN_EXTERN
bool pn_data_prev(pn_data_t *data);
483PN_EXTERN
bool pn_data_enter(pn_data_t *data);
494PN_EXTERN
bool pn_data_exit(pn_data_t *data);
499PN_EXTERN
bool pn_data_lookup(pn_data_t *data,
const char *name);
511PN_EXTERN pn_type_t pn_data_type(pn_data_t *data);
520PN_EXTERN
int pn_data_print(pn_data_t *data);
533PN_EXTERN
int pn_data_format(pn_data_t *data,
char *bytes,
size_t *size);
545PN_EXTERN ssize_t pn_data_encode(pn_data_t *data,
char *bytes,
size_t size);
554PN_EXTERN ssize_t pn_data_encoded_size(pn_data_t *data);
573PN_EXTERN ssize_t pn_data_decode(pn_data_t *data,
const char *bytes,
size_t size);
597PN_EXTERN
int pn_data_put_list(pn_data_t *data);
617PN_EXTERN
int pn_data_put_map(pn_data_t *data);
652PN_EXTERN
int pn_data_put_array(pn_data_t *data,
bool described, pn_type_t type);
673PN_EXTERN
int pn_data_put_described(pn_data_t *data);
681PN_EXTERN
int pn_data_put_null(pn_data_t *data);
690PN_EXTERN
int pn_data_put_bool(pn_data_t *data,
bool b);
699PN_EXTERN
int pn_data_put_ubyte(pn_data_t *data, uint8_t ub);
708PN_EXTERN
int pn_data_put_byte(pn_data_t *data, int8_t b);
717PN_EXTERN
int pn_data_put_ushort(pn_data_t *data, uint16_t us);
726PN_EXTERN
int pn_data_put_short(pn_data_t *data, int16_t s);
735PN_EXTERN
int pn_data_put_uint(pn_data_t *data, uint32_t ui);
744PN_EXTERN
int pn_data_put_int(pn_data_t *data, int32_t i);
753PN_EXTERN
int pn_data_put_char(pn_data_t *data,
pn_char_t c);
762PN_EXTERN
int pn_data_put_ulong(pn_data_t *data, uint64_t ul);
771PN_EXTERN
int pn_data_put_long(pn_data_t *data, int64_t l);
780PN_EXTERN
int pn_data_put_timestamp(pn_data_t *data,
pn_timestamp_t t);
789PN_EXTERN
int pn_data_put_float(pn_data_t *data,
float f);
798PN_EXTERN
int pn_data_put_double(pn_data_t *data,
double d);
807PN_EXTERN
int pn_data_put_decimal32(pn_data_t *data,
pn_decimal32_t d);
816PN_EXTERN
int pn_data_put_decimal64(pn_data_t *data,
pn_decimal64_t d);
825PN_EXTERN
int pn_data_put_decimal128(pn_data_t *data,
pn_decimal128_t d);
834PN_EXTERN
int pn_data_put_uuid(pn_data_t *data,
pn_uuid_t u);
844PN_EXTERN
int pn_data_put_binary(pn_data_t *data,
pn_bytes_t bytes);
854PN_EXTERN
int pn_data_put_string(pn_data_t *data,
pn_bytes_t string);
864PN_EXTERN
int pn_data_put_symbol(pn_data_t *data,
pn_bytes_t symbol);
873PN_EXTERN
int pn_data_put_atom(pn_data_t *data, pn_atom_t atom);
902PN_EXTERN
size_t pn_data_get_list(pn_data_t *data);
942PN_EXTERN
size_t pn_data_get_map(pn_data_t *data);
977PN_EXTERN
size_t pn_data_get_array(pn_data_t *data);
985PN_EXTERN
bool pn_data_is_array_described(pn_data_t *data);
994PN_EXTERN pn_type_t pn_data_get_array_type(pn_data_t *data);
1019PN_EXTERN
bool pn_data_is_described(pn_data_t *data);
1027PN_EXTERN
bool pn_data_is_null(pn_data_t *data);
1034PN_EXTERN
bool pn_data_get_bool(pn_data_t *data);
1042PN_EXTERN uint8_t pn_data_get_ubyte(pn_data_t *data);
1050PN_EXTERN int8_t pn_data_get_byte(pn_data_t *data);
1058PN_EXTERN uint16_t pn_data_get_ushort(pn_data_t *data);
1066PN_EXTERN int16_t pn_data_get_short(pn_data_t *data);
1074PN_EXTERN uint32_t pn_data_get_uint(pn_data_t *data);
1082PN_EXTERN int32_t pn_data_get_int(pn_data_t *data);
1090PN_EXTERN
pn_char_t pn_data_get_char(pn_data_t *data);
1098PN_EXTERN uint64_t pn_data_get_ulong(pn_data_t *data);
1106PN_EXTERN int64_t pn_data_get_long(pn_data_t *data);
1122PN_EXTERN
float pn_data_get_float(pn_data_t *data);
1130PN_EXTERN
double pn_data_get_double(pn_data_t *data);
1163PN_EXTERN
pn_uuid_t pn_data_get_uuid(pn_data_t *data);
1173PN_EXTERN
pn_bytes_t pn_data_get_binary(pn_data_t *data);
1184PN_EXTERN
pn_bytes_t pn_data_get_string(pn_data_t *data);
1195PN_EXTERN
pn_bytes_t pn_data_get_symbol(pn_data_t *data);
1206PN_EXTERN
pn_bytes_t pn_data_get_bytes(pn_data_t *data);
1214PN_EXTERN pn_atom_t pn_data_get_atom(pn_data_t *data);
1224PN_EXTERN
int pn_data_copy(pn_data_t *data, pn_data_t *src);
1233PN_EXTERN
int pn_data_append(pn_data_t *data, pn_data_t *src);
1244PN_EXTERN
int pn_data_appendn(pn_data_t *data, pn_data_t *src,
int limit);
1256PN_EXTERN
void pn_data_narrow(pn_data_t *data);
1263PN_EXTERN
void pn_data_widen(pn_data_t *data);
1272PN_EXTERN
pn_handle_t pn_data_point(pn_data_t *data);
1285PN_EXTERN
bool pn_data_restore(pn_data_t *data,
pn_handle_t point);
1294PN_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