Annotation of 40BSD/lib/libI77/fio.h, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: typedef long ftnint;
        !             3: typedef ftnint flag;
        !             4: typedef long ftnlen;
        !             5: /*external read, write*/
        !             6: typedef struct
        !             7: {      flag cierr;
        !             8:        ftnint ciunit;
        !             9:        flag ciend;
        !            10:        char *cifmt;
        !            11:        ftnint cirec;
        !            12: } cilist;
        !            13: /*internal read, write*/
        !            14: typedef struct
        !            15: {      flag icierr;
        !            16:        char *iciunit;
        !            17:        flag iciend;
        !            18:        char *icifmt;
        !            19:        ftnint icirlen;
        !            20:        ftnint icirnum;
        !            21: } icilist;
        !            22: /*open*/
        !            23: typedef struct
        !            24: {      flag oerr;
        !            25:        ftnint ounit;
        !            26:        char *ofnm;
        !            27:        ftnlen ofnmlen;
        !            28:        char *osta;
        !            29:        char *oacc;
        !            30:        char *ofm;
        !            31:        ftnint orl;
        !            32:        char *oblnk;
        !            33: } olist;
        !            34: /*close*/
        !            35: typedef struct
        !            36: {      flag cerr;
        !            37:        ftnint cunit;
        !            38:        char *csta;
        !            39: } cllist;
        !            40: /*rewind, backspace, endfile*/
        !            41: typedef struct
        !            42: {      flag aerr;
        !            43:        ftnint aunit;
        !            44: } alist;
        !            45: /*units*/
        !            46: typedef struct
        !            47: {      FILE *ufd;      /*0=unconnected*/
        !            48:        char *ufnm;
        !            49:        long uinode;
        !            50:        int url;        /*0=sequential*/
        !            51:        flag useek;     /*true=can backspace, use dir, ...*/
        !            52:        flag ufmt;
        !            53:        flag uprnt;
        !            54:        flag ublnk;
        !            55:        flag uend;
        !            56:        flag uwrt;      /*last io was write*/
        !            57:        flag uscrtch;
        !            58: } unit;
        !            59: typedef struct
        !            60: {      flag inerr;
        !            61:        ftnint inunit;
        !            62:        char *infile;
        !            63:        ftnlen infilen;
        !            64:        ftnint  *inex;  /*parameters in standard's order*/
        !            65:        ftnint  *inopen;
        !            66:        ftnint  *innum;
        !            67:        ftnint  *innamed;
        !            68:        char    *inname;
        !            69:        ftnlen  innamlen;
        !            70:        char    *inacc;
        !            71:        ftnlen  inacclen;
        !            72:        char    *inseq;
        !            73:        ftnlen  inseqlen;
        !            74:        char    *indir;
        !            75:        ftnlen  indirlen;
        !            76:        char    *infmt;
        !            77:        ftnlen  infmtlen;
        !            78:        char    *inform;
        !            79:        ftnint  informlen;
        !            80:        char    *inunf;
        !            81:        ftnlen  inunflen;
        !            82:        ftnint  *inrecl;
        !            83:        ftnint  *innrec;
        !            84:        char    *inblank;
        !            85:        ftnlen  inblanklen;
        !            86: } inlist;
        !            87: 
        !            88: extern int errno;
        !            89: extern flag init;
        !            90: extern cilist *elist;  /*active external io list*/
        !            91: extern flag reading,external,sequential,formatted;
        !            92: extern int (*getn)(),(*putn)();        /*for formatted io*/
        !            93: extern FILE *cf;       /*current file*/
        !            94: extern unit *curunit;  /*current unit*/
        !            95: extern unit units[];
        !            96: #define err(f,n,s) {if(f) errno= n; else fatal(n,s); return(n);}
        !            97: 
        !            98: /*Table sizes*/
        !            99: #define MXUNIT 20
        !           100: 
        !           101: extern int recpos;     /*position in current record*/
        !           102: 
        !           103: #define WRITE  1
        !           104: #define READ   2
        !           105: #define SEQ    3
        !           106: #define DIR    4
        !           107: #define FMT    5
        !           108: #define UNF    6
        !           109: #define EXT    7
        !           110: #define INT    8

unix.superglobalmegacorp.com

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