home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / H / IDC_VDD.H < prev    next >
C/C++ Source or Header  |  1995-04-14  |  4KB  |  92 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /******************************************************************************
  13. * idc_vdd.h - Prototypes for functions for mad16 PDD-VDD IDC
  14. *
  15. *
  16. * The following IBM OS/2 source code is provided to you solely for the
  17. * the purpose of assisting you in your development of OS/2 device drivers.
  18. * You may use this code in accordance with the IBM License Agreement
  19. * provided in the IBM Device Driver Source Kit for OS/2.
  20. *******************************************************************************
  21. *
  22. * This header is used common between the PDD, VDD and applications that
  23. * communicate with the PDD via IOCTL
  24. *
  25. ******************************************************************************/
  26.  
  27. #pragma pack (1)        // Force byte structure alignment
  28.  
  29. #ifndef __IBMC__        // Following is only for the PDD and VDD
  30. ULONG FAR pascal IDCEntry_VDD (ULONG ulFunc, ULONG ul1, ULONG ul2); // ASM
  31. #endif
  32.  
  33. //
  34. // Structure which describes the MAD16 hardware.
  35. // Should be considered *read-only* by everyone except mad16.add
  36. // Address of this structure can be queried via IDC call.
  37. // A few of these fields are actually constants.  Storing them
  38. // here makes it easier to display from the diagnostic application.
  39. //
  40. typedef struct
  41.         {
  42.         USHORT  usStrucSize;                    // Size of this structure
  43.         USHORT  usMad16PartNum;                 // 928 or 929
  44.         USHORT  usMad16Revision;                // 928 only ('B' or 'C')
  45.         USHORT  usMad16Base;                    // Address of OPTi part (0xF8F)
  46.         USHORT  usMad16Range;                   // 8
  47.         USHORT  usMad16DecodeWidth;             // 10 for 928, 12 for 929
  48.         USHORT  usWSSCodecType;                 // 'C', 'A'
  49.         USHORT  usWSSGrade;                     // 'J', 'K'
  50.         USHORT  usWSSBase;
  51.         USHORT  usWSSRange;
  52.         USHORT  usWSSIndex;
  53.         USHORT  usWSSData;
  54.         USHORT  usWSSIRQ;                       // Device interrupt
  55.         USHORT  usWSSPlayDMA;
  56.         USHORT  usWSSRecordDMA;
  57.         USHORT  usSBBase;
  58.         USHORT  usSBRange;                      // Set to 16
  59.         USHORT  usSBIRQ;
  60.         USHORT  usSBDMA;
  61.         USHORT  usCDType;                       // Valid = N, S, P, M, I
  62.         USHORT  usCDBase;                       // Default 340
  63.         USHORT  usCDRange;                      // IDE:8 Sony:4 Mitsumi:3 Pan:4
  64.                                                 // IDE also has 1 at Base+0x206
  65.         USHORT  usCDIRQ;                        // 0 means no IRQ
  66.         USHORT  usCDDMA;                        // 0 means no DMA
  67.         USHORT  usOPL3Base;
  68.         USHORT  usOPL3Range;
  69.         } MAD16SPECS;
  70. typedef MAD16SPECS *PMAD16SPECS;
  71.  
  72.  
  73. //
  74. // Declarations to assist other drivers
  75. // calling into the wakeup PDD.
  76. //
  77. typedef enum
  78.         {
  79.         IDCOPEN,
  80.         IDCRESERVED,
  81.         IDCGETDEVICEINFO,
  82.         IDCSETMODE,
  83.         IDCOPL3ALLNOTESOFF
  84.         } IDCFUNCS;
  85.  
  86. typedef enum                    // Used for setting audio mode
  87.         {
  88.         MODENATIVE,
  89.         MODESOUNDBLASTER
  90.         } AUDIOMODES;
  91. #pragma pack ()
  92.