From 8b3c16e6152a527f9aec1a88a9eed74119de7000 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Wed, 22 Aug 2007 07:52:33 +0000 Subject: major engine cleanup. dependency on baselib removed. engine is now C code (not ansi tho). some other cruft removed aswell --- src/engine/packer.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/engine/packer.h (limited to 'src/engine/packer.h') diff --git a/src/engine/packer.h b/src/engine/packer.h new file mode 100644 index 00000000..af1c8195 --- /dev/null +++ b/src/engine/packer.h @@ -0,0 +1,34 @@ + +enum +{ + PACKER_BUFFER_SIZE=1024*2 +}; + +typedef struct +{ + + unsigned char buffer[PACKER_BUFFER_SIZE]; + unsigned char *current; + unsigned char *end; + int error; +} PACKER; + +typedef struct +{ + const unsigned char *current; + const unsigned char *start; + const unsigned char *end; + int error; +} UNPACKER; + +void packer_reset(PACKER *p); +void packer_add_int(PACKER *p, int i); +void packer_add_string(PACKER *p, const char *str, int limit); +void packer_add_raw(PACKER *p, const unsigned char *data, int size); +int packer_size(PACKER *p); +const unsigned char *packer_data(PACKER *p); + +void unpacker_reset(UNPACKER *p, const unsigned char *data, int size); +int unpacker_get_int(UNPACKER *p); +const char *unpacker_get_string(UNPACKER *p); +const unsigned char *unpacker_get_raw(UNPACKER *p, int size); -- cgit 1.4.1