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