| struct THFile__ |
| { |
| struct THFileVTable *vtable; |
| |
| int isQuiet; |
| int isReadable; |
| int isWritable; |
| int isBinary; |
| int isAutoSpacing; |
| int hasError; |
| }; |
| |
| /* virtual table definition */ |
| |
| struct THFileVTable |
| { |
| int (*isOpened)(THFile *self); |
| |
| long (*readByte)(THFile *self, unsigned char *data, long n); |
| long (*readChar)(THFile *self, char *data, long n); |
| long (*readShort)(THFile *self, short *data, long n); |
| long (*readInt)(THFile *self, int *data, long n); |
| long (*readLong)(THFile *self, long *data, long n); |
| long (*readFloat)(THFile *self, float *data, long n); |
| long (*readDouble)(THFile *self, double *data, long n); |
| long (*readString)(THFile *self, const char *format, char **str_); |
| |
| long (*writeByte)(THFile *self, unsigned char *data, long n); |
| long (*writeChar)(THFile *self, char *data, long n); |
| long (*writeShort)(THFile *self, short *data, long n); |
| long (*writeInt)(THFile *self, int *data, long n); |
| long (*writeLong)(THFile *self, long *data, long n); |
| long (*writeFloat)(THFile *self, float *data, long n); |
| long (*writeDouble)(THFile *self, double *data, long n); |
| long (*writeString)(THFile *self, const char *str, long size); |
| |
| void (*synchronize)(THFile *self); |
| void (*seek)(THFile *self, long position); |
| void (*seekEnd)(THFile *self); |
| long (*position)(THFile *self); |
| void (*close)(THFile *self); |
| void (*free)(THFile *self); |
| }; |