home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / H / DSKINIT.H < prev    next >
Text File  |  1995-04-14  |  5KB  |  97 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT (C) Microsoft Corporation, 1989                                 */
  4. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  5. /*                                                                           */
  6. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  7. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  8. /*    drivers. You may use this code in accordance with the IBM License      */
  9. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  10. /*    Copyright statement may not be removed.                                */
  11. /*                                                                           */
  12. /*****************************************************************************/
  13. /*static char *SCCSID = "@(#)dskinit.h  6.3 92/03/06";*/
  14.  
  15. /****************************************************************************/
  16. /*                                                                          */
  17. /*                                                                          */
  18. /****************************************************************************/
  19. /*                                                                          */
  20.  
  21. typedef struct _DDD_Parm_List { /* */
  22.  
  23.   USHORT        cache_parm_list;        /* addr of InitCache_Parameter List  */
  24.   USHORT        disk_config_table;      /* addr of disk_configuration table  */
  25.   USHORT        init_req_vec_table;     /* addr of IRQ_Vector_Table          */
  26.   USHORT        cmd_line_args;          /* addr of Command Line Args         */
  27.   USHORT        machine_config_table;   /* addr of Machine Config Info       */
  28.  
  29. } DDD_PARM_LIST, far *PDDD_PARM_LIST;
  30.  
  31. /*                                                                */
  32. /*----------------------------------------------------------------*/
  33. /* DiskCache Parameters                                           */
  34. /*                                                                */
  35. /* This structure is obsolete. It is included for compatibility   */
  36. /* with 1.x base device drivers                                   */
  37. /*----------------------------------------------------------------*/
  38. /*                                                                */
  39.  
  40. typedef struct _Cacheinit_Input { /* */
  41.  
  42.   ULONG         cache_size;             /* size of caching memory           */
  43.   ULONG         cache_addr;             /* phys addr of caching memory      */
  44.   USHORT        cache_thresh;
  45.   USHORT        cache_msg_id;           /* Msg ID returned by cache init    */
  46.   USHORT        cache_handle;           /* handle for cache buffers         */
  47.  
  48. } CACHEINIT_INPUT, far *PCACHEINIT_INPUT;
  49.  
  50. /*                                                                */
  51. /*----------------------------------------------------------------*/
  52. /* Machine Configuration Info                                     */
  53. /*                                                                */
  54. /* This contains information gathered from System Initialization  */
  55. /* about the machine OS/2 is running on.                          */
  56. /*----------------------------------------------------------------*/
  57. /*                                                                */
  58.  
  59. typedef struct _Machine_Config_Info { /* MCH */
  60.  
  61.   USHORT        Length;                 /* Length of table                  */
  62.   USHORT        BusInfo;                /* Machine Bus Type                 */
  63.   USHORT        CpuInfo;                /* Machine CPU Type                 */
  64.   UCHAR         SubModel;               /* Machine Submodel ID              */
  65.   UCHAR         Model;                  /* Machine Model ID                 */
  66.   USHORT        ABIOSRevision;          /* Abios Revision Level             */
  67.   USHORT        HardDriveCount;         /* # of BIOS Fixed Drives           */
  68.   UCHAR         Reserved1[20];
  69.  
  70. } MACHINE_CONFIG_INFO, far *PMACHINE_CONFIG_INFO;
  71.  
  72.  
  73. /*                 */
  74. /*-----------------*/
  75. /* CPU Info Values */
  76. /*-----------------*/
  77. #define CPUINFO_286     0
  78. #define CPUINFO_386     1
  79. #define CPUINFO_486     2
  80. #define CPUINFO_PENTIUM 3
  81.  
  82. /*                 */
  83. /*-----------------*/
  84. /* Bus Info Values */
  85. /*-----------------*/
  86. #define BUSINFO_MCA             0x01
  87. #define BUSINFO_EISA            0x02
  88. #define BUSINFO_ABIOS_SUPPORTED 0x04  /* ABIOS is supported  */
  89. #define BUSINFO_ABIOS_PRESENT   0x08  /* ABIOS is present    */
  90. #define BUSINFO_PCI             0x10  /* PCI BIOS detected   */
  91. #define BUSINFO_OEM_ABIOS       0x20  /* Mfr is OEM, valid if ABIOS supported */
  92.  
  93. /* We must define BUSINFO_ABIOS for compatibility */
  94. #define BUSINFO_ABIOS            BUSINFO_ABIOS_SUPPORTED
  95.  
  96. #define BUSINFO_PENTIUM_CPU     0x40  /* Pentium CPU detected */
  97.