|
|
1.1 root 1: #include "stdio.h"
2: #include "errno.h"
3: #ifndef NULL
4: /* ANSI C */
5: #include "stddef.h"
6: #endif
7:
8: #ifndef SEEK_SET
9: #define SEEK_SET 0
10: #define SEEK_CUR 1
11: #define SEEK_END 2
12: #endif
13:
14: #ifdef MSDOS
15: #ifndef NON_UNIX_STDIO
16: #define NON_UNIX_STDIO
17: #endif
18: #endif
19:
20: #ifdef UIOLEN_int
21: typedef int uiolen;
22: #else
23: typedef long uiolen;
24: #endif
25:
26: /*units*/
27: typedef struct
28: { FILE *ufd; /*0=unconnected*/
29: char *ufnm;
30: #ifndef MSDOS
31: long uinode;
32: int udev;
33: #endif
34: int url; /*0=sequential*/
35: flag useek; /*true=can backspace, use dir, ...*/
36: flag ufmt;
37: flag uprnt;
38: flag ublnk;
39: flag uend;
40: flag uwrt; /*last io was write*/
41: flag uscrtch;
42: } unit;
43:
44: extern flag f__init;
45: extern cilist *f__elist; /*active external io list*/
46: extern flag f__reading,f__external,f__sequential,f__formatted;
47: #ifdef KR_headers
48: #define Void /*void*/
49: extern int (*f__getn)(),(*f__putn)(); /*for formatted io*/
50: extern long f__inode();
51: extern VOID sig_die();
52: extern int (*f__donewrec)(), t_putc(), x_wSL();
53: extern int c_sfe();
54: #else
55: #define Void void
56: #ifdef __cplusplus
57: extern "C" {
58: #endif
59: extern int (*f__getn)(void),(*f__putn)(int); /*for formatted io*/
60: extern long f__inode(char*,int*);
61: extern void sig_die(char*,int);
62: extern void f__fatal(int,char*);
63: extern int t_runc(alist*);
64: extern int f__nowreading(unit*), f__nowwriting(unit*);
65: extern int fk_open(int,int,ftnint);
66: extern int en_fio(void);
67: extern void f_init(void);
68: extern int (*f__donewrec)(void), t_putc(int), x_wSL(void);
69: extern void b_char(char*,char*,ftnlen), g_char(char*,ftnlen,char*);
70: extern int c_sfe(cilist*), z_rnew(void);
71: extern int isatty(int);
72: #ifdef __cplusplus
73: }
74: #endif
75: #endif
76: extern FILE *f__cf; /*current file*/
77: extern unit *f__curunit; /*current unit*/
78: extern unit f__units[];
79: #define err(f,m,s) {if(f) errno= m; else f__fatal(m,s); return(m);}
80:
81: /*Table sizes*/
82: #define MXUNIT 100
83:
84: extern int f__recpos; /*position in current record*/
85: extern int f__cursor; /* offset to move to */
86: extern int f__hiwater; /* so TL doesn't confuse us */
87:
88: #define WRITE 1
89: #define READ 2
90: #define SEQ 3
91: #define DIR 4
92: #define FMT 5
93: #define UNF 6
94: #define EXT 7
95: #define INT 8
96:
97: #define buf_end(x) (x->_flag & _IONBF ? x->_ptr : x->_base + BUFSIZ)
98: #ifdef __cplusplus
99: extern "C" {
100: extern long int f_back(alist *);
101: extern long int f_clos(cllist *);
102: extern void f_exit(void);
103: extern void flush_(void);
104: extern int y_rsk(void);
105: extern int y_getc(void);
106: extern int y_putc(int);
107: extern int y_rev(void);
108: extern int y_err(void);
109: extern int y_newrec(void);
110: extern int c_dfe(cilist *);
111: extern long int s_rdfe(cilist *);
112: extern long int s_wdfe(cilist *);
113: extern long int e_rdfe(void);
114: extern long int e_wdfe(void);
115: extern long int do_lio(long int *, long int *, char *, long int);
116: extern int c_due(cilist *);
117: extern long int s_rdue(cilist *);
118: extern long int s_wdue(cilist *);
119: extern long int e_rdue(void);
120: extern long int e_wdue(void);
121: extern long int f_end(alist *);
122: extern int f__canseek(struct _iobuf *);
123: extern char *ap_end(char *);
124: extern int op_gen(int, int, int, int);
125: extern char *gt_num(char *, int *);
126: extern char *f_s(char *, int);
127: extern int ne_d(char *, char **);
128: extern int e_d(char *, char **);
129: extern char *i_tem(char *);
130: extern char *f_list(char *);
131: extern int pars_f(char *);
132: extern int type_f(int);
133: extern long int do_fio(long int *, char *, long int);
134: extern void fmt_bg(void);
135: extern char *f__icvt(long int, int *, int *, int);
136: extern int z_getc(void);
137: extern int z_putc(int);
138: extern int c_si(icilist *);
139: extern int y_ierr(void);
140: extern long int s_rsfi(icilist *);
141: extern int z_wnew(void);
142: extern long int s_wsfi(icilist *);
143: extern long int e_rsfi(void);
144: extern long int e_wsfi(void);
145: extern void c_liw(icilist *);
146: extern int s_wsni(icilist *);
147: extern long int s_wsli(icilist *);
148: extern long int e_wsli(void);
149: extern long int f_inqu(inlist *);
150: extern int t_getc(void);
151: extern long int e_rsle(void);
152: extern int l_R(int);
153: extern int l_C(void);
154: extern int l_L(void);
155: extern int l_CHAR(void);
156: extern int c_le(cilist *);
157: extern int l_read(long int *, char *, long int, long int);
158: extern long int s_rsle(cilist *);
159: extern char *mktemp(char *);
160: extern int f__isdev(char *);
161: extern long int f_open(olist *);
162: extern long int f_rew(alist *);
163: extern int xrd_SL(void);
164: extern int x_getc(void);
165: extern int x_endp(void);
166: extern int x_rev(void);
167: extern long int s_rsfe(cilist *);
168: extern int i_getc(void);
169: extern int i_ungetc(int, struct _iobuf *);
170: extern long int s_rsli(icilist *);
171: extern long int e_rsli(void);
172: extern int s_rsni(icilist *);
173: extern int x_rsne(cilist *);
174: extern long int s_rsne(cilist *);
175: extern long int e_rsfe(void);
176: extern long int e_wsfe(void);
177: extern int c_sue(cilist *);
178: extern long int s_rsue(cilist *);
179: extern long int s_wsue(cilist *);
180: extern long int e_wsue(void);
181: extern long int e_rsue(void);
182: extern int do_us(long int *, char *, long int);
183: extern long int do_ud(long int *, char *, long int);
184: extern long int do_uio(long int *, char *, long int);
185: extern long int f__inode(char *, int *);
186: extern void f__mvgbt(int, int, char *, char *);
187: extern int mv_cur(void);
188: extern int x_putc(int);
189: extern int xw_end(void);
190: extern int xw_rev(void);
191: extern long int s_wsfe(cilist *);
192: extern long int s_wsle(cilist *);
193: extern long int e_wsle(void);
194: extern long int s_wsne(cilist *);
195: extern void x_wsne(cilist *);
196: }
197: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.