[BACK]Return to stdio.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / include

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/include/stdio.h between version 1.20 and 1.41.2.4

version 1.20, 1998/02/02 21:07:52 version 1.41.2.4, 2002/05/02 17:02:32
Line 41 
Line 41 
 #ifndef _STDIO_H_  #ifndef _STDIO_H_
 #define _STDIO_H_  #define _STDIO_H_
   
 #if !defined(_ANSI_SOURCE) && !defined(__STRICT_ANSI__)  #include <sys/ansi.h>
 #include <sys/types.h>  
 #endif  
   
 #include <sys/cdefs.h>  #include <sys/cdefs.h>
   #include <sys/featuretest.h>
   
 #include <machine/ansi.h>  #include <machine/ansi.h>
 #ifdef  _BSD_SIZE_T_  #ifdef  _BSD_SIZE_T_
Line 53  typedef _BSD_SIZE_T_ size_t;
Line 52  typedef _BSD_SIZE_T_ size_t;
 #undef  _BSD_SIZE_T_  #undef  _BSD_SIZE_T_
 #endif  #endif
   
 #ifndef NULL  #include <sys/null.h>
 #define NULL    0  
 #endif  
   
 /*  /*
  * This is fairly grotesque, but pure ANSI code must not inspect the   * This is fairly grotesque, but pure ANSI code must not inspect the
  * innards of an fpos_t anyway.  The library internally uses off_t,   * innards of an fpos_t anyway.  The library internally uses off_t,
  * which we assume is exactly as big as eight chars.   * which we assume is exactly as big as eight chars.
  */   */
 #if !defined(_ANSI_SOURCE) && !defined(__STRICT_ANSI__)  #if (!defined(_ANSI_SOURCE) && !defined(__STRICT_ANSI__)) || defined(_LIBC)
 typedef off_t fpos_t;  typedef __off_t fpos_t;
 #else  #else
 typedef struct __sfpos {  typedef struct __sfpos {
         long long _pos;                 /* XXX must be the same as off_t */          __off_t _pos;
 } fpos_t;  } fpos_t;
 #endif  #endif
   
