Leaked source code of windows server 2003
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.

128 lines
5.2 KiB

  1. #ifndef _SIMGUIDH_
  2. #define _SIMGUIDH_
  3. #include <initguid.h>
  4. //
  5. // **** SOFTPCI DEFINES ****
  6. //
  7. //
  8. // Device Interface GUID used by driver and UI.
  9. //
  10. DEFINE_GUID( GUID_SOFTPCI_INTERFACE, 0x5301a278L, 0x8fa9, 0x4141, 0xaa, 0xc2, 0x1c, 0xbf, 0x7a, 0x41, 0x2c, 0xd5);
  11. //
  12. // IOCTL Code definitions in "User Defined" range of 0x800 to 0xFFF.
  13. //
  14. #define SOFTPCI_IOCTL_TYPE 0x202B
  15. #define SOFTPCI_IOCTL_CREATE_DEVICE CTL_CODE(SOFTPCI_IOCTL_TYPE, \
  16. 0x800, \
  17. METHOD_BUFFERED, \
  18. FILE_ANY_ACCESS \
  19. )
  20. #define SOFTPCI_IOCTL_DELETE_DEVICE CTL_CODE(SOFTPCI_IOCTL_TYPE, \
  21. 0x801, \
  22. METHOD_BUFFERED, \
  23. FILE_ANY_ACCESS \
  24. )
  25. #define SOFTPCI_IOCTL_GET_DEVICE CTL_CODE(SOFTPCI_IOCTL_TYPE, \
  26. 0x802, \
  27. METHOD_BUFFERED, \
  28. FILE_ANY_ACCESS \
  29. )
  30. #define SOFTPCI_IOCTL_RW_CONFIG CTL_CODE(SOFTPCI_IOCTL_TYPE, \
  31. 0x803, \
  32. METHOD_BUFFERED, \
  33. FILE_ANY_ACCESS \
  34. )
  35. //#define SOFTPCI_IOCTL_WRITE_CONFIG CTL_CODE(SOFTPCI_IOCTL_TYPE, \
  36. // 0x804, \
  37. // METHOD_BUFFERED, \
  38. // FILE_ANY_ACCESS \
  39. // )
  40. #define SOFTPCI_IOCTL_GET_DEVICE_COUNT CTL_CODE(SOFTPCI_IOCTL_TYPE, \
  41. 0x804, \
  42. METHOD_BUFFERED, \
  43. FILE_ANY_ACCESS \
  44. )
  45. //
  46. // Max number of IOCTL Codes we currently allow.
  47. //
  48. #define MAX_IOCTL_CODE_SUPPORTED 0x4
  49. //
  50. // This macro takes the IOCTL code and breaks it into a zero based index.
  51. //
  52. #define SOFTPCI_IOCTL(ioctl) ((IoGetFunctionCodeFromCtlCode(ioctl)) - 0x800)
  53. //
  54. // **** HOTPLUG DEFINES ****
  55. //
  56. //
  57. // Slot to controller communication structures and defines
  58. //
  59. DEFINE_GUID(GUID_HPS_DEVICE_CLASS,0xad76cffc,0xb5e0,0x4981,
  60. 0x80, 0xc1, 0x3c, 0x29, 0xe3, 0x0e, 0xe2, 0x15);
  61. #define IOCTL_HPS_SLOT_COMMAND CTL_CODE(FILE_DEVICE_BUS_EXTENDER, \
  62. 0xc02, \
  63. METHOD_BUFFERED, \
  64. FILE_ANY_ACCESS \
  65. )
  66. #define IOCTL_HPS_PEND_COMMAND CTL_CODE(FILE_DEVICE_BUS_EXTENDER, \
  67. 0xc03, \
  68. METHOD_BUFFERED, \
  69. FILE_ANY_ACCESS \
  70. )
  71. #define IOCTL_HPS_READ_REGISTERS CTL_CODE(FILE_DEVICE_BUS_EXTENDER, \
  72. 0xc04, \
  73. METHOD_BUFFERED, \
  74. FILE_ANY_ACCESS \
  75. )
  76. #define IOCTL_HPS_READ_CAPABILITY CTL_CODE(FILE_DEVICE_BUS_EXTENDER, \
  77. 0xc05, \
  78. METHOD_BUFFERED, \
  79. FILE_ANY_ACCESS \
  80. )
  81. #define IOCTL_HPS_WRITE_CAPABILITY CTL_CODE(FILE_DEVICE_BUS_EXTENDER, \
  82. 0xc06, \
  83. METHOD_BUFFERED, \
  84. FILE_ANY_ACCESS \
  85. )
  86. #define IOCTL_HPS_BRIDGE_INFO CTL_CODE(FILE_DEVICE_BUS_EXTENDER, \
  87. 0xc07, \
  88. METHOD_BUFFERED, \
  89. FILE_ANY_ACCESS \
  90. )
  91. //
  92. // Interface between shpc and hpsim
  93. //
  94. DEFINE_GUID(GUID_REGISTER_INTERRUPT_INTERFACE, 0xa6485b93, 0x77d9, 0x4d89,
  95. 0x92, 0xaa, 0x25, 0x30, 0x8a, 0xb8, 0xd0, 0x7a);
  96. DEFINE_GUID(GUID_HPS_MEMORY_INTERFACE, 0x437217bb, 0x23ca, 0x4ac7,
  97. 0x8b, 0x97, 0xa5, 0x5c, 0xa1, 0xcd, 0x8a, 0x68);
  98. #endif //_SIMGUIDH_