home *** CD-ROM | disk | FTP | other *** search
- /*DDK*************************************************************************/
- /* */
- /* COPYRIGHT Copyright (C) 1995 IBM Corporation */
- /* */
- /* The following IBM OS/2 WARP source code is provided to you solely for */
- /* the purpose of assisting you in your development of OS/2 WARP device */
- /* drivers. You may use this code in accordance with the IBM License */
- /* Agreement provided in the IBM Device Driver Source Kit for OS/2. This */
- /* Copyright statement may not be removed. */
- /* */
- /*****************************************************************************/
- /**************************************************************************
- *
- * SOURCE FILE NAME = ATAPICON.H
- *
- * DESCRIPTION : Locally defined equates.
- *
- *
- *
- * VERSION = 1.0
- *
- * DATE
- *
- * DESCRIPTION :
- *
- * Purpose:
- *
- *
- *
- *
- *
- */
-
- /*---------------------------------------*/
- /* Maximum Adapters/Units */
- /*---------------------------------------*/
- #define MAX_ADAPTERS 4
- #define MAX_UNITS 2
-
- /*-------------------*/
- /* TimeOut Equates */
- /*-------------------*/
-
- /*---------------------------------------*/
- /* TimeOut for RESET to complete (30s) */
- /* */
- /* After a RESET the drive is checked */
- /* every 200ms. */
- /*---------------------------------------*/
- #define DELAYED_RESET_MAX (30*1000L)
- #define DELAYED_RESET_INTERVAL 200L
-
- /*----------------------------------------------*/
- /* TimeOut for IRQ from last interrupt (5s) */
- /*----------------------------------------------*/
- #define IRQ_TIMEOUT_INTERVAL (5*1000L)
-
- /*----------------------------------------------*/
- /* Retry Delay interval (200ms) */
- /*----------------------------------------------*/
- #define DELAYED_RETRY_INTERVAL 200L
-
- /*---------------------------------------*/
- /* Minimum User Timeout (5s) */
- /*---------------------------------------*/
- #define MIN_USER_TIMEOUT (IRQ_TIMEOUT_INTERVAL / 1000L)
-
- /*---------------------------------------*/
- /* Default User Timeout (30s) */
- /*---------------------------------------*/
- #define DEFAULT_USER_TIMEOUT 30
-
- /*---------------------------------------*/
- /* Maximum Cmd/Data Error Retries */
- /*---------------------------------------*/
- #define MAX_DATA_ERRORS 25
-
- /*---------------------------------------*/
- /* Initialization unit timeouts */
- /*---------------------------------------*/
- #define INIT_TIMEOUT_LONG (10*1000L)
- #define INIT_TIMEOUT_SHORT ( 2*1000L)
-
- /*---------------------------------------*/
- /* Elapsed Timer Interval (200ms) */
- /*---------------------------------------*/
- #define ELAPSED_TIMER_INTERVAL 200
-
- /*---------------------------------------*/
- /* Calibrate Loop Counter */
- /*---------------------------------------*/
- #define CALIBRATE_LOOP_COUNT 1024
- #define CALIBRATE_TIMER_INTERVAL (4*31L)
- #define CALIBRATE_INTERVAL_ACTUAL (CALIBRATE_TIMER_INTERVAL + 31L)
-
- /*---------------------------------------*/
- /* Maximum PIO Delays (us) */
- /*---------------------------------------*/
- #define MAX_WAIT_DRQ 30 /*V@93531*/
- #define MAX_WAIT_BSY 2000 /*V@93531*/
- #define MAX_WAIT_READY 1000
-
- /*---------------------------------------*/
- /* Maximum Transfer - MultiBlock Mode */
- /*---------------------------------------*/
- #define MAX_MULTMODE_BLK 16
-
- /*---------------------------------------*/
- /* Maximum Transfer - Bytes */
- /*---------------------------------------*/
- #define MAX_XFER_BYTES_PER_INTERRUPT 8192
-
- /*---------------------------------------*/
- /* Maximum Transfer - Overall */
- /*---------------------------------------*/
- #define MAX_XFER_SEC 256
-
- /*---------------------------------------*/
- /* Mask to remove High Byte */
- /*---------------------------------------*/
- #define LOW_BYTE_MASK 0x00FF
-
- #define SECTORSHIFT 9
-
- #define SCRATCH_BUF_SIZE 1024
- #define SENSE_DATA_BYTES 18
-
- /*---------------------------------------------*/
- /* Dummy IORB CommandModifier */
- /* */
- /* To pass internal requests to state machine */
- /*---------------------------------------------*/
- #define IOCM_EXECUTE_ATA 0
-
- #define TIMERS_PER_ACB 2
-
- #define TIMER_POOL_SIZE (sizeof(ADD_TIMER_POOL) + \
- ((TIMERS_PER_ACB * MAX_ADAPTERS)) \
- * sizeof(ADD_TIMER_DATA))
-
- #define ACB_POOL_SIZE (MAX_ADAPTERS * (sizeof(ACB) + (MAX_UNITS * \
- (sizeof(UCB)))))
-
- #define UNITINFO_POOL_SIZE (sizeof(UNITINFO) * MAX_ADAPTERS * MAX_UNITS)
-
-
- /*-------------------------------*/
- /* Miscellaneous */
- /*-------------------------------*/
- #define ENABLE _asm{ sti }
- #define DISABLE _asm{ cli }
- #define INT3 _asm{ int 3 }
-
- #define uSPerMS 1000
-
- #define COM1ADDRESS 0x03F8
- #define COM2ADDRESS 0x02F8
- #define COM3ADDRESS 0x03E8
- #define COM4ADDRESS 0x02E8
-
- #define MAXRESETS 4
-
- #define TASKTIME -1L
-
-