Annotation of 43BSDReno/sys/hpdev/device.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1982, 1990 The Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution is only permitted until one year after the first shipment
                      6:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
                      7:  * binary forms are permitted provided that: (1) source distributions retain
                      8:  * this entire copyright notice and comment, and (2) distributions including
                      9:  * binaries display the following acknowledgement:  This product includes
                     10:  * software developed by the University of California, Berkeley and its
                     11:  * contributors'' in the documentation or other materials provided with the
                     12:  * distribution and in all advertising materials mentioning features or use
                     13:  * of this software.  Neither the name of the University nor the names of
                     14:  * its contributors may be used to endorse or promote products derived from
                     15:  * this software without specific prior written permission.
                     16:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     17:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     18:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     19:  *
                     20:  *     @(#)device.h    7.2 (Berkeley) 5/25/90
                     21:  */
                     22: 
                     23: struct driver {
                     24:        int     (*d_init)();
                     25:        char    *d_name;
                     26:        int     (*d_start)();
                     27:        int     (*d_go)();
                     28:        int     (*d_intr)();
                     29:        int     (*d_done)();
                     30: };
                     31: 
                     32: struct hp_ctlr {
                     33:        struct driver   *hp_driver;
                     34:        int             hp_unit;
                     35:        int             hp_alive;
                     36:        char            *hp_addr;
                     37:        int             hp_flags;
                     38:        int             hp_ipl;
                     39: };
                     40: 
                     41: struct hp_device {
                     42:        struct driver   *hp_driver;
                     43:        struct driver   *hp_cdriver;
                     44:        int             hp_unit;
                     45:        int             hp_ctlr;
                     46:        int             hp_slave;
                     47:        char            *hp_addr;
                     48:        int             hp_dk;
                     49:        int             hp_flags;
                     50:        int             hp_alive;
                     51:        int             hp_ipl;
                     52: };
                     53: 
                     54: struct devqueue {
                     55:        struct  devqueue *dq_forw;
                     56:        struct  devqueue *dq_back;
                     57:        int     dq_ctlr;
                     58:        int     dq_unit;
                     59:        int     dq_slave;
                     60:        struct  driver *dq_driver;
                     61: };
                     62: 
                     63: struct hp_hw {
                     64:        char    *hw_addr;       /* physical address of registers */
                     65:        short   hw_sc;          /* select code (if applicable) */
                     66:        short   hw_type;        /* type (defined below) */
                     67:        short   hw_id;          /* HW returned id */
                     68:        short   hw_id2;         /* secondary HW id (displays) */
                     69:        char    *hw_name;       /* HP product name */
                     70: };
                     71: 
                     72: #define        MAX_CTLR        16      /* Totally arbitrary */
                     73: #define        MAXSLAVES       8       /* Currently the HPIB limit */
                     74: 
                     75: #define        WILD_CARD_CTLR  0
                     76: 
                     77: /* A controller is a card which can have one or more slaves attached */
                     78: #define        CONTROLLER      0x10
                     79: #define        HPIB            0x16
                     80: #define        SCSI            0x17
                     81: #define        VME             0x18
                     82: #define        FLINK           0x19
                     83: 
                     84: /* Slaves are devices which attach to controllers, e.g. disks, tapes */
                     85: #define        RD              0x2a
                     86: #define        PPI             0x2b
                     87: #define        CT              0x2c
                     88: 
                     89: /* These are not controllers, but may have their own HPIB address */
                     90: #define        BITMAP          1
                     91: #define        NET             2
                     92: #define        FPA             4
                     93: #define        MISC            5
                     94: #define        KEYBOARD        6
                     95: #define        COMMDCA         7
                     96: #define        COMMDCM         8
                     97: #define        COMMDCL         9
                     98: #define        PPORT           10
                     99: 
                    100: #ifdef KERNEL
                    101: extern struct hp_ctlr  hp_cinit[];
                    102: extern struct hp_device        hp_dinit[];
                    103: extern struct hp_hw    sc_table[];
                    104: #endif

unix.superglobalmegacorp.com

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