The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/include/stdio.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * stdio.h - input/output definitions
    3  *
    4  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
    5  * See the copyright notice in the ACK home directory, in the file "Copyright".
    6  */
    7 /* $Header: /cvsup/minix/src/include/stdio.h,v 1.2 2005/09/01 13:07:08 beng Exp $ */
    8 
    9 #ifndef _STDIO_H
   10 #define _STDIO_H
   11 
   12 #ifndef _ANSI_H
   13 #include <ansi.h>
   14 #endif
   15 
   16 /*
   17  * Focus point of all stdio activity.
   18  */
   19 typedef struct __iobuf {
   20         int             _count;
   21         int             _fd;
   22         int             _flags;
   23         int             _bufsiz;
   24         unsigned char   *_buf;
   25         unsigned char   *_ptr;
   26 } FILE;
   27 
   28 #define _IOFBF          0x000
   29 #define _IOREAD         0x001
   30 #define _IOWRITE        0x002
   31 #define _IONBF          0x004
   32 #define _IOMYBUF        0x008
   33 #define _IOEOF          0x010
   34 #define _IOERR          0x020
   35 #define _IOLBF          0x040
   36 #define _IOREADING      0x080
   37 #define _IOWRITING      0x100
   38 #define _IOAPPEND       0x200
   39 #define _IOFIFO         0x400
   40 
   41 /* The following definitions are also in <unistd.h>. They should not
   42  * conflict.
   43  */
   44 #define SEEK_SET        0
   45 #define SEEK_CUR        1
   46 #define SEEK_END        2
   47 
   48 #define stdin           (&__stdin)
   49 #define stdout          (&__stdout)
   50 #define stderr          (&__stderr)
   51 
   52 #define BUFSIZ          1024
   53 #define NULL            ((void *)0)
   54 #define EOF             (-1)
   55 
   56 #define FOPEN_MAX       20
   57 
   58 #include <sys/dir.h>
   59 #define FILENAME_MAX    DIRSIZ
   60 
   61 #define TMP_MAX         999
   62 #define L_tmpnam        (sizeof("/tmp/") + FILENAME_MAX)
   63 #define __STDIO_VA_LIST__       void *
   64 
   65 typedef long int        fpos_t;
   66 
   67 #ifndef _SIZE_T
   68 #define _SIZE_T
   69 typedef unsigned int    size_t;         /* type returned by sizeof */
   70 #endif /* _SIZE_T */
   71 
   72 extern FILE     *__iotab[FOPEN_MAX];
   73 extern FILE     __stdin, __stdout, __stderr;
   74 
   75 _PROTOTYPE( int remove, (const char *_filename)                         );
   76 _PROTOTYPE( int rename, (const char *_old, const char *_new)            );
   77 _PROTOTYPE( FILE *tmpfile, (void)                                       );
   78 _PROTOTYPE( char *tmpnam, (char *_s)                                    );
   79 _PROTOTYPE( int fclose, (FILE *_stream)                                 );
   80 _PROTOTYPE( int fflush, (FILE *_stream)                                 );
   81 _PROTOTYPE( FILE *fopen, (const char *_filename, const char *_mode)     );
   82 _PROTOTYPE( FILE *freopen,
   83             (const char *_filename, const char *_mode, FILE *_stream)   );
   84 _PROTOTYPE( void setbuf, (FILE *_stream, char *_buf)                    );
   85 _PROTOTYPE( int setvbuf,
   86                 (FILE *_stream, char *_buf, int _mode, size_t _size)    );
   87 _PROTOTYPE( int fprintf, (FILE *_stream, const char *_format, ...)      );
   88 _PROTOTYPE( int printf, (const char *_format, ...)                      );
   89 _PROTOTYPE( int sprintf, (char *_s, const char *_format, ...)           );
   90 _PROTOTYPE( int vfprintf,
   91                 (FILE *_stream, const char *_format, char *_arg)        );
   92 _PROTOTYPE( int vprintf, (const char *_format, char *_arg)              );
   93 _PROTOTYPE( int vsprintf, (char *_s, const char *_format, char *_arg)   );
   94 _PROTOTYPE( int fscanf, (FILE *_stream, const char *_format, ...)       );
   95 _PROTOTYPE( int scanf, (const char *_format, ...)                       );
   96 _PROTOTYPE( int sscanf, (const char *_s, const char *_format, ...)      );
   97 #define vfscanf _doscan
   98 _PROTOTYPE( int vfscanf, (FILE *_stream, const char *_format, char *_arg));
   99 _PROTOTYPE( int vscanf, (const char *_format, char *_arg)               );
  100 _PROTOTYPE( int vsscanf, (const char *_s, const char *_format, char *_arg));
  101 _PROTOTYPE( int fgetc, (FILE *_stream)                                  );
  102 _PROTOTYPE( char *fgets, (char *_s, int _n, FILE *_stream)              );
  103 _PROTOTYPE( int fputc, (int _c, FILE *_stream)                          );
  104 _PROTOTYPE( int fputs, (const char *_s, FILE *_stream)                  );
  105 _PROTOTYPE( int getc, (FILE *_stream)                                   );
  106 _PROTOTYPE( int getchar, (void)                                         );
  107 _PROTOTYPE( char *gets, (char *_s)                                      );
  108 _PROTOTYPE( int putc, (int _c, FILE *_stream)                           );
  109 _PROTOTYPE( int putchar, (int _c)                                       );
  110 _PROTOTYPE( int puts, (const char *_s)                                  );
  111 _PROTOTYPE( int ungetc, (int _c, FILE *_stream)                         );
  112 _PROTOTYPE( size_t fread,
  113             (void *_ptr, size_t _size, size_t _nmemb, FILE *_stream)    );
  114 _PROTOTYPE( size_t fwrite,
  115         (const void *_ptr, size_t _size, size_t _nmemb, FILE *_stream)  );
  116 _PROTOTYPE( int fgetpos, (FILE *_stream, fpos_t *_pos)                  );
  117 _PROTOTYPE( int fseek, (FILE *_stream, long _offset, int _whence)       );
  118 _PROTOTYPE( int fsetpos, (FILE *_stream, fpos_t *_pos)                  );
  119 _PROTOTYPE( long ftell, (FILE *_stream)                                 );
  120 _PROTOTYPE( void rewind, (FILE *_stream)                                );
  121 _PROTOTYPE( void clearerr, (FILE *_stream)                              );
  122 _PROTOTYPE( int feof, (FILE *_stream)                                   );
  123 _PROTOTYPE( int ferror, (FILE *_stream)                                 );
  124 _PROTOTYPE( void perror, (const char *_s)                               );
  125 _PROTOTYPE( int __fillbuf, (FILE *_stream)                              );
  126 _PROTOTYPE( int __flushbuf, (int _c, FILE *_stream)                     );
  127 
  128 #define getchar()       getc(stdin)
  129 #define putchar(c)      putc(c,stdout)
  130 #define getc(p)         (--(p)->_count >= 0 ? (int) (*(p)->_ptr++) : \
  131                                 __fillbuf(p))
  132 #define putc(c, p)      (--(p)->_count >= 0 ? \
  133                          (int) (*(p)->_ptr++ = (c)) : \
  134                          __flushbuf((c),(p)))
  135 
  136 #define feof(p)         (((p)->_flags & _IOEOF) != 0)
  137 #define ferror(p)       (((p)->_flags & _IOERR) != 0)
  138 #define clearerr(p)     ((p)->_flags &= ~(_IOERR|_IOEOF))
  139 
  140 #ifdef _POSIX_SOURCE
  141 _PROTOTYPE( int fileno, (FILE *_stream)                                 );
  142 _PROTOTYPE (FILE *fdopen, (int _fildes, const char *_types) );
  143 #define fileno(stream)          ((stream)->_fd)
  144 #define L_ctermid 255   /* required by POSIX */
  145 #define L_cuserid 255   /* required by POSIX */
  146 #endif
  147 
  148 #ifdef _MINIX
  149 _PROTOTYPE(FILE *popen, (const char *_command, const char *_type));
  150 _PROTOTYPE(int pclose, (FILE *_stream));
  151 _PROTOTYPE(int snprintf, (char *_s, size_t _n, const char *_format, ...));
  152 _PROTOTYPE(int vsnprintf, (char *_s, size_t _n, const char *_format,
  153                                                         char *_arg)     );
  154 #endif
  155 
  156 #endif /* _STDIO_H */

Cache object: f03fcb47e2e40d7a7325280a2d46a1a0


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.