#ifndef STREAM_H #define STREAM_H typedef struct Stream { int size; int index; char* data; } Stream; void streamInit(Stream* s, int size); void streamRemove(Stream* s); void streamUpdateIndex(Stream* s); int streamGetIndex(Stream* s); int streamGetPosition(Stream* s); void streamSetPosition(Stream* s, int pos); void streamEnsureCapacity(Stream* s, int length); typedef void (*ClientStreamFunction) (Stream*); typedef int (*ServerStreamFunction) (int, int, Stream*); int streamGetChar(Stream* in, char* c); int streamGetChars(Stream* in, char* buffer, int length); int streamGetShort(Stream* in, short* s); int streamGetInt(Stream* in, int* i); int streamWriteChar(Stream* out, char c); int streamWriteChars(Stream* out, char* c); int streamWriteShort(Stream* out, short s); int streamWriteInt(Stream* out, int i); #endif