diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2021-08-08 04:24:01 +0100 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2021-08-11 01:32:48 +0100 |
commit | dfa850ebb5d1e44df7f9bc793cc052d4284fc0a5 (patch) | |
tree | bcee708dd84f40db57a591c41506fe595b94b811 /pack.h | |
parent | d461b029213d366e0aab0f305b3f92b8ecd8d2e8 (diff) | |
download | pack-dfa850ebb5d1e44df7f9bc793cc052d4284fc0a5.tar.gz pack-dfa850ebb5d1e44df7f9bc793cc052d4284fc0a5.tar.xz pack-dfa850ebb5d1e44df7f9bc793cc052d4284fc0a5.zip |
implement unpack_struct
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); |