Stream.h 842 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef STREAM_H
  2. #define STREAM_H
  3. typedef struct Stream
  4. {
  5. int size;
  6. int index;
  7. char* data;
  8. } Stream;
  9. void streamInit(Stream* s, int size);
  10. void streamRemove(Stream* s);
  11. void streamUpdateIndex(Stream* s);
  12. int streamGetIndex(Stream* s);
  13. int streamGetPosition(Stream* s);
  14. void streamSetPosition(Stream* s, int pos);
  15. void streamEnsureCapacity(Stream* s, int length);
  16. typedef void (*ClientStreamFunction) (Stream*);
  17. typedef int (*ServerStreamFunction) (int, int, Stream*);
  18. int streamGetChar(Stream* in, char* c);
  19. int streamGetChars(Stream* in, char* buffer, int length);
  20. int streamGetShort(Stream* in, short* s);
  21. int streamGetInt(Stream* in, int* i);
  22. int streamWriteChar(Stream* out, char c);
  23. int streamWriteChars(Stream* out, char* c);
  24. int streamWriteShort(Stream* out, short s);
  25. int streamWriteInt(Stream* out, int i);
  26. #endif