Annotation of 43BSD/contrib/jove/io.h, revision 1.1.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.