Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/include/stdio.h,v rcsdiff: /ftp/cvs/cvsroot/src/include/stdio.h,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.18 retrieving revision 1.21 diff -u -p -r1.18 -r1.21 --- src/include/stdio.h 1996/04/25 18:29:21 1.18 +++ src/include/stdio.h 1998/02/14 20:33:21 1.21 @@ -1,8 +1,8 @@ -/* $NetBSD: stdio.h,v 1.18 1996/04/25 18:29:21 jtc Exp $ */ +/* $NetBSD: stdio.h,v 1.21 1998/02/14 20:33:21 kleink Exp $ */ /*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Chris Torek. @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)stdio.h 5.17 (Berkeley) 6/3/91 + * @(#)stdio.h 8.5 (Berkeley) 4/29/95 */ #ifndef _STDIO_H_ @@ -46,6 +46,7 @@ #endif #include +#include #include #ifdef _BSD_SIZE_T_ @@ -107,6 +108,8 @@ struct __sbuf { * that does not match the previous one in _bf. When this happens, * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff * _ub._base!=NULL) and _up and _ur save the current values of _p and _r. + * + * NB: see WARNING above before changing the layout of this structure! */ typedef struct __sFILE { unsigned char *_p; /* current position in (some) buffer */ @@ -178,10 +181,11 @@ __END_DECLS #define EOF (-1) /* - * FOPEN_MAX is a minimum maximum, and should be the number of descriptors - * that the kernel can provide without allocation of a resource that can - * fail without the process sleeping. Do not use this for anything. + * FOPEN_MAX is a minimum maximum, and is the number of streams that + * stdio can provide without attempting to allocate further resources + * (which could fail). Do not use this for anything. */ + /* must be == _POSIX_STREAM_MAX */ #define FOPEN_MAX 20 /* must be <= OPEN_MAX */ #define FILENAME_MAX 1024 /* must be <= PATH_MAX */ @@ -238,7 +242,6 @@ int putc __P((int, FILE *)); int putchar __P((int)); int puts __P((const char *)); int remove __P((const char *)); -int rename __P((const char *, const char *)); void rewind __P((FILE *)); int scanf __P((const char *, ...)); void setbuf __P((FILE *, char *)); @@ -251,6 +254,12 @@ int ungetc __P((int, FILE *)); int vfprintf __P((FILE *, const char *, _BSD_VA_LIST_)); int vprintf __P((const char *, _BSD_VA_LIST_)); int vsprintf __P((char *, const char *, _BSD_VA_LIST_)); + +#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) +int rename __P((const char *, const char *)) __RENAME(__posix_rename); +#else +int rename __P((const char *, const char *)); +#endif __END_DECLS /* @@ -268,6 +277,16 @@ int fileno __P((FILE *)); __END_DECLS #endif /* not ANSI */ +#if 1 /* _POSIX_C_SOURCE >= 199506L */ +extern void flockfile __P((FILE *)); +extern int ftrylockfile __P((FILE *)); +extern void funlockfile __P((FILE *)); +extern int getc_unlocked __P((FILE *)); +extern int getchar_unlocked __P((void)); +extern int putc_unlocked __P((int, FILE *)); +extern int putchar_unlocked __P((int)); +#endif + /* * Routines that are purely local. */ @@ -353,19 +372,28 @@ static __inline int __sputc(int _c, FILE #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) #define __sfileno(p) ((p)->_file) +#ifndef lint +#ifndef _REENTRANT #define feof(p) __sfeof(p) #define ferror(p) __sferror(p) #define clearerr(p) __sclearerr(p) -#ifndef _ANSI_SOURCE -#define fileno(p) __sfileno(p) -#endif - -#ifndef lint #define getc(fp) __sgetc(fp) #define putc(x, fp) __sputc(x, fp) +#endif /* _REENTRANT */ #endif /* lint */ #define getchar() getc(stdin) #define putchar(x) putc(x, stdout) + +#ifndef _ANSI_SOURCE +#define fileno(p) __sfileno(p) + +#define getc_unlocked(fp) __sgetc(fp) +#define putc_unlocked(x, fp) __sputc(x, fp) + +#define getchar_unlocked() getc_unlocked(stdin) +#define putchar_unlocked(x) putc_unlocked(x, stdout) +#endif /* _ANSI_SOURCE */ + #endif /* _STDIO_H_ */