home *** CD-ROM | disk | FTP | other *** search
- #include "stdio.h"
- #ifndef NULL
- /* ANSI C */
- #include "stddef.h"
- #endif
-
- #ifndef SEEK_SET
- #define SEEK_SET 0
- #define SEEK_CUR 1
- #define SEEK_END 2
- #endif
-
- #ifdef MSDOS
- #ifndef NON_UNIX_STDIO
- #define NON_UNIX_STDIO
- #endif
- #endif
-
- /*units*/
- typedef struct
- { FILE *ufd; /*0=unconnected*/
- char *ufnm;
- #ifndef MSDOS
- long uinode;
- int udev;
- #endif
- 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;
-
- extern int errno;
- extern flag init;
- extern cilist *elist; /*active external io list*/
- extern flag reading,external,sequential,formatted;
- extern int (*getn)(),(*putn)(); /*for formatted io*/
- extern long inode();
- extern FILE *cf; /*current file*/
- extern unit *curunit; /*current unit*/
- extern unit units[];
- extern VOID sig_die();
- #define err(f,m,s) {if(f) errno= m; else fatal(m,s); return(m);}
-
- /*Table sizes*/
- #define MXUNIT 100
-
- extern int recpos; /*position in current record*/
- extern int cursor; /* offset to move to */
- extern int hiwater; /* so TL doesn't confuse us */
-
- #define WRITE 1
- #define READ 2
- #define SEQ 3
- #define DIR 4
- #define FMT 5
- #define UNF 6
- #define EXT 7
- #define INT 8
-
- #define buf_end(x) (x->_flag & _IONBF ? x->_ptr : x->_base + BUFSIZ)
-