Mercurial > code
comparison pack.h @ 153:a6a7cd08be72
pack.c:
o added two new functions pack_fmtlen, pack_vfmtlen, compute the number
of bytes needed for format.
o added support for buffer, pack_swrite, pack_vswrite, pack_sread,
pack_vsread. Buffer will be automatically allocated for _write
functions.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 15 Jul 2012 20:40:54 +0200 |
parents | 07800b7af208 |
children | c7ad101ed4a1 |
comparison
equal
deleted
inserted
replaced
152:54976019a5a8 | 153:a6a7cd08be72 |
---|---|
18 | 18 |
19 #ifndef _PACK_H_ | 19 #ifndef _PACK_H_ |
20 #define _PACK_H_ | 20 #define _PACK_H_ |
21 | 21 |
22 #include <stdarg.h> | 22 #include <stdarg.h> |
23 #include <stdint.h> | |
23 | 24 |
24 #ifdef __cplusplus | 25 #ifdef __cplusplus |
25 extern "C" { | 26 extern "C" { |
26 #endif | 27 #endif |
27 | 28 |
54 | 55 |
55 #define pack_swap64(x) (((uint64_t) \ | 56 #define pack_swap64(x) (((uint64_t) \ |
56 ((uint32_t) pack_swap32((uint32_t) (((x) << 32) >> 32))) << 32) \ | 57 ((uint32_t) pack_swap32((uint32_t) (((x) << 32) >> 32))) << 32) \ |
57 | (uint32_t) pack_swap32((uint32_t) ((x) >> 32))) | 58 | (uint32_t) pack_swap32((uint32_t) ((x) >> 32))) |
58 | 59 |
60 size_t pack_fmtlen(int, const char *, ...); | |
61 size_t pack_vfmtlen(int, const char *, va_list); | |
62 | |
63 int pack_swrite(int, uint8_t **, size_t *, const char *, ...); | |
64 int pack_vswrite(int, uint8_t **, size_t *, const char *, va_list); | |
59 int pack_write(int, const char *, const char *, ...); | 65 int pack_write(int, const char *, const char *, ...); |
60 int pack_vwrite(int, const char *, const char *, va_list); | 66 int pack_vwrite(int, const char *, const char *, va_list); |
61 int pack_fwrite(int, FILE *, const char *, ...); | 67 int pack_fwrite(int, FILE *, const char *, ...); |
62 int pack_vfwrite(int, FILE *, const char *, va_list); | 68 int pack_vfwrite(int, FILE *, const char *, va_list); |
63 | 69 |
70 int pack_sread(int, uint8_t *, size_t, const char *, ...); | |
71 int pack_vsread(int, uint8_t *, size_t, const char *, va_list); | |
64 int pack_read(int, const char *, const char *, ...); | 72 int pack_read(int, const char *, const char *, ...); |
65 int pack_vread(int, const char *, const char *, va_list); | 73 int pack_vread(int, const char *, const char *, va_list); |
66 int pack_fread(int, FILE *, const char *, ...); | 74 int pack_fread(int, FILE *, const char *, ...); |
67 int pack_vfread(int, FILE *, const char *, va_list); | 75 int pack_vfread(int, FILE *, const char *, va_list); |
68 | 76 |