|
|
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*/
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.