00001 #ifndef SYSDEP_H_INCLUDED
00002 #include "sysdep1.h"
00003 #endif
00004 #include "stdio.h"
00005 #include "errno.h"
00006 #ifndef NULL
00007
00008 #include "stddef.h"
00009 #endif
00010
00011 #ifndef SEEK_SET
00012 #define SEEK_SET 0
00013 #define SEEK_CUR 1
00014 #define SEEK_END 2
00015 #endif
00016
00017 #ifndef FOPEN
00018 #define FOPEN fopen
00019 #endif
00020
00021 #ifndef FREOPEN
00022 #define FREOPEN freopen
00023 #endif
00024
00025 #ifndef FSEEK
00026 #define FSEEK fseek
00027 #endif
00028
00029 #ifndef FSTAT
00030 #define FSTAT fstat
00031 #endif
00032
00033 #ifndef FTELL
00034 #define FTELL ftell
00035 #endif
00036
00037 #ifndef OFF_T
00038 #define OFF_T long
00039 #endif
00040
00041 #ifndef STAT_ST
00042 #define STAT_ST stat
00043 #endif
00044
00045 #ifndef STAT
00046 #define STAT stat
00047 #endif
00048
00049 #ifdef MSDOS
00050 #ifndef NON_UNIX_STDIO
00051 #define NON_UNIX_STDIO
00052 #endif
00053 #endif
00054
00055 #ifdef UIOLEN_int
00056 typedef int uiolen;
00057 #else
00058 typedef long uiolen;
00059 #endif
00060
00061
00062 typedef struct
00063 { FILE *ufd;
00064 char *ufnm;
00065 #ifndef MSDOS
00066 long uinode;
00067 int udev;
00068 #endif
00069 int url;
00070 flag useek;
00071 flag ufmt;
00072 flag urw;
00073 flag ublnk;
00074 flag uend;
00075 flag uwrt;
00076 flag uscrtch;
00077 } unit;
00078
00079 extern flag f__init;
00080 extern cilist *f__elist;
00081 extern flag f__reading,f__external,f__sequential,f__formatted;
00082 #undef Void
00083 #ifdef KR_headers
00084 #define Void
00085 extern int (*f__getn)();
00086 extern void (*f__putn)();
00087 extern void x_putc();
00088 extern long f__inode();
00089 extern VOID sig_die();
00090 extern int (*f__donewrec)(), t_putc(), x_wSL();
00091 extern int c_sfe(), err__fl(), xrd_SL(), f__putbuf();
00092 #else
00093 #define Void void
00094 #ifdef __cplusplus
00095 extern "C" {
00096 #endif
00097 extern int (*f__getn)(void);
00098 extern void (*f__putn)(int);
00099 extern void x_putc(int);
00100 extern long f__inode(char*,int*);
00101 extern void sig_die(char*,int);
00102 extern void f__fatal(int,char*);
00103 extern int t_runc(alist*);
00104 extern int f__nowreading(unit*), f__nowwriting(unit*);
00105 extern int fk_open(int,int,ftnint);
00106 extern int en_fio(void);
00107 extern void f_init(void);
00108 extern int (*f__donewrec)(void), t_putc(int), x_wSL(void);
00109 extern void b_char(char*,char*,ftnlen), g_char(char*,ftnlen,char*);
00110 extern int c_sfe(cilist*), z_rnew(void);
00111 #ifndef _MSC_VER
00112 extern int isatty(int);
00113 #endif
00114 extern int err__fl(int,int,char*);
00115 extern int xrd_SL(void);
00116 extern int f__putbuf(int);
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120 #endif
00121 extern int (*f__doend)(Void);
00122 extern FILE *f__cf;
00123 extern unit *f__curunit;
00124 extern unit f__units[];
00125 #define err(f,m,s) {if(f) errno= m; else f__fatal(m,s); return(m);}
00126 #define errfl(f,m,s) return err__fl((int)f,m,s)
00127
00128
00129 #define MXUNIT 100
00130
00131 extern int f__recpos;
00132 extern OFF_T f__cursor;
00133 extern OFF_T f__hiwater;
00134
00135 #define WRITE 1
00136 #define READ 2
00137 #define SEQ 3
00138 #define DIR 4
00139 #define FMT 5
00140 #define UNF 6
00141 #define EXT 7
00142 #define INT 8
00143
00144 #define buf_end(x) (x->_flag & _IONBF ? x->_ptr : x->_base + BUFSIZ)