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