| 1 | /* |
| 2 | * Copyright (c) 1980 Regents of the University of California. |
| 3 | * All rights reserved. The Berkeley software License Agreement |
| 4 | * specifies the terms and conditions for redistribution. |
| 5 | * |
| 6 | * @(#)stdio.h 5.4 (Berkeley) %G% |
| 7 | */ |
| 8 | |
| 9 | # ifndef FILE |
| 10 | #define BUFSIZ 1024 |
| 11 | extern struct _iobuf { |
| 12 | int _cnt; |
| 13 | char *_ptr; /* should be unsigned char */ |
| 14 | char *_base; /* ditto */ |
| 15 | int _bufsiz; |
| 16 | short _flag; |
| 17 | char _file; /* should be short */ |
| 18 | } _iob[]; |
| 19 | |
| 20 | #define _IOREAD 01 |
| 21 | #define _IOWRT 02 |
| 22 | #define _IONBF 04 |
| 23 | #define _IOMYBUF 010 |
| 24 | #define _IOEOF 020 |
| 25 | #define _IOERR 040 |
| 26 | #define _IOSTRG 0100 |
| 27 | #define _IOLBF 0200 |
| 28 | #define _IORW 0400 |
| 29 | #define NULL 0 |
| 30 | #define FILE struct _iobuf |
| 31 | #define EOF (-1) |
| 32 | |
| 33 | #define stdin (&_iob[0]) |
| 34 | #define stdout (&_iob[1]) |
| 35 | #define stderr (&_iob[2]) |
| 36 | #ifndef lint |
| 37 | #define getc(p) (--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p)) |
| 38 | #endif not lint |
| 39 | #define getchar() getc(stdin) |
| 40 | #ifndef lint |
| 41 | #define putc(x, p) (--(p)->_cnt >= 0 ?\ |
| 42 | (int)(*(unsigned char *)(p)->_ptr++ = (x)) :\ |
| 43 | (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\ |
| 44 | ((*(p)->_ptr = (x)) != '\n' ?\ |
| 45 | (int)(*(unsigned char *)(p)->_ptr++) :\ |
| 46 | _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\ |
| 47 | _flsbuf((unsigned char)(x), p))) |
| 48 | #endif not lint |
| 49 | #define putchar(x) putc(x,stdout) |
| 50 | #define feof(p) (((p)->_flag&_IOEOF)!=0) |
| 51 | #define ferror(p) (((p)->_flag&_IOERR)!=0) |
| 52 | #define fileno(p) ((p)->_file) |
| 53 | #define clearerr(p) ((p)->_flag &= ~(_IOERR|_IOEOF)) |
| 54 | |
| 55 | FILE *fopen(); |
| 56 | FILE *fdopen(); |
| 57 | FILE *freopen(); |
| 58 | FILE *popen(); |
| 59 | long ftell(); |
| 60 | char *fgets(); |
| 61 | char *gets(); |
| 62 | int sprintf(); /* here until everyone does it right */ |
| 63 | # endif |