Annotation of coherent/b/STREAMS/conf_79/sdev.h, revision 1.1.1.1

1.1       root        1: #ifndef        SDEV_H
                      2: #define        SDEV_H
                      3: 
                      4: /*
                      5:  *-IMPORTS:
                      6:  *     <sys/compat.h>
                      7:  *             PROTO ()
                      8:  */
                      9: 
                     10: #include <sys/compat.h>
                     11: 
                     12: #ifndef        SYMBOL_T
                     13: #define        SYMBOL_T
                     14: typedef        struct symbol   symbol_t;
                     15: #endif
                     16: 
                     17: #ifndef        MDEV_T
                     18: #define        MDEV_T
                     19: typedef struct mdevice mdev_t;
                     20: #endif
                     21: 
                     22: #ifndef        SDEV_T
                     23: #define        SDEV_T
                     24: typedef struct sdevice sdev_t;
                     25: #endif
                     26: 
                     27: #ifndef        SDLIST_T
                     28: #define        SDLIST_T
                     29: typedef        struct sdlist   sdlist_t;
                     30: #endif
                     31: 
                     32: 
                     33: typedef        unsigned int    unit_t;
                     34: typedef        unsigned int    ipl_t;
                     35: typedef        unsigned int    itype_t;
                     36: typedef        unsigned int    vec_t;
                     37: typedef        unsigned long   cma_t;
                     38: typedef        unsigned long   ioa_t;
                     39: 
                     40: 
                     41: struct sdevice {
                     42:        mdev_t        * sd_mdevp;       /* master device entry */
                     43:        sdev_t        * sd_mnext;       /* next unit on master device */
                     44:        sdev_t        * sd_next;        /* next unit on global thread */
                     45:        sdev_t        * sd_link;        /* for sorting */
                     46: 
                     47:        symbol_t      * sd_devname;     /* device name */
                     48:        int             sd_config;      /* configuration flag */
                     49:        unit_t          sd_unit;        /* unit number */
                     50:        ipl_t           sd_ipl;         /* ipl to run interrupt routine */
                     51:        itype_t         sd_itype;       /* type of interrupt scheme */
                     52:        vec_t           sd_vector;      /* interrupt vector number */
                     53: 
                     54:        ioa_t           sd_ioa [2];     /* I/O address range */
                     55:        cma_t           sd_cma [2];     /* controller address space range */
                     56: };
                     57: 
                     58: 
                     59: /*
                     60:  * Structure for holding a list of "sdevice" structures.
                     61:  */
                     62: 
                     63: struct sdlist {
                     64:        sdev_t        * sdl_first;
                     65:        sdev_t        * sdl_last;
                     66:        int             sdl_count;
                     67: };
                     68: 
                     69: 
                     70: /*
                     71:  * Types for predicate suitable for passing to sdev_sort ()
                     72:  */
                     73: 
                     74: typedef        int  (* ssel_t)         PROTO ((sdev_t * _sdevp));
                     75: typedef        int  (* scmp_t)         PROTO ((sdev_t * _left, sdev_t * _right));
                     76: 
                     77: 
                     78: enum { MAX_VECTOR = 15,
                     79:        MAX_IPL = 8
                     80: };
                     81: 
                     82: enum { INT_NONE,
                     83:        INT_PER_CHANNEL,
                     84:        INT_PER_DEVICE,
                     85:        INT_SHAREABLE,
                     86:        MAX_ITYPE = INT_SHAREABLE
                     87: };
                     88: 
                     89: 
                     90: EXTERN_C_BEGIN
                     91: 
                     92: void   read_sdev_file          PROTO ((CONST char * _name));
                     93: int    sdev_check_ioa          PROTO ((CONST ioa_t * _check, sdev_t ** _who));
                     94: int    sdev_check_cma          PROTO ((CONST cma_t * _check, sdev_t ** _who));
                     95: int    sdev_check_vector       PROTO ((int _vec, sdev_t ** _who));
                     96: void   sdev_sort               PROTO ((sdlist_t * _sdlistp, ssel_t _selpred,
                     97:                                        scmp_t _cmppred, size_t _ptroff));
                     98: 
                     99: EXTERN_C_END
                    100: 
                    101: #endif /* ! defined (SDEV_T) */

unix.superglobalmegacorp.com

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