Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
4.1 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. mmdet.h
  5. Abstract:
  6. MM detection module header, borrowed from KyleB's net detection base
  7. Author:
  8. bryanw 18-Oct-1997
  9. --*/
  10. #ifndef _MMDET_H_
  11. #define _MMDET_H_
  12. #define DEVIDSTR_SB TEXT( "*PNPb000" ) // Sound Blaster wave
  13. #define DEVIDSTR_SB2 TEXT( "*PNPb001" ) // Sound Blaster 2 wave
  14. #define DEVIDSTR_SBPRO TEXT( "*PNPb002" ) // Sound Blaster Pro wave
  15. #define DEVIDSTR_SB16 TEXT( "*PNPb003" ) // Sound Blaster 16 wave
  16. #define DEVIDSTR_MV TEXT( "*PNPb004" ) // Media Vision Thunder Board
  17. #define DEVIDSTR_ADLIB TEXT( "*PNPb005" ) // Adlib
  18. #define DEVIDSTR_MPU401 TEXT( "*PNPb006" ) // MPU-401 midi
  19. #define DEVIDSTR_SNDSYS TEXT( "*PNPb007" ) // Windows Sound System
  20. #define DEVIDSTR_CPQBA TEXT( "*PNPb008" ) // Compaq Business Audio
  21. #define DEVIDSTR_PAS16 TEXT( "*PNPb00d" ) // PAS-16 variations
  22. #define DEVIDSTR_PAS16_WITH_SCSI TEXT( "*PNPb00e" ) // PAS-16 + SCSI
  23. #define DEVIDSTR_PAS_ORIGINAL TEXT( "*PNPb018" ) // MV Pro Audio Spectrum (original)
  24. #define DEVIDSTR_PAS_PLUS TEXT( "*PNPb019" ) // PAS Plus variations
  25. #define DEVIDSTR_OPTI82C928 TEXT( "*PNPb01a" )
  26. #define DEVIDSTR_OPTI82C929 TEXT( "*PNPb01b" )
  27. #define DEVIDSTR_OPTI82C930 TEXT( "*PNPb01c" )
  28. #define DEVIDSTR_PA3D TEXT( "*PNPb00b" ) // Media Vision ProAudio3D
  29. #define DEVIDSTR_MQMPU401 TEXT( "*PNPb00c" ) // MusicQuest MPU-401 midi
  30. #define DEVIDSTR_JAZZ TEXT( "*PNPb00f" ) // Media Vision OEM Jazz-16
  31. #define DEVIDSTR_VXP500 TEXT( "*PNPb010" ) // Auravision VxP500 based video cap.
  32. #define DEVIDSTR_ADLIBOPL3 TEXT( "*PNPb020" ) // Adlib OPL3 midi
  33. #define DEVIDSTR_GAMEPORT TEXT( "*PNPb02f" ) // Game port
  34. #define DEVIDSTR_AZTECH_PRO16 TEXT( "*AZT1608" )
  35. #define DEVIDSTR_AZTECH_NOVA16 TEXT( "*AZT1605" )
  36. #define DEVIDSTR_AZTECH_WASHINGTON16 TEXT( "*AZT2316" )
  37. #define DEVIDSTR_ESS4881 TEXT( "*ESS4881" )
  38. #define DEVIDSTR_ESS6881 TEXT( "*ESS6881" )
  39. #define DEVIDSTR_ESS1481 TEXT( "*ESS1481" )
  40. #define DEVIDSTR_ESS1681 TEXT( "*ESS1681" )
  41. #define DEVIDSTR_ESS1781 TEXT( "*ESS1781" )
  42. #define DEVIDSTR_ESS1881 TEXT( "*ESS1881" )
  43. ULONG
  44. WINAPI
  45. MmDetectAdapters(
  46. IN HDEVINFO DeviceInfoSet,
  47. IN DI_FUNCTION InstallFunction
  48. );
  49. typedef
  50. ULONG
  51. (*PFNMMDETECTADAPTERS)(
  52. IN HDEVINFO DeviceInfoSet,
  53. IN DI_FUNCTION InstallFunction
  54. );
  55. #if (!defined( _NTDDK_ ) && !defined( NT_INCLUDED ))
  56. typedef ULONG INTERFACE_TYPE,*PINTERFACE_TYPE;
  57. #endif
  58. typedef
  59. VOID
  60. (*PFNMMDETECTIRQCALLBACK)(
  61. IN INTERFACE_TYPE InterfaceType,
  62. IN ULONG BusNumber,
  63. IN ULONG Context
  64. );
  65. USHORT
  66. WINAPI
  67. MmDetectIRQ(
  68. IN INTERFACE_TYPE InterfaceType,
  69. IN ULONG BusNumber,
  70. IN USHORT InterruptMask,
  71. IN PFNMMDETECTIRQCALLBACK SetInterrupt,
  72. IN PFNMMDETECTIRQCALLBACK ClearInterrupt,
  73. IN ULONG Context
  74. );
  75. #if (defined( _CFGMGR32_H_ ))
  76. ULONG
  77. WINAPI
  78. MmRegisterDetectedDevice(
  79. IN HDEVINFO DeviceInfoSet,
  80. IN INTERFACE_TYPE InterfaceType,
  81. IN ULONG BusNumber,
  82. IN PTSTR DeviceId,
  83. IN PMEM_RESOURCE MemResources,
  84. IN int MemResourceCount,
  85. IN PIO_RESOURCE IoResources,
  86. IN int IoResourceCount,
  87. IN PIRQ_RESOURCE IrqResources,
  88. IN int IrqResourceCount,
  89. IN PDMA_RESOURCE DmaResources,
  90. IN int DmaResourceCount
  91. );
  92. VOID
  93. WINAPI
  94. MmAvoidDetectedResources(
  95. IN INTERFACE_TYPE InterfaceType,
  96. IN ULONG BusNumber,
  97. IN PMEM_RESOURCE MemResources,
  98. IN int MemResourceCount,
  99. IN PIO_RESOURCE IoResources,
  100. IN int IoResourceCount,
  101. IN PIRQ_RESOURCE IrqResources,
  102. IN int IrqResourceCount,
  103. IN PDMA_RESOURCE DmaResources,
  104. IN int DmaResourceCount
  105. );
  106. #endif
  107. #endif // _MMDET_H_