Line 126  typedef struct __sFILE {
Line 123  typedef struct __sFILE {
         fpos_t  (*_seek)  __P((void *, fpos_t, int));          fpos_t  (*_seek)  __P((void *, fpos_t, int));
         int     (*_write) __P((void *, const char *, int));          int     (*_write) __P((void *, const char *, int));
   
           /* file extension */
           struct  __sbuf _ext;
   
         /* separate buffer for long sequences of ungetc() */          /* separate buffer for long sequences of ungetc() */
         struct  __sbuf _ub;     /* ungetc buffer */  
         unsigned char *_up;     /* saved _p when _p is doing ungetc data */          unsigned char *_up;     /* saved _p when _p is doing ungetc data */
         int     _ur;            /* saved _r when _r is counting ungetc data */          int     _ur;            /* saved _r when _r is counting ungetc data */
   
Line 158  __END_DECLS
Line 157  __END_DECLS
 #define __SMBF  0x0080          /* _buf is from malloc */  #define __SMBF  0x0080          /* _buf is from malloc */
 #define __SAPP  0x0100          /* fdopen()ed in append mode */  #define __SAPP  0x0100          /* fdopen()ed in append mode */
 #define __SSTR  0x0200          /* this is an sprintf/snprintf string */  #define __SSTR  0x0200          /* this is an sprintf/snprintf string */
 #define __SOPT  0x0400          /* do fseek() optimisation */  #define __SOPT  0x0400          /* do fseek() optimization */
 #define __SNPT  0x0800          /* do not do fseek() optimisation */  #define __SNPT  0x0800          /* do not do fseek() optimization */
 #define __SOFF  0x1000          /* set iff _offset is in fact correct */  #define __SOFF  0x1000          /* set iff _offset is in fact correct */
 #define __SMOD  0x2000          /* true => fgetln modified _p text */  #define __SMOD  0x2000          /* true => fgetln modified _p text */
   #define __SALC  0x4000          /* allocate string space dynamically */
   
 /*  /*
  * The following three definitions are for ANSI C, which took them   * The following three definitions are for ANSI C, which took them
Line 195  __END_DECLS
Line 195  __END_DECLS
 #define L_tmpnam        1024    /* XXX must be == PATH_MAX */  #define L_tmpnam        1024    /* XXX must be == PATH_MAX */
 #define TMP_MAX         308915776  #define TMP_MAX         308915776
   
   /* Always ensure that these are consistent with <fcntl.h> and <unistd.h>! */
 #ifndef SEEK_SET  #ifndef SEEK_SET
 #define SEEK_SET        0       /* set file offset to offset */  #define SEEK_SET        0       /* set file offset to offset */
 #endif  #endif
Line 219  int  feof __P((FILE *));
Line 220  int  feof __P((FILE *));
 int      ferror __P((FILE *));  int      ferror __P((FILE *));
 int      fflush __P((FILE *));  int      fflush __P((FILE *));
 int      fgetc __P((FILE *));  int      fgetc __P((FILE *));
 int      fgetpos __P((FILE *, fpos_t *));  int      fgetpos __P((FILE * __restrict, fpos_t * __restrict));
 char    *fgets __P((char *, int, FILE *));  char    *fgets __P((char * __restrict, int, FILE * __restrict));
 FILE    *fopen __P((const char *, const char *));  FILE    *fopen __P((const char *, const char *));
 int      fprintf __P((FILE *, const char *, ...));  int      fprintf __P((FILE * __restrict , const char * __restrict, ...));
 int      fputc __P((int, FILE *));  int      fputc __P((int, FILE *));
 int      fputs __P((const char *, FILE *));  int      fputs __P((const char * __restrict, FILE * __restrict));
 size_t   fread __P((void *, size_t, size_t, FILE *));  size_t   fread __P((void * __restrict, size_t, size_t, FILE * __restrict));
 FILE    *freopen __P((const char *, const char *, FILE *));  FILE    *freopen __P((const char *, const char *, FILE * __restrict));
 int      fscanf __P((FILE *, const char *, ...));  int      fscanf __P((FILE * __restrict, const char * __restrict, ...));
 int      fseek __P((FILE *, long, int));  int      fseek __P((FILE *, long, int));
 int      fsetpos __P((FILE *, const fpos_t *));  int      fsetpos __P((FILE *, const fpos_t *));
 long     ftell __P((FILE *));  long     ftell __P((FILE *));
 size_t   fwrite __P((const void *, size_t, size_t, FILE *));  size_t   fwrite __P((const void * __restrict, size_t, size_t,
               FILE * __restrict));
 int      getc __P((FILE *));  int      getc __P((FILE *));
 int      getchar __P((void));  int      getchar __P((void));
 char    *gets __P((char *));  
 void     perror __P((const char *));  void     perror __P((const char *));
 int      printf __P((const char *, ...));  int      printf __P((const char * __restrict, ...));
 int      putc __P((int, FILE *));  int      putc __P((int, FILE *));
 int      putchar __P((int));  int      putchar __P((int));
 int      puts __P((const char *));  int      puts __P((const char *));
 int      remove __P((const char *));  int      remove __P((const char *));
 int      rename  __P((const char *, const char *));  
 void     rewind __P((FILE *));  void     rewind __P((FILE *));
 int      scanf __P((const char *, ...));  int      scanf __P((const char * __restrict, ...));
 void     setbuf __P((FILE *, char *));  void     setbuf __P((FILE * __restrict, char * __restrict));
 int      setvbuf __P((FILE *, char *, int, size_t));  int      setvbuf __P((FILE * __restrict, char * __restrict, int, size_t));
 int      sprintf __P((char *, const char *, ...));  int      sscanf __P((const char * __restrict, const char * __restrict, ...));
 int      sscanf __P((const char *, const char *, ...));  
 FILE    *tmpfile __P((void));  FILE    *tmpfile __P((void));
 char    *tmpnam __P((char *));  
 int      ungetc __P((int, FILE *));  int      ungetc __P((int, FILE *));
 int      vfprintf __P((FILE *, const char *, _BSD_VA_LIST_));  int      vfprintf __P((FILE * __restrict, const char * __restrict,
 int      vprintf __P((const char *, _BSD_VA_LIST_));              _BSD_VA_LIST_));
 int      vsprintf __P((char *, const char *, _BSD_VA_LIST_));  int      vfprintf_unlocked __P((FILE * __restrict, const char * __restrict,
               _BSD_VA_LIST_));
   int      vprintf __P((const char * __restrict, _BSD_VA_LIST_));
   
   #ifndef __AUDIT__
   char    *gets __P((char *));
   int      sprintf __P((char * __restrict, const char * __restrict, ...));
   char    *tmpnam __P((char *));
   int      vsprintf __P((char * __resitrct, const char * __restrict,
               _BSD_VA_LIST_));
   #endif
   
   #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  __END_DECLS
   
 /*  /*
  * Functions defined in POSIX 1003.1.   * IEEE Std 1003.1-90
  */   */
 #ifndef _ANSI_SOURCE  #ifndef _ANSI_SOURCE
 #define L_ctermid       1024    /* size for ctermid(); PATH_MAX */  #define L_ctermid       1024    /* size for ctermid(); PATH_MAX */
Line 265  __END_DECLS
Line 279  __END_DECLS
   
 __BEGIN_DECLS  __BEGIN_DECLS
 char    *ctermid __P((char *));  char    *ctermid __P((char *));
   #ifndef __CUSERID_DECLARED
   #define __CUSERID_DECLARED
   /* also declared in unistd.h */
 char    *cuserid __P((char *));  char    *cuserid __P((char *));
   #endif /* __CUSERID_DECLARED */
 FILE    *fdopen __P((int, const char *));  FILE    *fdopen __P((int, const char *));
 int      fileno __P((FILE *));  int      fileno __P((FILE *));
 __END_DECLS  __END_DECLS
 #endif /* not ANSI */  #endif /* not ANSI */
   
 #if 1   /* _POSIX_C_SOURCE >= 199506L */  /*
 extern void     flockfile __P((FILE *));   * IEEE Std 1003.1c-95, also adopted by X/Open CAE Spec Issue 5 Version 2
 extern int      ftrylockfile __P((FILE *));   */
 extern void     funlockfile __P((FILE *));  #if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
 extern int      getc_unlocked __P((FILE *));       !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE - 0) >= 199506L || \
 extern int      getchar_unlocked __P((void));      (_XOPEN_SOURCE - 0) >= 500 || defined(_REENTRANT)
 extern int      putc_unlocked __P((int, FILE *));  __BEGIN_DECLS
 extern int      putchar_unlocked __P((int));  void    flockfile __P((FILE *));
 #endif  int     ftrylockfile __P((FILE *));
   void    funlockfile __P((FILE *));
   int     getc_unlocked __P((FILE *));
   int     getchar_unlocked __P((void));
   int     putc_unlocked __P((int, FILE *));
   int     putchar_unlocked __P((int));
   __END_DECLS
   #endif /* (!_ANSI_SOURCE && !_POSIX_C_SOURCE && !_XOPEN_SOURCE) || ... */
   
 /*  /*
  * Routines that are purely local.   * Functions defined in POSIX 1003.2 and XPG2 or later.
  */   */
 #if !defined (_ANSI_SOURCE) && !defined(_POSIX_SOURCE)  #if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
        !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE - 0) >= 2 || \
       (_XOPEN_SOURCE - 0) >= 2
 __BEGIN_DECLS  __BEGIN_DECLS
 char    *fgetln __P((FILE *, size_t *));  
 int      fpurge __P((FILE *));  
 int      getw __P((FILE *));  
 int      pclose __P((FILE *));  int      pclose __P((FILE *));
 FILE    *popen __P((const char *, const char *));  FILE    *popen __P((const char *, const char *));
   __END_DECLS
   #endif
   
   /*
    * Functions defined in XPG4.2.
    */
   #if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) || \
       defined(_XOPEN_SOURCE)
   __BEGIN_DECLS
   int      getw __P((FILE *));
 int      putw __P((int, FILE *));  int      putw __P((int, FILE *));
   int      snprintf __P((char * __restrict, size_t, const char * __restrict, ...))
               __attribute__((__format__(__printf__, 3, 4)));
   int      vsnprintf __P((char * __restrict, size_t, const char * __restrict,
               _BSD_VA_LIST_))
               __attribute__((__format__(__printf__, 3, 0)));
   
   #ifndef __AUDIT__
   char    *tempnam __P((const char *, const char *));
   #endif
   __END_DECLS
   #endif
   
   /*
    * X/Open CAE Specification Issue 5 Version 2
    */
   #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || \
       (_XOPEN_SOURCE - 0) >= 500 || defined(_LARGEFILE_SOURCE)
   #ifndef off_t
   typedef __off_t         off_t;
   #define off_t           __off_t
   #endif /* off_t */
   
   __BEGIN_DECLS
   int      fseeko __P((FILE *, off_t, int));
   off_t    ftello __P((FILE *));
   __END_DECLS
   #endif /* (!_POSIX_SOURCE && !_XOPEN_SOURCE) || ... */
   
   /*
    * Routines that are purely local.
    */
   #if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
       !defined(_XOPEN_SOURCE)
   __BEGIN_DECLS
   int      asprintf __P((char ** __restrict, const char * __restrict, ...))
               __attribute__((__format__(__printf__, 2, 3)));
   char    *fgetln __P((FILE * __restrict, size_t * __restrict));
   int      fpurge __P((FILE *));
 void     setbuffer __P((FILE *, char *, int));  void     setbuffer __P((FILE *, char *, int));
 int      setlinebuf __P((FILE *));  int      setlinebuf __P((FILE *));
 char    *tempnam __P((const char *, const char *));  int      vasprintf __P((char ** __restrict, const char * __restrict,
 int      snprintf __P((char *, size_t, const char *, ...))              _BSD_VA_LIST_))
                 __attribute__((format (printf, 3, 4)));              __attribute__((__format__(__printf__, 2, 0)));
 int      vsnprintf __P((char *, size_t, const char *, _BSD_VA_LIST_))  int      vscanf __P((const char * __restrict, _BSD_VA_LIST_))
                 __attribute__((format (printf, 3, 0)));              __attribute__((__format__(__scanf__, 1, 0)));
 int      vscanf __P((const char *, _BSD_VA_LIST_))  int      vsscanf __P((const char * __restrict, const char * __restrict,
                 __attribute__((format (scanf, 1, 0)));              _BSD_VA_LIST_))
 int      vsscanf __P((const char *, const char *, _BSD_VA_LIST_))              __attribute__((__format__(__scanf__, 2, 0)));
                 __attribute__((format (scanf, 2, 0)));  __const char *fmtcheck __P((const char *, const char *))
               __attribute__((__format_arg__(2)));
 __END_DECLS  __END_DECLS
   
 /*  /*
Line 331  __END_DECLS
Line 404  __END_DECLS
  */   */
 __BEGIN_DECLS  __BEGIN_DECLS
 int     __srget __P((FILE *));  int     __srget __P((FILE *));
 int     __svfscanf __P((FILE *, const char *, _BSD_VA_LIST_));  int     __svfscanf __P((FILE * __restrict, const char * __restrict,
               _BSD_VA_LIST_));
   int     __svfscanf_unlocked __P((FILE * __restrict, const char * __restrict,
               _BSD_VA_LIST_));
 int     __swbuf __P((int, FILE *));  int     __swbuf __P((int, FILE *));
 __END_DECLS  __END_DECLS
   
