1*0Sstevel@tonic-gate /* 2*0Sstevel@tonic-gate * CDDL HEADER START 3*0Sstevel@tonic-gate * 4*0Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*0Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*0Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*0Sstevel@tonic-gate * with the License. 8*0Sstevel@tonic-gate * 9*0Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*0Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*0Sstevel@tonic-gate * See the License for the specific language governing permissions 12*0Sstevel@tonic-gate * and limitations under the License. 13*0Sstevel@tonic-gate * 14*0Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*0Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*0Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*0Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*0Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*0Sstevel@tonic-gate * 20*0Sstevel@tonic-gate * CDDL HEADER END 21*0Sstevel@tonic-gate */ 22*0Sstevel@tonic-gate /* from UCB 1.4 06/30/83 */ 23*0Sstevel@tonic-gate 24*0Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 25*0Sstevel@tonic-gate 26*0Sstevel@tonic-gate # ifndef FILE 27*0Sstevel@tonic-gate #define BUFSIZ 1024 28*0Sstevel@tonic-gate #define _SBFSIZ 8 29*0Sstevel@tonic-gate extern struct _iobuf { 30*0Sstevel@tonic-gate int _cnt; 31*0Sstevel@tonic-gate unsigned char *_ptr; 32*0Sstevel@tonic-gate unsigned char *_base; 33*0Sstevel@tonic-gate int _bufsiz; 34*0Sstevel@tonic-gate short _flag; 35*0Sstevel@tonic-gate char _file; /* should be short */ 36*0Sstevel@tonic-gate } _iob[]; 37*0Sstevel@tonic-gate 38*0Sstevel@tonic-gate #define _IOFBF 0 39*0Sstevel@tonic-gate #define _IOREAD 01 40*0Sstevel@tonic-gate #define _IOWRT 02 41*0Sstevel@tonic-gate #define _IONBF 04 42*0Sstevel@tonic-gate #define _IOMYBUF 010 43*0Sstevel@tonic-gate #define _IOEOF 020 44*0Sstevel@tonic-gate #define _IOERR 040 45*0Sstevel@tonic-gate #define _IOSTRG 0100 46*0Sstevel@tonic-gate #define _IOLBF 0200 47*0Sstevel@tonic-gate #define _IORW 0400 48*0Sstevel@tonic-gate #define NULL 0 49*0Sstevel@tonic-gate #define FILE struct _iobuf 50*0Sstevel@tonic-gate #define EOF (-1) 51*0Sstevel@tonic-gate 52*0Sstevel@tonic-gate #define stdin (&_iob[0]) 53*0Sstevel@tonic-gate #define stdout (&_iob[1]) 54*0Sstevel@tonic-gate #define stderr (&_iob[2]) 55*0Sstevel@tonic-gate 56*0Sstevel@tonic-gate #ifdef lint /* so that lint likes (void)putc(a,b) */ 57*0Sstevel@tonic-gate extern int putc(); 58*0Sstevel@tonic-gate extern int getc(); 59*0Sstevel@tonic-gate #else 60*0Sstevel@tonic-gate #define getc(p) (--(p)->_cnt>=0? ((int)*(p)->_ptr++):_filbuf(p)) 61*0Sstevel@tonic-gate #define putc(x, p) (--(p)->_cnt >= 0 ?\ 62*0Sstevel@tonic-gate (int)(*(p)->_ptr++ = (unsigned char)(x)) :\ 63*0Sstevel@tonic-gate (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\ 64*0Sstevel@tonic-gate ((*(p)->_ptr = (unsigned char)(x)) != '\n' ?\ 65*0Sstevel@tonic-gate (int)(*(p)->_ptr++) :\ 66*0Sstevel@tonic-gate _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\ 67*0Sstevel@tonic-gate _flsbuf((unsigned char)(x), p))) 68*0Sstevel@tonic-gate #endif 69*0Sstevel@tonic-gate #define getchar() getc(stdin) 70*0Sstevel@tonic-gate #define putchar(x) putc((x),stdout) 71*0Sstevel@tonic-gate #define feof(p) (((p)->_flag&_IOEOF)!=0) 72*0Sstevel@tonic-gate #define ferror(p) (((p)->_flag&_IOERR)!=0) 73*0Sstevel@tonic-gate #define clearerr(p) (void) ((p)->_flag &= ~(_IOERR|_IOEOF)) 74*0Sstevel@tonic-gate 75*0Sstevel@tonic-gate extern FILE *fopen(); 76*0Sstevel@tonic-gate extern FILE *fdopen(); 77*0Sstevel@tonic-gate extern FILE *freopen(); 78*0Sstevel@tonic-gate extern FILE *popen(); 79*0Sstevel@tonic-gate extern FILE *tmpfile(); 80*0Sstevel@tonic-gate extern long ftell(); 81*0Sstevel@tonic-gate extern char *fgets(); 82*0Sstevel@tonic-gate extern char *gets(); 83*0Sstevel@tonic-gate extern char *sprintf(); 84*0Sstevel@tonic-gate extern char *ctermid(); 85*0Sstevel@tonic-gate extern char *cuserid(); 86*0Sstevel@tonic-gate extern char *tempnam(); 87*0Sstevel@tonic-gate extern char *tmpnam(); 88*0Sstevel@tonic-gate extern int fileno(); 89*0Sstevel@tonic-gate 90*0Sstevel@tonic-gate #define L_ctermid 9 91*0Sstevel@tonic-gate #define L_cuserid 9 92*0Sstevel@tonic-gate #define P_tmpdir "/usr/tmp/" 93*0Sstevel@tonic-gate #define L_tmpnam 25 /* (sizeof(P_tmpdir) + 15) */ 94*0Sstevel@tonic-gate # endif 95