BSD 3 development
authorDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Sat, 1 Dec 1979 03:05:11 +0000 (19:05 -0800)
committerDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Sat, 1 Dec 1979 03:05:11 +0000 (19:05 -0800)
Work on file usr/src/new/libI77uc/fiodefs.h

Synthesized-from: 3bsd

usr/src/new/libI77uc/fiodefs.h [new file with mode: 0644]

diff --git a/usr/src/new/libI77uc/fiodefs.h b/usr/src/new/libI77uc/fiodefs.h
new file mode 100644 (file)
index 0000000..ed39177
--- /dev/null
@@ -0,0 +1,132 @@
+/*
+ * fortran file i/o type definitions
+ */
+
+#include <stdio.h>
+
+/* Logical Unit Table Size */
+#define MXUNIT _NFILE
+
+#define GLITCH '\2'    /* special quote for Stu, generated in f77pass1 */
+
+#define LISTDIRECTED  -1
+#define FORMATTED      1
+
+#define ERROR  1
+#define OK     0
+#define YES    1
+#define NO     0
+
+#define STDERR 0
+#define STDIN  5
+#define STDOUT 6
+
+#define WRITE  1
+#define READ   2
+#define SEQ    3
+#define DIR    4
+#define FMT    5
+#define UNF    6
+#define EXT    7
+#define INT    8
+
+typedef char ioflag;
+typedef long ftnint;
+typedef ftnint flag;
+typedef long ftnlen;
+
+typedef struct         /*external read, write*/
+{      flag cierr;
+       ftnint ciunit;
+       flag ciend;
+       char *cifmt;
+       ftnint cirec;
+} cilist;
+
+typedef struct         /*internal read, write*/
+{      flag icierr;
+       char *iciunit;
+       flag iciend;
+       char *icifmt;
+       ftnint icirlen;
+       ftnint icirnum;
+       ftnint icirec;
+} icilist;
+
+typedef struct         /*open*/
+{      flag oerr;
+       ftnint ounit;
+       char *ofnm;
+       ftnlen ofnmlen;
+       char *osta;
+       char *oacc;
+       char *ofm;
+       ftnint orl;
+       char *oblnk;
+} olist;
+
+typedef struct         /*close*/
+{      flag cerr;
+       ftnint cunit;
+       char *csta;
+} cllist;
+
+typedef struct         /*rewind, backspace, endfile*/
+{      flag aerr;
+       ftnint aunit;
+} alist;
+
+typedef struct         /*units*/
+{      FILE *ufd;      /*0=unconnected*/
+       char *ufnm;
+       long uinode;
+       int url;        /*0=sequential*/
+       flag useek;     /*true=can backspace, use dir, ...*/
+       flag ufmt;
+       flag uprnt;
+       flag ublnk;
+       flag uend;
+       flag uwrt;      /*last io was write*/
+       flag uscrtch;
+} unit;
+
+typedef struct         /* inquire */
+{      flag inerr;
+       ftnint inunit;
+       char *infile;
+       ftnlen infilen;
+       ftnint  *inex;  /*parameters in standard's order*/
+       ftnint  *inopen;
+       ftnint  *innum;
+       ftnint  *innamed;
+       char    *inname;
+       ftnlen  innamlen;
+       char    *inacc;
+       ftnlen  inacclen;
+       char    *inseq;
+       ftnlen  inseqlen;
+       char    *indir;
+       ftnlen  indirlen;
+       char    *inform;
+       ftnlen  informlen;
+       char    *infmt;
+       ftnint  infmtlen;
+       char    *inunf;
+       ftnlen  inunflen;
+       ftnint  *inrecl;
+       ftnint  *innrec;
+       char    *inblank;
+       ftnlen  inblanklen;
+} inlist;
+
+typedef union
+{      float pf;
+       double pd;
+} ufloat;
+
+typedef union
+{      short is;
+       char ic;
+       long il;
+} uint;
+