Annotation of researchv10no/cmd/worm/oscsi/juke.h, revision 1.1

1.1     ! root        1: #define        NLUN    8
        !             2: #define        NSHELF  50
        !             3: extern int nlun;
        !             4: extern void setnlun(void);
        !             5: extern char *j_shelf[NSHELF];
        !             6: extern int j_wrshelf;                  /* need to write out shelves */
        !             7: extern j_rdshelves(char *err);
        !             8: extern j_wrshelves(char *err);
        !             9: extern j_inventory(char cold, int tlim, char *err);
        !            10: 
        !            11: typedef enum { SIDEA = 0, SIDEB = 1 } Side;
        !            12: 
        !            13: struct Lunstatus
        !            14: {
        !            15:        unsigned int poweron:1;         /* is power on ? */
        !            16:        unsigned int diskin:1;          /* is disk in drive? */
        !            17:        unsigned int ready:1;           /* is disk spun up or spun down? */
        !            18:        unsigned int writeprotect:1;    /* is disk write protected? */
        !            19:        unsigned int diskindrive:1;     /* is driveshelf a drive number? */
        !            20:        unsigned int shelfvalid:1;      /* is retshelf valid? */
        !            21:        uchar driveshelf;               /* drive number */
        !            22:        uchar retshelf;                 /* return shelf */
        !            23: };
        !            24: 
        !            25: struct Jstatus
        !            26: {      
        !            27:        struct Lunstatus lun[NLUN]; /* disk status */
        !            28:        uchar shelf[NSHELF];    /* shelf status */
        !            29:        uchar iounit;           /* I/O unit status */
        !            30:        uchar carrier;          /* carrier status */
        !            31:        uchar udrive;           /* upper drive status */
        !            32:        uchar ldrive;           /* lower drive status */
        !            33: };
        !            34: extern struct Jstatus j_status;
        !            35: extern int j_getstatus(char *err);
        !            36: extern int j_shelfof(char *vol_id);
        !            37: extern int j_driveof(char *vol_id);
        !            38: 
        !            39: extern char *strdup(char *);
        !            40: extern int j_shelf_to_drive(int, Side, int, char *);
        !            41: extern int j_drive_to_shelf(int, int, Side, char *);
        !            42: extern int j_empty_drive(long, char *);
        !            43: extern int j_rvolid(int, char *);
        !            44: extern int j_wvolid(int, char *, char *);
        !            45: extern void pperror(char *buf, char *mesg);
        !            46: extern int reserve_drive(int, char *);
        !            47: extern int release_drive(int, char *);
        !            48: extern int cold_inv(char, char *);
        !            49: extern int warm_inv(char *);
        !            50: extern int j_load(char *vol_id, char *buf, long tlim);
        !            51: extern int j_unload(char *vol_id, char *buf);
        !            52: 
        !            53: #define                JUKEDIR         "/usr/worm/jukedir"
        !            54: #define                UNALLOCATED     "<unallocated>"

unix.superglobalmegacorp.com

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