00001 #ifndef GD_IO_H 00002 #define GD_IO_H 1 00003 00004 #include <stdio.h> 00005 00006 typedef struct gdIOCtx { 00007 int (*getC)(struct gdIOCtx*); 00008 int (*getBuf)(struct gdIOCtx*, void*, int); 00009 00010 void (*putC)(struct gdIOCtx*, int); 00011 int (*putBuf)(struct gdIOCtx*, const void*, int); 00012 00013 int (*seek)(struct gdIOCtx*, const int); 00014 long (*tell)(struct gdIOCtx*); 00015 00016 void (*free)(struct gdIOCtx*); 00017 00018 } gdIOCtx; 00019 00020 typedef struct gdIOCtx *gdIOCtxPtr; 00021 00022 void Putword(int w, gdIOCtx *ctx); 00023 void Putchar(int c, gdIOCtx *ctx); 00024 00025 void gdPutC(const unsigned char c, gdIOCtx *ctx); 00026 int gdPutBuf(const void *, int, gdIOCtx*); 00027 void gdPutWord(int w, gdIOCtx *ctx); 00028 void gdPutInt(int w, gdIOCtx *ctx); 00029 00030 int gdGetC(gdIOCtx *ctx); 00031 int gdGetBuf(void *, int, gdIOCtx*); 00032 int gdGetByte(int *result, gdIOCtx *ctx); 00033 int gdGetWord(int *result, gdIOCtx *ctx); 00034 int gdGetInt(int *result, gdIOCtx *ctx); 00035 00036 int gdSeek(gdIOCtx *ctx, const int); 00037 long gdTell(gdIOCtx *ctx); 00038 00039 #endif