X-Git-Url: https://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/a9b51e6d85e077f8e18c35ac3606d80b343927e0..5a1bc015e48db57deda5a7069c26ebcd6b255441:/src/pack.h diff --git a/src/pack.h b/src/pack.h index 283f28c..8413fdb 100644 --- a/src/pack.h +++ b/src/pack.h @@ -1,3 +1,13 @@ +/* + * Portable binary serialisation of integral types. + * Copyright (C) 2009 Nick Bowler + * + * Copying and distribution of this file, with or without modification, + * are permitted in any medium without royalty provided the copyright + * notice and this notice are preserved. This file is offered as-is, + * without any warranty. + */ + #ifndef PACK_H_ #define PACK_H_ @@ -15,16 +25,28 @@ void pack_32_le(unsigned char *, unsigned long); void pack_64_le(unsigned char *, unsigned long long); #endif -unsigned short unpack_16_be(unsigned char *); -unsigned long unpack_32_be(unsigned char *); +unsigned short unpack_16_be(const unsigned char *); +unsigned long unpack_32_be(const unsigned char *); #ifdef ULLONG_MAX -unsigned long long unpack_64_be(unsigned char *); +unsigned long long unpack_64_be(const unsigned char *); #endif -unsigned short unpack_16_le(unsigned char *); -unsigned long unpack_32_le(unsigned char *); +unsigned short unpack_16_le(const unsigned char *); +unsigned long unpack_32_le(const unsigned char *); #ifdef ULLONG_MAX -unsigned long long unpack_64_le(unsigned char *); +unsigned long long unpack_64_le(const unsigned char *); +#endif + +short unpack_s16_be(const unsigned char *); +long unpack_s32_be(const unsigned char *); +#ifdef LLONG_MAX +long long unpack_s64_be(const unsigned char *); +#endif + +short unpack_s16_le(const unsigned char *); +long unpack_s32_le(const unsigned char *); +#ifdef LLONG_MAX +long long unpack_s64_le(const unsigned char *); #endif #endif