Annotation of coherent/c/usr/include/sys/buf.h, revision 1.1

1.1     ! root        1: /* (-lgl
        !             2:  *     COHERENT Version 3.0
        !             3:  *     Copyright (c) 1982, 1990 by Mark Williams Company.
        !             4:  *     All rights reserved. May not be copied without permission.
        !             5:  -lgl) */
        !             6: /*
        !             7:  * Buffer header.
        !             8:  */
        !             9: #ifndef        BUF_H   BUF_H
        !            10: #define         BUF_H
        !            11: 
        !            12: #include <sys/types.h>
        !            13: 
        !            14: typedef struct buf {
        !            15:        struct   buf *b_actf;           /* First in queue */
        !            16:        struct   buf *b_actl;           /* Last in queue */
        !            17:        GATE     b_gate;                /* Gate */
        !            18:        unsigned b_flag;                /* Flags */
        !            19:        dev_t    b_dev;                 /* Device */
        !            20:        daddr_t  b_bno;                 /* Block number */
        !            21:        char     b_req;                 /* I/O type */
        !            22:        char     b_err;                 /* Error */
        !            23:        unsigned b_seqn;                /* Buffer sequence number */
        !            24:        bold_t   b_map;                 /* Old map */
        !            25:        vaddr_t  b_count;               /* Size of I/O */
        !            26:        vaddr_t  b_resid;               /* Driver returns count here */
        !            27:        faddr_t  b_faddr;               /* Far Virtual address */
        !            28:        paddr_t  b_paddr;               /* Physical address */
        !            29: } BUF;
        !            30: 
        !            31: /*
        !            32:  * Flags (b_flags).
        !            33:  */
        !            34: #define BFNTP  0000001                 /* Buffer not valid */
        !            35: #define BFREQ  0000002                 /* Buffer requested */
        !            36: #define BFERR  0000004                 /* Error */
        !            37: #define BFMOD  0000010                 /* Data has been modified */
        !            38: #define BFASY  0000020                 /* Asynchrous */
        !            39: #define BFMAP  0000040                 /* Buffer has been mapped */
        !            40: #define BFRAW  0000100                 /* Request is raw */
        !            41: #define BFTAP  0000200                 /* Request is to a tape */
        !            42: 
        !            43: #define BFBLK  0040000                 /* Aligned on a block boundary */
        !            44: #define BFIOC  0100000                 /* Perform bounds checking */
        !            45: 
        !            46: /*
        !            47:  * Requests.
        !            48:  */
        !            49: #define        BREAD   1                       /* Read */
        !            50: #define BWRITE 2                       /* Write */
        !            51: 
        !            52: #ifdef KERNEL
        !            53: /*
        !            54:  * Functions.
        !            55:  */
        !            56: extern BUF      *bread();              /* bio.c */
        !            57: extern BUF      *bclaim();             /* bio.c */
        !            58: extern BUF      *vread();              /* fs3.c */
        !            59: extern BUF      *aread();              /* fs3.c */
        !            60: extern daddr_t  vmap();                /* fs3.c */
        !            61: extern int      *lmap();               /* fs3.c */
        !            62: 
        !            63: #endif
        !            64: 
        !            65: #ifdef KERNEL
        !            66: /*
        !            67:  * Global variables.
        !            68:  */
        !            69: extern unsigned bufseqn;               /* Buffer sequencer */
        !            70: extern int      bufneed;               /* Buffer is needed */
        !            71: extern BUF      swapbuf;               /* Buffer for swap I/O */
        !            72: extern BUF      *bufl;                 /* Buffer headers */
        !            73: 
        !            74: #endif
        !            75: 
        !            76: #endif

unix.superglobalmegacorp.com

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