summaryrefslogtreecommitdiff
path: root/wfileIO3.h
diff options
context:
space:
mode:
Diffstat (limited to 'wfileIO3.h')
-rw-r--r--wfileIO3.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/wfileIO3.h b/wfileIO3.h
index 49816ba..ea8e20b 100644
--- a/wfileIO3.h
+++ b/wfileIO3.h
@@ -1,5 +1,15 @@
-struct file { /* 48 bytes */
+#ifdef A64
+typedef __int64 CLEAN_INT;
+typedef unsigned __int64 UNSIGNED_CLEAN_INT;
+typedef unsigned __int64 FilePositionT;
+#else
+typedef long CLEAN_INT;
+typedef unsigned long UNSIGNED_CLEAN_INT;
+typedef unsigned long FilePositionT;
+#endif
+
+struct file {
unsigned char * file_read_p; /* offset 0 */
unsigned char * file_write_p; /* offset 4 */
unsigned char * file_end_read_buffer_p; /* offset 8 */
@@ -11,17 +21,16 @@ struct file { /* 48 bytes */
unsigned char * file_read_buffer_p;
unsigned char * file_write_buffer_p;
- unsigned long file_offset;
- unsigned long file_length;
+ FilePositionT file_offset;
+ FilePositionT file_length;
char * file_name;
- unsigned long file_position;
- unsigned long file_position_2;
+ FilePositionT file_position;
+ FilePositionT file_position_2;
HFILE file_read_refnum;
HFILE file_write_refnum;
-
- long file_fill_offset_56, /* fill to 64 bytes */
+ CLEAN_INT file_fill_offset_56, /* fill to 64 bytes */
file_fill_offset_60;
};
@@ -31,13 +40,13 @@ extern struct file file_table[];
#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_int (struct file *f,CLEAN_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 UNSIGNED_CLEAN_INT file_read_characters (struct file *f,UNSIGNED_CLEAN_INT *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_characters (unsigned char *p,UNSIGNED_CLEAN_INT length,struct file *f);
+extern void file_write_int (CLEAN_INT i,struct file *f);
extern void file_write_real (double r,struct file *f);
extern CLEAN_BOOL flush_file_buffer (struct file *f);