diff options
Diffstat (limited to 'pack.h')
-rw-r--r-- | pack.h | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -42,8 +42,21 @@ enum pack_endian { PACK_ENDIAN_LITTLE }; +struct pack_field { + enum pack_type type; + size_t count; + size_t offset; +}; + +struct pack_args { + enum pack_endian endian; + struct pack_field *fields; + size_t num_fields; +}; + enum pack_status pack(void *dest, size_t size, const char *fmt, ...); enum pack_status unpack(const void *buf, size_t size, const char *fmt, ...); +enum pack_status unpack_struct(const void *buf, size_t size, const struct pack_args *args, void *dest); const char *pack_strerror(enum pack_status status); |