Annotation of 42BSD/usr.lib/libI77/fiodefs.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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