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