|
|
1.1 ! root 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.3 (Berkeley) 3/15/86 ! 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: #ifdef vax ! 63: char *sprintf(); /* too painful to do right */ ! 64: #endif ! 65: # endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.