Annotation of researchv10dc/lsys/sys/xkb.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * for datakit simple kmc driver
                      3:  */
                      4: 
                      5: /*
                      6:  * per channel
                      7:  */
                      8: struct kb {
                      9:        struct  queue *dkrq;
                     10:        char    flag;
                     11:        unsigned char   chan;
                     12:        struct  kb *link;
                     13: };
                     14: 
                     15: /*
                     16:  * buffer descriptor
                     17:  */
                     18: struct kbdesc {
                     19:        short loaddr;   /* low buffer address */
                     20:        short len;      /* negative buffer length */
                     21:        unsigned char chan;     /* channel */
                     22:        char flag;      /* flags and high address */
                     23: };
                     24: 
                     25: /*
                     26:  * per interface
                     27:  */
                     28: 
                     29: #define        XRING   40
                     30: #define        RRING   20
                     31: 
                     32: struct kbkmc {
                     33:        char    flags;
                     34:        char    kno;            /* which kmc is ours */
                     35:        char    ubno;           /* which unibus has the kmc */
                     36:        struct device *addr;    /* kmc registers */
                     37:        struct dkmodule *modp;
                     38:        struct {        /* bundle for convenient unibus mapping */
                     39:                struct kbdesc _xring[XRING+1];
                     40:                struct kbdesc _rring[RRING+1];
                     41:        } rings;
                     42: #define        xring   rings._xring
                     43: #define        rring   rings._rring
                     44:        ubm_t   ringmap;
                     45:        uaddr_t xrua, rrua;     /* unibus address of descriptor rings */
                     46:        struct block *xblock[XRING];    /* blocks in transmit descriptors */
                     47:        ubm_t   xmap[XRING];    /* and their map cookies */
                     48:        struct block *rblock[RRING];    /* likewise receive */
                     49:        ubm_t   rmap[RRING];
                     50:        char xrp, xwp;          /* read, write positions in xring */
                     51:        char rrp, rwp;          /* and in rring */
                     52:        int     rbytes;         /* bytes of receive buffer outstanding */
                     53: };

unix.superglobalmegacorp.com

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