Line 374  static __inline int __sputc(int _c, FILE
Line 450  static __inline int __sputc(int _c, FILE
   
 #define getc(fp)        __sgetc(fp)  #define getc(fp)        __sgetc(fp)
 #define putc(x, fp)     __sputc(x, fp)  #define putc(x, fp)     __sputc(x, fp)
 #endif /* _REENTRANT */  #endif /* !_REENTRANT */
 #endif /* lint */  #endif /* lint */
   
 #define getchar()       getc(stdin)  #define getchar()       getc(stdin)
 #define putchar(x)      putc(x, stdout)  #define putchar(x)      putc(x, stdout)
   
 #ifndef _ANSI_SOURCE  #ifndef _ANSI_SOURCE
   #ifndef _REENTRANT
 #define fileno(p)       __sfileno(p)  #define fileno(p)       __sfileno(p)
   #endif /* !_REENTRANT */
   #endif /* !_ANSI_SOURCE */
   
   #if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
        !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE - 0) >= 199506L || \
       (_XOPEN_SOURCE - 0) >= 500 || defined(_REENTRANT)
 #define getc_unlocked(fp)       __sgetc(fp)  #define getc_unlocked(fp)       __sgetc(fp)
 #define putc_unlocked(x, fp)    __sputc(x, fp)  #define putc_unlocked(x, fp)    __sputc(x, fp)
   
 #define getchar_unlocked()      getc_unlocked(stdin)  #define getchar_unlocked()      getc_unlocked(stdin)
 #define putchar_unlocked(x)     putc_unlocked(x, stdout)  #define putchar_unlocked(x)     putc_unlocked(x, stdout)
 #endif /* _ANSI_SOURCE */  #endif /* (!_ANSI_SOURCE && !_POSIX_C_SOURCE && !_XOPEN_SOURCE) || ... */
   
 #endif /* _STDIO_H_ */  #endif /* _STDIO_H_ */

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.41.2.4

CVSweb <webmaster@jp.NetBSD.org>