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