home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddrivers.zip / MMAP / MMAP.H < prev    next >
Text File  |  1992-12-24  |  3KB  |  88 lines

  1. /*
  2.   include file for memory-mapped driver
  3. */
  4.  
  5. #define  OUR_CAT  0x91               /* category for DosDevIOCtl */
  6. #define  MEMSIZE  32800              /* 32 K bytes per adapter   */
  7. #define  POS_BASE 0x100              /* MCA adapter base         */
  8. #define  TARGET_ID 0x6CFD            /* adapter ID               */
  9. #define  NUM_POS_BYTES 64
  10. #define  MAX_NUM_SLOTS 8
  11. #define  MAX_DEV_NUMS 8
  12. #define  MAX_NUM_DSPS 5
  13. #define  READY  0xFFFF               /* dsp read                 */
  14. #define  POS_PORT 0x96
  15. #define  POS_BASE 0x100
  16.                
  17. /* Constants used by ABIOS calls */
  18.  
  19. #define GET_LID_BLOCK_SIZE 0x01
  20. #define POS_LID            0x10
  21. #define READ_POS_REGS      0x0B
  22. #define READ_POS_REGS_RAM  0x0B
  23. #define READ_POS_REGS_CARD 0x0D
  24.  
  25. typedef struct _POS_STRUCT {
  26.     USHORT    slot;
  27.     USHORT   reg;
  28.    USHORT   data;
  29.     } POS_STRUCT;
  30. typedef POS_STRUCT far *PPOS_STRUCT;
  31.  
  32. typedef struct _ADDR_STRUCT {
  33.     void     far *mapped_addr;
  34.     ULONG    board_addr;
  35.     } ADDR_STRUCT;
  36. typedef ADDR_STRUCT far *PADDR_STRUCT;
  37.  
  38. typedef struct function_parms_def {
  39.    USHORT    req_blk_len;
  40.    USHORT    LID;
  41.    USHORT    unit;
  42.    USHORT    function;
  43.    USHORT    resvd1;
  44.    USHORT    resvd2;
  45.    USHORT    ret_code;
  46.    USHORT    time_out;
  47.    } function_parms_type;
  48.  
  49. typedef struct service_parms_def {
  50.    UCHAR     slot_num;        /* 10h */
  51.    UCHAR     resvd3;          /* 11h */
  52.    USHORT    card_ID;         /* 12h */
  53.    USHORT    resvd4;          /* 14h */
  54.    UCHAR     far *pos_buf;    /* 16h */
  55.    USHORT    resvd5;          /* 1Ah */
  56.    USHORT    resvd6;          /* 1Ch */
  57.    UCHAR     resvd7[40];      /* 1Eh */
  58.    } service_parms_type;
  59.  
  60. typedef struct lid_service_parms_def {
  61.    UCHAR     irpt_level;          /* 10h */
  62.    UCHAR     arb_level;           /* 11h */
  63.    USHORT    device_id;       /* 12h */
  64.    USHORT    unit_count;      /* 14h */
  65.    USHORT    flags;           /* 16h */
  66.    USHORT    blk_size;        /* 18h */
  67.    USHORT    secnd_id;        /* 1Ah */
  68.    USHORT    resvd6;          /* 1Ch */
  69.    USHORT    resvd7;          /* 1Eh */
  70.    } lid_service_parms_type;
  71.  
  72. typedef struct req_block_def {
  73.    function_parms_type f_parms;
  74.    service_parms_type  s_parms;
  75.    } REQBLK;
  76.  
  77. typedef struct lid_block_def {
  78.    function_parms_type     f_parms;
  79.    lid_service_parms_type  s_parms;
  80.    } LIDBLK;
  81.  
  82. typedef struct card_def {
  83.   USHORT     card_ID;        /* ID of the card in this slot              */
  84.   UCHAR      pos_regs[NUM_POS_BYTES];
  85.   } CARD;
  86.  
  87.  
  88.