home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- * $Id: addtape.h,v 1.2 1992/09/29 09:35:26 ak Exp $
- *****************************************************************************
- * $Log: addtape.h,v $
- * Revision 1.2 1992/09/29 09:35:26 ak
- * Must allow multiple DrvOpen calls. dup() seems to reopen the driver.
- *
- * Revision 1.1.1.1 1992/09/02 18:57:44 ak
- * Initial checkin of OS/2 ADD based SCSI tape device driver.
- *
- * Revision 1.1 1992/09/02 18:57:43 ak
- * Initial revision
- *
- *****************************************************************************/
-
- #include <os2def.h>
- #include <dd.h>
- #include <tapedrvr.h>
- #include "iorb.h"
- #include "scsi.h"
-
- #pragma ZTC align 1
- #pragma pack(1)
- /* pure magic - analyzed from OS2SCSI.DMD */
- typedef struct Status {
- byte unknown_00 [0x11-0x00]; /* 00 */
- word sense_len; /* 11 */
- farptr sense_ptr; /* 13 */
- } Status;
- #define SizeofStatus 23
- #pragma ZTC align
- #pragma pack()
-
- DevClassTable _far *dctbl; /* device class table */
- byte devtab_data [4096]; /* devtab data */
- DEVICETABLE * devtab;
- byte iorb1[MAX_IORB_SIZE]; /* iorb for SCSI command */
- byte iorb2[MAX_IORB_SIZE]; /* iorb for Abort */
- paddr paddr_iorb1; /* phys addr of iorb1 */
- Status status; /* ADD status */
- byte sense[32]; /* SCSI sense bytes */
- SCATGATENTRY sglist[1]; /* scatter/gather list */
- paddr paddr_sglist;
- byte cdb[12]; /* rw CDB */
-
- UNITINFO * unitinfo; /* ptr into devtab */
- void (_far * callADD) (PIORBH); /* ADD entry point */
-
- ReqPtr reqpkt; /* active request packet */
-
- int trace; /* trace level */
- dword blocksize; /* fixed blocksize, variable if 0 */
- int open_count; /* no of active DrvOpen's */
-
- int waiting; /* someone is waiting for iorb */
- int senseMode; /* sense data mode */
- int senseValid; /* sense data valid */
- int stickyEOF; /* return EOF until reopened */
-
- extern word startup (void);
-