Annotation of 43BSD/usr.bin/f77/src/f77pass1/fio.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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