Annotation of 43BSDTahoe/new/jove/io.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.