865
|
1 #define BUFSIZ 256
|
|
2 #define _NFILE 16
|
|
3 typedef struct _iobuf {
|
|
4 char *_ptr, /* buffer pointer */
|
|
5 *_base, /* buffer base address */
|
|
6 *_end; /* buffer end address */
|
|
7 int _flag; /* file status */
|
|
8 int _fd; /* file path number */
|
|
9 char _save; /* for 'ungetc' when unbuffered */
|
|
10 int _bufsiz; /* size of data buffer */
|
|
11 } FILE;
|
|
12
|
|
13 extern FILE _iob[_NFILE];
|
|
14
|
|
15 #define _READ 1
|
|
16 #define _WRITE 2
|
|
17 #define _UNBUF 4
|
|
18 #define _BIGBUF 8
|
|
19 #define _EOF 0x10
|
|
20 #define _ERR 0x20
|
|
21 #define _SCF 0x40
|
|
22 #define _RBF 0x80
|
|
23 #define _DEVMASK 0xc0
|
|
24 #define _WRITTEN 0x0100 /* buffer written in update mode */
|
|
25 #define _INIT 0x8000 /* _iob initialized */
|
|
26
|
|
27 #define EOF (-1)
|
|
28 #define EOL 13
|
|
29 #define NULL 0
|
|
30
|
|
31 #define stdin _iob
|
|
32 #define stdout (&_iob[1])
|
|
33 #define stderr (&_iob[2])
|
|
34
|
|
35 #define PMODE 0xb /* r/w for owner, r for others */
|
|
36
|
|
37 #define fgetc getc
|
|
38 #define putchar(c) putc(c,stdout)
|
|
39 #define getchar() getc(stdin)
|
|
40 #define ferror(p) ((p)->_flag&_ERR)
|
|
41 #define feof(p) ((p)->_flag&_EOF)
|
|
42 #define clearerr(p) ((p)->_flag&=~_ERR)
|
|
43 #define fileno(p) ((p)->_fd)
|
|
44
|
|
45 long ftell();
|