summaryrefslogtreecommitdiff
path: root/wfileIO3.h
diff options
context:
space:
mode:
Diffstat (limited to 'wfileIO3.h')
-rw-r--r--wfileIO3.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/wfileIO3.h b/wfileIO3.h
new file mode 100644
index 0000000..49816ba
--- /dev/null
+++ b/wfileIO3.h
@@ -0,0 +1,43 @@
+
+struct file { /* 48 bytes */
+ unsigned char * file_read_p; /* offset 0 */
+ unsigned char * file_write_p; /* offset 4 */
+ unsigned char * file_end_read_buffer_p; /* offset 8 */
+ unsigned char * file_end_write_buffer_p;/* offset 12 */
+ short file_mode; /* offset 16 */
+ char file_unique; /* offset 18 */
+ char file_error; /* offset 19 */
+
+ unsigned char * file_read_buffer_p;
+ unsigned char * file_write_buffer_p;
+
+ unsigned long file_offset;
+ unsigned long file_length;
+
+ char * file_name;
+ unsigned long file_position;
+ unsigned long file_position_2;
+
+ HFILE file_read_refnum;
+ HFILE file_write_refnum;
+
+ long file_fill_offset_56, /* fill to 64 bytes */
+ file_fill_offset_60;
+};
+
+extern struct file file_table[];
+
+#define CLEAN_TRUE 1
+#define CLEAN_BOOL int
+
+extern int file_read_char (struct file *f);
+extern CLEAN_BOOL file_read_int (struct file *f,int *i_p);
+extern CLEAN_BOOL file_read_real (struct file *f,double *r_p);
+extern unsigned long file_read_characters (struct file *f,unsigned long *length_p,char *s);
+extern void file_write_char (int c,struct file *f);
+
+extern void file_write_char (int c,struct file *f);
+extern void file_write_characters (unsigned char *p,int length,struct file *f);
+extern void file_write_int (int i,struct file *f);
+extern void file_write_real (double r,struct file *f);
+extern CLEAN_BOOL flush_file_buffer (struct file *f);