1 #ifndef GD_IO_H 2 #define GD_IO_H 1 3 4 #include <stdio.h> 5 6 #ifdef VMS 7 #define Putchar gdPutchar 8 #endif 9 10 typedef struct gdIOCtx { 11 int (*getC)(struct gdIOCtx*); 12 int (*getBuf)(struct gdIOCtx*, void*, int); 13 14 void (*putC)(struct gdIOCtx*, int); 15 int (*putBuf)(struct gdIOCtx*, const void*, int); 16 17 int (*seek)(struct gdIOCtx*, const int); 18 long (*tell)(struct gdIOCtx*); 19 20 void (*gd_free)(struct gdIOCtx*); 21 22 } gdIOCtx; 23 24 typedef struct gdIOCtx *gdIOCtxPtr; 25 26 void Putword(int w, gdIOCtx *ctx); 27 void Putchar(int c, gdIOCtx *ctx); 28 29 void gdPutC(const unsigned char c, gdIOCtx *ctx); 30 int gdPutBuf(const void *, int, gdIOCtx*); 31 void gdPutWord(int w, gdIOCtx *ctx); 32 void gdPutInt(int w, gdIOCtx *ctx); 33 34 int gdGetC(gdIOCtx *ctx); 35 int gdGetBuf(void *, int, gdIOCtx*); 36 int gdGetByte(int *result, gdIOCtx *ctx); 37 int gdGetWord(int *result, gdIOCtx *ctx); 38 int gdGetInt(int *result, gdIOCtx *ctx); 39 40 int gdSeek(gdIOCtx *ctx, const int); 41 long gdTell(gdIOCtx *ctx); 42 43 #endif 44