stdio.h (72472) | stdio.h (72529) |
---|---|
1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)stdio.h 8.5 (Berkeley) 4/29/95 | 1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)stdio.h 8.5 (Berkeley) 4/29/95 |
37 * $FreeBSD: head/include/stdio.h 72472 2001-02-14 05:00:20Z peter $ | 37 * $FreeBSD: head/include/stdio.h 72529 2001-02-16 06:11:22Z imp $ |
38 */ 39 40#ifndef _STDIO_H_ 41#define _STDIO_H_ 42 43#include <sys/cdefs.h> 44#include <machine/ansi.h> 45 --- 19 unchanged lines hidden (view full) --- 65/* stdio buffers */ 66struct __sbuf { 67 unsigned char *_base; 68 int _size; 69}; 70 71struct __file_lock; 72 | 38 */ 39 40#ifndef _STDIO_H_ 41#define _STDIO_H_ 42 43#include <sys/cdefs.h> 44#include <machine/ansi.h> 45 --- 19 unchanged lines hidden (view full) --- 65/* stdio buffers */ 66struct __sbuf { 67 unsigned char *_base; 68 int _size; 69}; 70 71struct __file_lock; 72 |
73/* hold a buncha junk that would grow the ABI */ 74struct __sFILEX { 75 struct __file_lock *_mtlock; /* used for MT-safety */ 76 unsigned char *_up; /* saved _p when _p is doing ungetc data */ 77}; 78 |
|
73/* 74 * stdio state variables. 75 * 76 * The following always hold: 77 * 78 * if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), 79 * _lbfsize is -_bf._size, else _lbfsize is 0 80 * if _flags&__SRD, _w is 0 --- 28 unchanged lines hidden (view full) --- 109 void *_cookie; /* cookie passed to io functions */ 110 int (*_close) __P((void *)); 111 int (*_read) __P((void *, char *, int)); 112 fpos_t (*_seek) __P((void *, fpos_t, int)); 113 int (*_write) __P((void *, const char *, int)); 114 115 /* separate buffer for long sequences of ungetc() */ 116 struct __sbuf _ub; /* ungetc buffer */ | 79/* 80 * stdio state variables. 81 * 82 * The following always hold: 83 * 84 * if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), 85 * _lbfsize is -_bf._size, else _lbfsize is 0 86 * if _flags&__SRD, _w is 0 --- 28 unchanged lines hidden (view full) --- 115 void *_cookie; /* cookie passed to io functions */ 116 int (*_close) __P((void *)); 117 int (*_read) __P((void *, char *, int)); 118 fpos_t (*_seek) __P((void *, fpos_t, int)); 119 int (*_write) __P((void *, const char *, int)); 120 121 /* separate buffer for long sequences of ungetc() */ 122 struct __sbuf _ub; /* ungetc buffer */ |
117 unsigned char *_up; /* saved _p when _p is doing ungetc data */ | 123 struct __sFILEX *_extra; /* additions to FILE to not break ABI */ |
118 int _ur; /* saved _r when _r is counting ungetc data */ 119 120 /* tricks to meet minimum requirements even when malloc() fails */ 121 unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ 122 unsigned char _nbuf[1]; /* guarantee a getc() buffer */ 123 124 /* separate buffer for fgetln() when line crosses buffer boundary */ 125 struct __sbuf _lb; /* buffer for fgetln() */ 126 127 /* Unix stdio files get aligned to block boundaries on fseek() */ 128 int _blksize; /* stat.st_blksize (may be != _bf._size) */ 129 fpos_t _offset; /* current lseek offset (see WARNING) */ | 124 int _ur; /* saved _r when _r is counting ungetc data */ 125 126 /* tricks to meet minimum requirements even when malloc() fails */ 127 unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ 128 unsigned char _nbuf[1]; /* guarantee a getc() buffer */ 129 130 /* separate buffer for fgetln() when line crosses buffer boundary */ 131 struct __sbuf _lb; /* buffer for fgetln() */ 132 133 /* Unix stdio files get aligned to block boundaries on fseek() */ 134 int _blksize; /* stat.st_blksize (may be != _bf._size) */ 135 fpos_t _offset; /* current lseek offset (see WARNING) */ |
130 struct __file_lock *_lock; /* used for MT-safety */ | |
131} FILE; 132 133__BEGIN_DECLS | 136} FILE; 137 138__BEGIN_DECLS |
134extern FILE __stdin; 135extern FILE __stdout; 136extern FILE __stderr; | 139extern FILE __sF[]; |
137__END_DECLS 138 139#define __SLBF 0x0001 /* line buffered */ 140#define __SNBF 0x0002 /* unbuffered */ 141#define __SRD 0x0004 /* OK to read */ 142#define __SWR 0x0008 /* OK to write */ 143 /* RD and WR are never simultaneously asserted */ 144#define __SRW 0x0010 /* open for reading & writing */ --- 46 unchanged lines hidden (view full) --- 191#endif 192#ifndef SEEK_CUR 193#define SEEK_CUR 1 /* set file offset to current plus offset */ 194#endif 195#ifndef SEEK_END 196#define SEEK_END 2 /* set file offset to EOF plus offset */ 197#endif 198 | 140__END_DECLS 141 142#define __SLBF 0x0001 /* line buffered */ 143#define __SNBF 0x0002 /* unbuffered */ 144#define __SRD 0x0004 /* OK to read */ 145#define __SWR 0x0008 /* OK to write */ 146 /* RD and WR are never simultaneously asserted */ 147#define __SRW 0x0010 /* open for reading & writing */ --- 46 unchanged lines hidden (view full) --- 194#endif 195#ifndef SEEK_CUR 196#define SEEK_CUR 1 /* set file offset to current plus offset */ 197#endif 198#ifndef SEEK_END 199#define SEEK_END 2 /* set file offset to EOF plus offset */ 200#endif 201 |
199#define stdin (&__stdin) 200#define stdout (&__stdout) 201#define stderr (&__stderr) | 202#define stdin (&__sF[0]) 203#define stdout (&__sF[1]) 204#define stderr (&__sF[2]) |
202 203/* 204 * Functions defined in ANSI C standard. 205 */ 206__BEGIN_DECLS 207void clearerr __P((FILE *)); 208int fclose __P((FILE *)); 209int feof __P((FILE *)); --- 196 unchanged lines hidden --- | 205 206/* 207 * Functions defined in ANSI C standard. 208 */ 209__BEGIN_DECLS 210void clearerr __P((FILE *)); 211int fclose __P((FILE *)); 212int feof __P((FILE *)); --- 196 unchanged lines hidden --- |