Annotation of 43BSD/contrib/jove/io.h, revision 1.1

1.1     ! root        1: /*************************************************************************
        !             2:  * This program is copyright (C) 1985, 1986 by Jonathan Payne.  It is    *
        !             3:  * provided to you without charge for use only on a licensed Unix        *
        !             4:  * system.  You may copy JOVE provided that this notice is included with *
        !             5:  * the copy.  You may not sell copies of this program or versions        *
        !             6:  * modified for use on microcomputer systems, unless the copies are      *
        !             7:  * included with a Unix system distribution and the source is provided.  *
        !             8:  *************************************************************************/
        !             9: 
        !            10: #define putchar(c)     putc(c, stdout)
        !            11: #define putc(c, fp)    (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp))
        !            12: #define getc(fp)       (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++))
        !            13: 
        !            14: typedef struct {
        !            15:        int     f_cnt,          /* number of characters left in buffer */
        !            16:                f_bufsize,      /* size of what f_base points to */
        !            17:                f_fd,           /* fildes */
        !            18:                f_flags;        /* various flags */
        !            19:        char    *f_ptr,         /* current offset */
        !            20:                *f_base;        /* pointer to base */
        !            21:        char    *f_name;        /* name of open file */
        !            22: } File;
        !            23: 
        !            24: #define F_READ         01
        !            25: #define F_WRITE                02
        !            26: #define F_APPEND       04
        !            27: #define F_MODE(x)      (x&07)
        !            28: #define F_EOF          010
        !            29: #define F_STRING       020
        !            30: #define F_ERR          040
        !            31: #define F_LOCK         0100    /* don't close this file upon error */
        !            32: #define F_MYBUF                0200    /* f_alloc allocated the buffer, so
        !            33:                                   f_close knows to free it up */
        !            34: 
        !            35: extern long    io_chars;
        !            36: extern int     io_lines;
        !            37: 
        !            38: extern File
        !            39:        *stdout,
        !            40:        *mru_file,
        !            41: 
        !            42:        *open_file(),
        !            43:        *fd_open(),
        !            44:        *f_open();

unix.superglobalmegacorp.com

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