Annotation of 43BSDReno/contrib/jove/fp.h, revision 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: extern void    jputchar proto((int c));        /* hidden by macro */
        !             9: 
        !            10: #define jputchar(c)    jputc((c), stdout)
        !            11: #define jputc(c, fp)   (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp))
        !            12: #define jgetc(fp)      (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++))
        !            13: #define f_eof(fp)      ((fp)->f_flags & F_EOF)
        !            14: 
        !            15: typedef struct _file {
        !            16:        int     f_cnt,          /* number of characters left in buffer */
        !            17:                f_bufsize,      /* size of what f_base points to */
        !            18:                f_fd,           /* fildes */
        !            19:                f_flags;        /* various flags */
        !            20:        char    *f_ptr,         /* current offset */
        !            21:                *f_base;        /* pointer to base */
        !            22:        char    *f_name;        /* name of open file */
        !            23: } File;
        !            24: 
        !            25: #define F_READ         01
        !            26: #define F_WRITE                02
        !            27: #define F_APPEND       04
        !            28: #define F_MODE(x)      ((x)&07)
        !            29: #define F_EOF          010
        !            30: #define F_STRING       020
        !            31: #define F_ERR          040
        !            32: #define F_LOCKED       0100    /* don't close this file upon error */
        !            33: #define F_MYBUF                0200    /* f_alloc allocated the buffer, so
        !            34:                                   f_close knows to free it up */
        !            35: #define F_TELLALL      0400    /* whether to display info upon close */
        !            36: #define F_READONLY     01000   /* file is read only */
        !            37: 
        !            38: extern long    io_chars;
        !            39: extern int     io_lines;
        !            40: 
        !            41: extern File
        !            42:        *stdout;
        !            43: 
        !            44: #ifdef VMUNIX
        !            45: # define MAXTTYBUF     2048
        !            46: #else
        !            47: # define MAXTTYBUF     512
        !            48: #endif
        !            49: 
        !            50: extern int     BufSize;
        !            51: 
        !            52: extern File
        !            53:        *f_open proto((char *name,int flags,char *buffer,int buf_size)),
        !            54:        *fd_open proto((char *name,int flags,int fd,char *buffer,int bsize));
        !            55: 
        !            56: extern int
        !            57:        f_getint proto((File *fp)),
        !            58:        f_gets proto((File *fp,char *buf,size_t max)),
        !            59:        filbuf proto((File *fp)),
        !            60:        _flush proto((int c,File *fp)),
        !            61:        f_readn proto((File *fp,char *addr,int n));
        !            62: 
        !            63: extern void
        !            64:        f_close proto((File *fp)),
        !            65:        f_seek proto((File *fp, off_t offset)),
        !            66:        f_toNL proto((File *fp)),
        !            67:        flush proto((File *fp)),
        !            68:        flusho proto((void)),
        !            69:        fputnchar proto((char *s,int n,File *fp)),
        !            70:        gc_openfiles proto((void)),
        !            71:        putstr proto((char *s));

unix.superglobalmegacorp.com

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