Annotation of 41BSD/lib/libI77uc/fiodefs.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * fortran file i/o type definitions
                      3:  */
                      4: 
                      5: #include <stdio.h>
                      6: 
                      7: /* Logical Unit Table Size */
                      8: #define MXUNIT _NFILE
                      9: 
                     10: #define GLITCH '\2'    /* special quote for Stu, generated in f77pass1 */
                     11: 
                     12: #define LISTDIRECTED  -1
                     13: #define FORMATTED      1
                     14: 
                     15: #define ERROR  1
                     16: #define OK     0
                     17: #define YES    1
                     18: #define NO     0
                     19: 
                     20: #define STDERR 0
                     21: #define STDIN  5
                     22: #define STDOUT 6
                     23: 
                     24: #define WRITE  1
                     25: #define READ   2
                     26: #define SEQ    3
                     27: #define DIR    4
                     28: #define FMT    5
                     29: #define UNF    6
                     30: #define EXT    7
                     31: #define INT    8
                     32: 
                     33: typedef char ioflag;
                     34: typedef long ftnint;
                     35: typedef ftnint flag;
                     36: typedef long ftnlen;
                     37: 
                     38: typedef struct         /*external read, write*/
                     39: {      flag cierr;
                     40:        ftnint ciunit;
                     41:        flag ciend;
                     42:        char *cifmt;
                     43:        ftnint cirec;
                     44: } cilist;
                     45: 
                     46: typedef struct         /*internal read, write*/
                     47: {      flag icierr;
                     48:        char *iciunit;
                     49:        flag iciend;
                     50:        char *icifmt;
                     51:        ftnint icirlen;
                     52:        ftnint icirnum;
                     53:        ftnint icirec;
                     54: } icilist;
                     55: 
                     56: typedef struct         /*open*/
                     57: {      flag oerr;
                     58:        ftnint ounit;
                     59:        char *ofnm;
                     60:        ftnlen ofnmlen;
                     61:        char *osta;
                     62:        char *oacc;
                     63:        char *ofm;
                     64:        ftnint orl;
                     65:        char *oblnk;
                     66: } olist;
                     67: 
                     68: typedef struct         /*close*/
                     69: {      flag cerr;
                     70:        ftnint cunit;
                     71:        char *csta;
                     72: } cllist;
                     73: 
                     74: typedef struct         /*rewind, backspace, endfile*/
                     75: {      flag aerr;
                     76:        ftnint aunit;
                     77: } alist;
                     78: 
                     79: typedef struct         /*units*/
                     80: {      FILE *ufd;      /*0=unconnected*/
                     81:        char *ufnm;
                     82:        long uinode;
                     83:        int url;        /*0=sequential*/
                     84:        flag useek;     /*true=can backspace, use dir, ...*/
                     85:        flag ufmt;
                     86:        flag uprnt;
                     87:        flag ublnk;
                     88:        flag uend;
                     89:        flag uwrt;      /*last io was write*/
                     90:        flag uscrtch;
                     91: } unit;
                     92: 
                     93: typedef struct         /* inquire */
                     94: {      flag inerr;
                     95:        ftnint inunit;
                     96:        char *infile;
                     97:        ftnlen infilen;
                     98:        ftnint  *inex;  /*parameters in standard's order*/
                     99:        ftnint  *inopen;
                    100:        ftnint  *innum;
                    101:        ftnint  *innamed;
                    102:        char    *inname;
                    103:        ftnlen  innamlen;
                    104:        char    *inacc;
                    105:        ftnlen  inacclen;
                    106:        char    *inseq;
                    107:        ftnlen  inseqlen;
                    108:        char    *indir;
                    109:        ftnlen  indirlen;
                    110:        char    *inform;
                    111:        ftnlen  informlen;
                    112:        char    *infmt;
                    113:        ftnint  infmtlen;
                    114:        char    *inunf;
                    115:        ftnlen  inunflen;
                    116:        ftnint  *inrecl;
                    117:        ftnint  *innrec;
                    118:        char    *inblank;
                    119:        ftnlen  inblanklen;
                    120: } inlist;
                    121: 
                    122: typedef union
                    123: {      float pf;
                    124:        double pd;
                    125: } ufloat;
                    126: 
                    127: typedef union
                    128: {      short is;
                    129:        char ic;
                    130:        long il;
                    131: } uint;
                    132: 

unix.superglobalmegacorp.com

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