|
|
1.1 ! root 1: /*************************************************************************** ! 2: * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE * ! 3: * is provided to you without charge, and with no warranty. You may give * ! 4: * away copies of JOVE, including sources, provided that this notice is * ! 5: * included in all the files. * ! 6: ***************************************************************************/ ! 7: ! 8: #define putchar(c) putc(c, stdout) ! 9: #define putc(c, fp) (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp)) ! 10: #define getc(fp) (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++)) ! 11: ! 12: typedef struct File { ! 13: int f_cnt, /* number of characters left in buffer */ ! 14: f_bufsize, /* size of what f_base points to */ ! 15: f_fd, /* fildes */ ! 16: f_flags; /* various flags */ ! 17: char *f_ptr, /* current offset */ ! 18: *f_base; /* pointer to base */ ! 19: char *f_name; /* name of open file */ ! 20: } File; ! 21: ! 22: #define F_READ 01 ! 23: #define F_WRITE 02 ! 24: #define F_APPEND 04 ! 25: #define F_MODE(x) (x&07) ! 26: #define F_EOF 010 ! 27: #define F_STRING 020 ! 28: #define F_ERR 040 ! 29: #define F_LOCKED 0100 /* don't close this file upon error */ ! 30: #define F_MYBUF 0200 /* f_alloc allocated the buffer, so ! 31: f_close knows to free it up */ ! 32: #define F_TELLALL 0400 /* whether to display info upon close */ ! 33: ! 34: extern long io_chars; ! 35: extern int io_lines; ! 36: ! 37: extern File ! 38: *stdout, ! 39: ! 40: *open_file(), ! 41: *fd_open(), ! 42: *f_open(); ! 43: ! 44: #ifdef VMUNIX ! 45: # define MAXTTYBUF 2048 ! 46: #else ! 47: # define MAXTTYBUF 512 ! 48: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.