stdio.h (87379) | stdio.h (93032) |
---|---|
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 87379 2001-12-05 04:16:33Z obrien $ | 37 * $FreeBSD: head/include/stdio.h 93032 2002-03-23 17:24:55Z imp $ |
38 */ 39 40#ifndef _STDIO_H_ 41#define _STDIO_H_ 42 43#include <sys/cdefs.h> 44#include <machine/ansi.h> 45 --- 57 unchanged lines hidden (view full) --- 103 int _w; /* write space left for putc() */ 104 short _flags; /* flags, below; this FILE is free if 0 */ 105 short _file; /* fileno, if Unix descriptor, else -1 */ 106 struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ 107 int _lbfsize; /* 0 or -_bf._size, for inline putc */ 108 109 /* operations */ 110 void *_cookie; /* cookie passed to io functions */ | 38 */ 39 40#ifndef _STDIO_H_ 41#define _STDIO_H_ 42 43#include <sys/cdefs.h> 44#include <machine/ansi.h> 45 --- 57 unchanged lines hidden (view full) --- 103 int _w; /* write space left for putc() */ 104 short _flags; /* flags, below; this FILE is free if 0 */ 105 short _file; /* fileno, if Unix descriptor, else -1 */ 106 struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ 107 int _lbfsize; /* 0 or -_bf._size, for inline putc */ 108 109 /* operations */ 110 void *_cookie; /* cookie passed to io functions */ |
111 int (*_close) __P((void *)); 112 int (*_read) __P((void *, char *, int)); 113 fpos_t (*_seek) __P((void *, fpos_t, int)); 114 int (*_write) __P((void *, const char *, int)); | 111 int (*_close)(void *); 112 int (*_read)(void *, char *, int); 113 fpos_t (*_seek)(void *, fpos_t, int); 114 int (*_write)(void *, const char *, int); |
115 116 /* separate buffer for long sequences of ungetc() */ 117 struct __sbuf _ub; /* ungetc buffer */ 118 struct __sFILEX *_extra; /* additions to FILE to not break ABI */ 119 int _ur; /* saved _r when _r is counting ungetc data */ 120 121 /* tricks to meet minimum requirements even when malloc() fails */ 122 unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ --- 84 unchanged lines hidden (view full) --- 207#define stdout __stdoutp 208#define stderr __stderrp 209#endif 210 211/* 212 * Functions defined in ANSI C standard. 213 */ 214__BEGIN_DECLS | 115 116 /* separate buffer for long sequences of ungetc() */ 117 struct __sbuf _ub; /* ungetc buffer */ 118 struct __sFILEX *_extra; /* additions to FILE to not break ABI */ 119 int _ur; /* saved _r when _r is counting ungetc data */ 120 121 /* tricks to meet minimum requirements even when malloc() fails */ 122 unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ --- 84 unchanged lines hidden (view full) --- 207#define stdout __stdoutp 208#define stderr __stderrp 209#endif 210 211/* 212 * Functions defined in ANSI C standard. 213 */ 214__BEGIN_DECLS |
215void clearerr __P((FILE *)); 216int fclose __P((FILE *)); 217int feof __P((FILE *)); 218int ferror __P((FILE *)); 219int fflush __P((FILE *)); 220int fgetc __P((FILE *)); 221int fgetpos __P((FILE *, fpos_t *)); 222char *fgets __P((char *, int, FILE *)); 223FILE *fopen __P((const char *, const char *)); 224int fprintf __P((FILE *, const char *, ...)); 225int fputc __P((int, FILE *)); 226int fputs __P((const char *, FILE *)); 227size_t fread __P((void *, size_t, size_t, FILE *)); 228FILE *freopen __P((const char *, const char *, FILE *)); 229int fscanf __P((FILE *, const char *, ...)); 230int fseek __P((FILE *, long, int)); 231int fsetpos __P((FILE *, const fpos_t *)); 232long ftell __P((FILE *)); 233size_t fwrite __P((const void *, size_t, size_t, FILE *)); 234int getc __P((FILE *)); 235int getchar __P((void)); 236char *gets __P((char *)); | 215void clearerr(FILE *); 216int fclose(FILE *); 217int feof(FILE *); 218int ferror(FILE *); 219int fflush(FILE *); 220int fgetc(FILE *); 221int fgetpos(FILE *, fpos_t *); 222char *fgets(char *, int, FILE *); 223FILE *fopen(const char *, const char *); 224int fprintf(FILE *, const char *, ...); 225int fputc(int, FILE *); 226int fputs(const char *, FILE *); 227size_t fread(void *, size_t, size_t, FILE *); 228FILE *freopen(const char *, const char *, FILE *); 229int fscanf(FILE *, const char *, ...); 230int fseek(FILE *, long, int); 231int fsetpos(FILE *, const fpos_t *); 232long ftell(FILE *); 233size_t fwrite(const void *, size_t, size_t, FILE *); 234int getc(FILE *); 235int getchar(void); 236char *gets(char *); |
237#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 238extern __const int sys_nerr; /* perror(3) external variables */ 239extern __const char *__const sys_errlist[]; 240#endif | 237#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 238extern __const int sys_nerr; /* perror(3) external variables */ 239extern __const char *__const sys_errlist[]; 240#endif |
241void perror __P((const char *)); 242int printf __P((const char *, ...)); 243int putc __P((int, FILE *)); 244int putchar __P((int)); 245int puts __P((const char *)); 246int remove __P((const char *)); 247int rename __P((const char *, const char *)); 248void rewind __P((FILE *)); 249int scanf __P((const char *, ...)); 250void setbuf __P((FILE *, char *)); 251int setvbuf __P((FILE *, char *, int, size_t)); 252int sprintf __P((char *, const char *, ...)); 253int sscanf __P((const char *, const char *, ...)); 254FILE *tmpfile __P((void)); 255char *tmpnam __P((char *)); 256int ungetc __P((int, FILE *)); 257int vfprintf __P((FILE *, const char *, _BSD_VA_LIST_)); 258int vprintf __P((const char *, _BSD_VA_LIST_)); 259int vsprintf __P((char *, const char *, _BSD_VA_LIST_)); | 241void perror(const char *); 242int printf(const char *, ...); 243int putc(int, FILE *); 244int putchar(int); 245int puts(const char *); 246int remove(const char *); 247int rename(const char *, const char *); 248void rewind(FILE *); 249int scanf(const char *, ...); 250void setbuf(FILE *, char *); 251int setvbuf(FILE *, char *, int, size_t); 252int sprintf(char *, const char *, ...); 253int sscanf(const char *, const char *, ...); 254FILE *tmpfile(void); 255char *tmpnam(char *); 256int ungetc(int, FILE *); 257int vfprintf(FILE *, const char *, _BSD_VA_LIST_); 258int vprintf(const char *, _BSD_VA_LIST_); 259int vsprintf(char *, const char *, _BSD_VA_LIST_); |
260__END_DECLS 261 262/* 263 * Functions defined in POSIX 1003.1. 264 */ 265#ifndef _ANSI_SOURCE 266/* size for cuserid(3); UT_NAMESIZE + 1, see <utmp.h> */ 267#define L_cuserid 17 268 269#define L_ctermid 1024 /* size for ctermid(3); PATH_MAX */ 270 271__BEGIN_DECLS | 260__END_DECLS 261 262/* 263 * Functions defined in POSIX 1003.1. 264 */ 265#ifndef _ANSI_SOURCE 266/* size for cuserid(3); UT_NAMESIZE + 1, see <utmp.h> */ 267#define L_cuserid 17 268 269#define L_ctermid 1024 /* size for ctermid(3); PATH_MAX */ 270 271__BEGIN_DECLS |
272char *ctermid __P((char *)); 273FILE *fdopen __P((int, const char *)); 274int fileno __P((FILE *)); 275int ftrylockfile __P((FILE *)); 276void flockfile __P((FILE *)); 277void funlockfile __P((FILE *)); | 272char *ctermid(char *); 273FILE *fdopen(int, const char *); 274int fileno(FILE *); 275int ftrylockfile(FILE *); 276void flockfile(FILE *); 277void funlockfile(FILE *); |
278__END_DECLS 279#endif /* not ANSI */ 280 281/* 282 * Portability hacks. See <sys/types.h>. 283 */ 284#if !defined (_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 285__BEGIN_DECLS 286#ifndef _FTRUNCATE_DECLARED 287#define _FTRUNCATE_DECLARED | 278__END_DECLS 279#endif /* not ANSI */ 280 281/* 282 * Portability hacks. See <sys/types.h>. 283 */ 284#if !defined (_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 285__BEGIN_DECLS 286#ifndef _FTRUNCATE_DECLARED 287#define _FTRUNCATE_DECLARED |
288int ftruncate __P((int, _BSD_OFF_T_)); | 288int ftruncate(int, _BSD_OFF_T_); |
289#endif 290#ifndef _LSEEK_DECLARED 291#define _LSEEK_DECLARED | 289#endif 290#ifndef _LSEEK_DECLARED 291#define _LSEEK_DECLARED |
292_BSD_OFF_T_ lseek __P((int, _BSD_OFF_T_, int)); | 292_BSD_OFF_T_ lseek(int, _BSD_OFF_T_, int); |
293#endif 294#ifndef _MMAP_DECLARED 295#define _MMAP_DECLARED | 293#endif 294#ifndef _MMAP_DECLARED 295#define _MMAP_DECLARED |
296void *mmap __P((void *, size_t, int, int, int, _BSD_OFF_T_)); | 296void *mmap(void *, size_t, int, int, int, _BSD_OFF_T_); |
297#endif 298#ifndef _TRUNCATE_DECLARED 299#define _TRUNCATE_DECLARED | 297#endif 298#ifndef _TRUNCATE_DECLARED 299#define _TRUNCATE_DECLARED |
300int truncate __P((const char *, _BSD_OFF_T_)); | 300int truncate(const char *, _BSD_OFF_T_); |
301#endif 302__END_DECLS 303#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ 304 305/* 306 * Routines that are purely local. 307 */ 308#if !defined (_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 309__BEGIN_DECLS | 301#endif 302__END_DECLS 303#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ 304 305/* 306 * Routines that are purely local. 307 */ 308#if !defined (_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 309__BEGIN_DECLS |
310int asprintf __P((char **, const char *, ...)) __printflike(2, 3); 311char *ctermid_r __P((char *)); 312char *fgetln __P((FILE *, size_t *)); | 310int asprintf(char **, const char *, ...) __printflike(2, 3); 311char *ctermid_r(char *); 312char *fgetln(FILE *, size_t *); |
313#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3 314#define __ATTR_FORMAT_ARG __attribute__((__format_arg__(2))) 315#else 316#define __ATTR_FORMAT_ARG 317#endif | 313#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3 314#define __ATTR_FORMAT_ARG __attribute__((__format_arg__(2))) 315#else 316#define __ATTR_FORMAT_ARG 317#endif |
318__const char *fmtcheck __P((const char *, const char *)) __ATTR_FORMAT_ARG; 319int fpurge __P((FILE *)); 320int fseeko __P((FILE *, _BSD_OFF_T_, int)); 321_BSD_OFF_T_ ftello __P((FILE *)); 322int getw __P((FILE *)); 323int pclose __P((FILE *)); 324FILE *popen __P((const char *, const char *)); 325int putw __P((int, FILE *)); 326void setbuffer __P((FILE *, char *, int)); 327int setlinebuf __P((FILE *)); 328char *tempnam __P((const char *, const char *)); 329int snprintf __P((char *, size_t, const char *, ...)) __printflike(3, 4); 330int vasprintf __P((char **, const char *, _BSD_VA_LIST_)) | 318__const char *fmtcheck(const char *, const char *) __ATTR_FORMAT_ARG; 319int fpurge(FILE *); 320int fseeko(FILE *, _BSD_OFF_T_, int); 321_BSD_OFF_T_ ftello(FILE *); 322int getw(FILE *); 323int pclose(FILE *); 324FILE *popen(const char *, const char *); 325int putw(int, FILE *); 326void setbuffer(FILE *, char *, int); 327int setlinebuf(FILE *); 328char *tempnam(const char *, const char *); 329int snprintf(char *, size_t, const char *, ...) __printflike(3, 4); 330int vasprintf(char **, const char *, _BSD_VA_LIST_) |
331 __printflike(2, 0); | 331 __printflike(2, 0); |
332int vsnprintf __P((char *, size_t, const char *, _BSD_VA_LIST_)) | 332int vsnprintf(char *, size_t, const char *, _BSD_VA_LIST_) |
333 __printflike(3, 0); | 333 __printflike(3, 0); |
334int vscanf __P((const char *, _BSD_VA_LIST_)) __scanflike(1, 0); 335int vsscanf __P((const char *, const char *, _BSD_VA_LIST_)) | 334int vscanf(const char *, _BSD_VA_LIST_) __scanflike(1, 0); 335int vsscanf(const char *, const char *, _BSD_VA_LIST_) |
336 __scanflike(2, 0); 337__END_DECLS 338 339/* 340 * This is a #define because the function is used internally and 341 * (unlike vfscanf) the name __vfscanf is guaranteed not to collide 342 * with a user function when _ANSI_SOURCE or _POSIX_SOURCE is defined. 343 */ 344#define vfscanf __vfscanf 345 346/* 347 * Stdio function-access interface. 348 */ 349__BEGIN_DECLS | 336 __scanflike(2, 0); 337__END_DECLS 338 339/* 340 * This is a #define because the function is used internally and 341 * (unlike vfscanf) the name __vfscanf is guaranteed not to collide 342 * with a user function when _ANSI_SOURCE or _POSIX_SOURCE is defined. 343 */ 344#define vfscanf __vfscanf 345 346/* 347 * Stdio function-access interface. 348 */ 349__BEGIN_DECLS |
350FILE *funopen __P((const void *, | 350FILE *funopen(const void *, |
351 int (*)(void *, char *, int), 352 int (*)(void *, const char *, int), 353 fpos_t (*)(void *, fpos_t, int), | 351 int (*)(void *, char *, int), 352 int (*)(void *, const char *, int), 353 fpos_t (*)(void *, fpos_t, int), |
354 int (*)(void *))); | 354 int (*)(void *)); |
355__END_DECLS 356#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) 357#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) 358#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ 359 360/* 361 * Functions internal to the implementation. 362 */ 363__BEGIN_DECLS | 355__END_DECLS 356#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) 357#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) 358#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ 359 360/* 361 * Functions internal to the implementation. 362 */ 363__BEGIN_DECLS |
364int __srget __P((FILE *)); 365int __vfscanf __P((FILE *, const char *, _BSD_VA_LIST_)); 366int __svfscanf __P((FILE *, const char *, _BSD_VA_LIST_)); 367int __swbuf __P((int, FILE *)); | 364int __srget(FILE *); 365int __vfscanf(FILE *, const char *, _BSD_VA_LIST_); 366int __svfscanf(FILE *, const char *, _BSD_VA_LIST_); 367int __swbuf(int, FILE *); |
368__END_DECLS 369 370/* 371 * The __sfoo macros are here so that we can 372 * define function versions in the C library. 373 */ 374#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) 375#if defined(__GNUC__) && defined(__STDC__) --- 44 unchanged lines hidden --- | 368__END_DECLS 369 370/* 371 * The __sfoo macros are here so that we can 372 * define function versions in the C library. 373 */ 374#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) 375#if defined(__GNUC__) && defined(__STDC__) --- 44 unchanged lines hidden --- |