|
|
1.1 root 1: /* @(#)stdio.h 2.7 */
2: #ifndef _NFILE
3: #define _NFILE 128
4:
5: #if u370
6: #define BUFSIZ 4096
7: #endif
8: #if vax || u3b || u3b5
9: #define BUFSIZ 4096
10: #endif
11: #if pdp11
12: #define BUFSIZ 512
13: #endif
14:
15: /* buffer size for multi-character output to unbuffered files */
16: #define _SBFSIZ 8
17:
18: typedef struct {
19: #if vax || u3b || u3b5
20: int _cnt;
21: unsigned char *_ptr;
22: #else
23: unsigned char *_ptr;
24: int _cnt;
25: #endif
26: unsigned char *_base;
27: char _flag;
28: char _file;
29: } FILE;
30:
31: /*
32: * _IOLBF means that a file's output will be buffered line by line
33: * In addition to being flags, _IONBF, _IOLBF and _IOFBF are possible
34: * values for "type" in setvbuf.
35: */
36: #define _IOFBF 0000
37: #define _IOREAD 0001
38: #define _IOWRT 0002
39: #define _IONBF 0004
40: #define _IOMYBUF 0010
41: #define _IOEOF 0020
42: #define _IOERR 0040
43: #define _IOLBF 0100
44: #define _IORW 0200
45:
46: #ifndef NULL
47: #define NULL 0
48: #endif
49: #ifndef EOF
50: #define EOF (-1)
51: #endif
52:
53: #define stdin (&_iob[0])
54: #define stdout (&_iob[1])
55: #define stderr (&_iob[2])
56:
57: #define _bufend(p) _bufendtab[(p)->_file]
58: #define _bufsiz(p) (_bufend(p) - (p)->_base)
59:
60: #ifndef lint
61: #define getc(p) (--(p)->_cnt < 0 ? _filbuf(p) : (int) *(p)->_ptr++)
62: #define putc(x, p) (--(p)->_cnt < 0 ? \
63: _flsbuf((unsigned char) (x), (p)) : \
64: (int) (*(p)->_ptr++ = (unsigned char) (x)))
65: #define getchar() getc(stdin)
66: #define putchar(x) putc((x), stdout)
67: #define clearerr(p) ((void) ((p)->_flag &= ~(_IOERR | _IOEOF)))
68: #define feof(p) ((p)->_flag & _IOEOF)
69: #define ferror(p) ((p)->_flag & _IOERR)
70: #define fileno(p) (p)->_file
71: #endif
72:
73: extern FILE _iob[_NFILE];
74: extern FILE *fopen(), *fdopen(), *freopen(), *popen(), *tmpfile();
75: extern long ftell();
76: extern void rewind(), setbuf();
77: extern char *ctermid(), *cuserid(), *fgets(), *gets(), *tempnam(), *tmpnam();
78: extern unsigned char *_bufendtab[];
79:
80: #define L_ctermid 9
81: #define L_cuserid 9
82: #define P_tmpdir "/usr/tmp/"
83: #define L_tmpnam (sizeof(P_tmpdir) + 15)
84: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.