Annotation of coherent/f/usr/include.78/stdio.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 4.0.2
                      3:  *     Copyright (c) 1982, 1993 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /*
                      7:  * stdio.h
                      8:  * COHERENT Standard Input/Output library header.
                      9:  * ANSI C Standard, Section 4.9.
                     10:  */
                     11: 
                     12: #ifndef        __STDIO_H__
                     13: #define        __STDIO_H__
                     14: 
                     15: #ifndef        NULL
                     16: #define        NULL    ((char *)0)
                     17: #endif
                     18: 
                     19: /* Macros. */
                     20: #define        BUFSIZ          512             /* default buffer size  */
                     21: #define        EOF             (-1)            /* end of file          */
                     22: #define        _EOFCHAR        26              /* ASCII EOF character  */
                     23: #define        FILENAME_MAX    64              /* max filename length  */
                     24: #define        FOPEN_MAX       _NFILE          /* max # of open files  */
                     25: #define        _NFILE          60              /* number of FILEs      */
                     26: #define        _NSTDFILE       3               /* number of predefined FILEs   */
                     27: #define        L_tmpnam        64              /* tmpnam length        */
                     28: #define        P_tmpdir        "/tmp"          /* default temporary directory */
                     29: #define        SEEK_CUR        1               /* from current position */
                     30: #define        SEEK_END        2               /* from end             */
                     31: #define        SEEK_SET        0               /* from beginning       */
                     32: #define        TMP_MAX         91              /* number of tmpnams    */
                     33: 
                     34: /* Types. */
                     35: typedef long           fpos_t;         /* file position type   */
                     36: #ifndef        _SIZE_T
                     37: #define        _SIZE_T
                     38: typedef        unsigned int    size_t;         /* sizeof result type   */
                     39: #endif
                     40: /*
                     41:  * The order the first 5 FILE members corresponds to the order in iBCS2,
                     42:  * to allow a degree of binary compatability.
                     43:  */
                     44: typedef struct FILE {
                     45:        int             _cc;            /* character count      */
                     46:        unsigned char   *_cp;           /* current character    */
                     47:        struct _FILE2   *_f2p;          /* more info            */
                     48:        char            _ff1;           /* flags                */
                     49:        char            _fd;            /* file descriptor      */
                     50:        char            _ff2;           /* more flags; see below */
                     51:        char            _mode;          /* mode                 */
                     52: }      FILE;
                     53: /* These additional members are not in struct FILE for compatability reasons. */
                     54: typedef        struct  _FILE2 {
                     55:        int             (*_gt)();       /* getc function        */
                     56:        int             (*_pt)();       /* putc function        */
                     57:        unsigned char   *_bp;           /* start of buffer      */
                     58:        unsigned char   *_dp;           /* start of data        */
                     59:        unsigned char   *_ep;           /* end of buffer        */
                     60:        char            *_nm;           /* temp file name       */
                     61:        int             _uc;            /* ungot char           */
                     62: }      _FILE2;
                     63: 
                     64: /* iBCS2 compatability. */
                     65: #define        _cnt    _cc
                     66: #define        _ptr    _cp
                     67: #define        _base   _f2p
                     68: #define        _flag   _ff1
                     69: #define        _file   _fd
                     70: 
                     71: /* Standard FILEs. */
                     72: extern FILE    _iob[_NSTDFILE];
                     73: extern FILE    *_fp[_NFILE];
                     74: #define        stdin   (&_iob[0])
                     75: #define        stdout  (&_iob[1])
                     76: #define        stderr  (&_iob[2])
                     77: 
                     78: /* _IO[FLN]BF are used for setvbuf() type args. */
                     79: #define        _IOFBF          0x00            /* fully buffered       */
                     80: #define        _IONBF          0x04            /* unbuffered           */
                     81: #define        _IOLBF          0x40            /* line buffered        */
                     82: /* Flags in _ff1, cf. iBCS2. */
                     83: #define        _FEOF           0x10            /* end of file          */
                     84: #define        _FERR           0x20            /* error                */
                     85: /* Non-iBCS2 flags in _ff1. */
                     86: #define        _FRONLY         0x01            /* read only            */
                     87: #define        _FWONLY         0x02            /* write only           */
                     88: #define        _FRW            0x80            /* read and write       */
                     89: 
                     90: /* Flags in _ff2, not in iBCS2. */
                     91: #define        _FINUSE         0x01            /* in use               */
                     92: #define        _FAPPND         0x02            /* append               */
                     93: #define _FASCII                0x04            /* ASCII                */
                     94: #define        _FDONTC         0x08            /* do not close         */
                     95: #define        _FFREEB         0x10            /* free buffer when closed      */
                     96: #define        _FUNGOT         0x80            /* ungotten char present        */
                     97: 
                     98: /* Mode field values. */
                     99: #define        _MODE_FBUF      0x01            /* fully buffered       */
                    100: #define        _MODE_LBUF      0x02            /* line buffered        */
                    101: #define        _MODE_NBUF      0x04            /* unbuffered           */
                    102: #define        _MODE_STR       0x08            /* string               */
                    103: #define        _MODE_UNINIT    0x10            /* uninitialized        */
                    104: 
                    105: /* External declarations for non-conforming implementations. */
                    106: /* Standard functions. */
                    107: extern void    clearerr();             /* 4.9.10.1 */
                    108: extern int     fclose  ();             /* 4.9.5.1  */
                    109: extern int     feof    ();             /* 4.9.10.2 */
                    110: extern int     ferror  ();             /* 4.9.10.3 */
                    111: extern int     fflush  ();             /* 4.9.5.2  */
                    112: extern int     fgetc   ();             /* 4.9.7.1  */
                    113: extern int     fgetpos ();             /* 4.9.9.1  */
                    114: extern char *  fgets   ();             /* 4.9.7.2  */
                    115: extern FILE *  fopen   ();             /* 4.9.5.3  */
                    116: extern int     fprintf ();             /* 4.9.6.1  */
                    117: extern int     fputc   ();             /* 4.9.7.3  */
                    118: extern int     fputs   ();             /* 4.9.7.4  */
                    119: extern size_t  fread   ();             /* 4.9.8.1  */
                    120: extern FILE *  freopen ();             /* 4.9.5.4  */
                    121: extern int     fscanf  ();             /* 4.9.6.2  */
                    122: extern int     fseek   ();             /* 4.9.9.2  */
                    123: extern int     fsetpos ();             /* 4.9.9.3  */
                    124: extern long int        ftell   ();             /* 4.9.9.4  */
                    125: extern size_t  fwrite  ();             /* 4.9.8.2  */
                    126: extern int     getc    ();             /* 4.9.7.5  */
                    127: extern int     getchar ();             /* 4.9.7.6  */
                    128: extern char *  gets    ();             /* 4.9.7.7  */
                    129: extern void    perror  ();             /* 4.9.10.4 */
                    130: extern int     printf  ();             /* 4.9.6.3  */
                    131: extern int     putc    ();             /* 4.9.7.8  */
                    132: extern int     putchar ();             /* 4.9.7.9  */
                    133: extern int     puts    ();             /* 4.9.7.10 */
                    134: extern int     remove  ();             /* 4.9.4.1  */
                    135: extern int     rename  ();             /* 4.9.4.2  */
                    136: extern void    rewind  ();             /* 4.9.9.5  */
                    137: extern int     scanf   ();             /* 4.9.6.4  */
                    138: extern void    setbuf  ();             /* 4.9.5.5  */
                    139: extern int     setvbuf ();             /* 4.9.5.6  */
                    140: extern int     sprintf ();             /* 4.9.6.5  */
                    141: extern int     sscanf  ();             /* 4.9.6.6  */
                    142: extern FILE *  tmpfile ();             /* 4.9.4.3  */
                    143: extern char *  tmpnam  ();             /* 4.9.4.4  */
                    144: extern int     ungetc  ();             /* 4.9.7.11 */
                    145: extern int     vfprintf();             /* 4.9.6.7  */
                    146: extern int     vprintf ();             /* 4.9.6.8  */
                    147: extern int     vsprintf();             /* 4.9.6.9  */
                    148: 
                    149: /* Internal functions. */
                    150: extern void    _dassign();
                    151: extern int     _dscan  ();
                    152: extern char *  _dtefg  ();
                    153: extern void    _dtoa   ();
                    154: extern int     _fgetb  ();
                    155: extern int     _fgetc  ();
                    156: extern int     _fgete  ();
                    157: extern int     _fgetstr();
                    158: extern int     _fginit ();
                    159: extern int     _filbuf ();
                    160: extern void    _finish ();
                    161: extern int     _flsbuf ();
                    162: extern FILE *  _fopen  ();
                    163: extern int     _fpinit ();
                    164: extern int     _fpseek ();
                    165: extern int     _fputa  ();
                    166: extern int     _fputb  ();
                    167: extern int     _fputc  ();
                    168: extern int     _fpute  ();
                    169: extern int     _fputt  ();
                    170: extern int     _scanf  ();
                    171: extern FILE *  _stropen();
                    172: 
                    173: /* Nonstandard functions. */
                    174: extern FILE *  fdopen();
                    175: extern FILE *  popen();
                    176: 
                    177: /* Macros covering standard functions. */
                    178: #define        clearerr(fp)    ((fp)->_ff1 &= ~(_FERR|_FEOF))
                    179: #define        feof(fp)        ((fp)->_ff1 & _FEOF)
                    180: #define        ferror(fp)      ((fp)->_ff1 & _FERR)
                    181: #define        getc(fp)        (--(fp)->_cc<0 ? ++(fp)->_cc,(*(fp)->_f2p->_gt)((fp)) \
                    182:                                       : *(fp)->_cp++)
                    183: #define        getchar()       getc(stdin)
                    184: #define        putc(c,fp)      (--(fp)->_cc<0 ? ++(fp)->_cc,(*(fp)->_f2p->_pt)((c),(fp)) \
                    185:                                       : (*(fp)->_cp++=(c)))
                    186: #define        putchar(c)      putc((c), stdout)
                    187: 
                    188: /* Other macros, non-ANSI. */
                    189: #define        fileno(fp)      ((fp)->_fd)
                    190: #endif
                    191: 
                    192: /* end of stdio.h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.