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.

155 lines
4.7 KiB

  1. /*****************************************************************************
  2. @doc INT EXT
  3. ******************************************************************************
  4. * $ProjectName: $
  5. * $ProjectRevision: $
  6. *-----------------------------------------------------------------------------
  7. * $Source: z:/pr/cmbp0/sw/cmbp0.ms/rcs/cmbp0pnp.h $
  8. * $Revision: 1.2 $
  9. *-----------------------------------------------------------------------------
  10. * $Author: WFrischauf $
  11. *-----------------------------------------------------------------------------
  12. * History: see EOF
  13. *-----------------------------------------------------------------------------
  14. *
  15. * Copyright 2000 OMNIKEY AG
  16. ******************************************************************************/
  17. #if !defined ( __CMMOB_PNP_DRV_H__ )
  18. #define __CMMOB_PNP_DRV_H__
  19. #ifdef DBG
  20. static const PCHAR szPnpMnFuncDesc[] =
  21. { // note this depends on corresponding values to the indexes in wdm.h
  22. "IRP_MN_START_DEVICE",
  23. "IRP_MN_QUERY_REMOVE_DEVICE",
  24. "IRP_MN_REMOVE_DEVICE",
  25. "IRP_MN_CANCEL_REMOVE_DEVICE",
  26. "IRP_MN_STOP_DEVICE",
  27. "IRP_MN_QUERY_STOP_DEVICE",
  28. "IRP_MN_CANCEL_STOP_DEVICE",
  29. "IRP_MN_QUERY_DEVICE_RELATIONS",
  30. "IRP_MN_QUERY_INTERFACE",
  31. "IRP_MN_QUERY_CAPABILITIES",
  32. "IRP_MN_QUERY_RESOURCES",
  33. "IRP_MN_QUERY_RESOURCE_REQUIREMENTS",
  34. "IRP_MN_QUERY_DEVICE_TEXT",
  35. "IRP_MN_FILTER_RESOURCE_REQUIREMENTS",
  36. "IRP_MN_READ_CONFIG",
  37. "IRP_MN_WRITE_CONFIG",
  38. "IRP_MN_EJECT",
  39. "IRP_MN_SET_LOCK",
  40. "IRP_MN_QUERY_ID",
  41. "IRP_MN_QUERY_PNP_DEVICE_STATE",
  42. "IRP_MN_QUERY_BUS_INFORMATION",
  43. "IRP_MN_DEVICE_USAGE_NOTIFICATION",
  44. "IRP_MN_SURPRISE_REMOVAL"
  45. };
  46. #define IRP_PNP_MN_FUNC_MAX IRP_MN_SURPRISE_REMOVAL
  47. static const PCHAR szPowerMnFuncDesc[] =
  48. { // note this depends on corresponding values to the indexes in wdm.h
  49. "IRP_MN_WAIT_WAKE",
  50. "IRP_MN_POWER_SEQUENCE",
  51. "IRP_MN_SET_POWER",
  52. "IRP_MN_QUERY_POWER"
  53. };
  54. #define IRP_POWER_MN_FUNC_MAX IRP_MN_QUERY_POWER
  55. static const PCHAR szSystemPowerState[] =
  56. {
  57. "PowerSystemUnspecified",
  58. "PowerSystemWorking",
  59. "PowerSystemSleeping1",
  60. "PowerSystemSleeping2",
  61. "PowerSystemSleeping3",
  62. "PowerSystemHibernate",
  63. "PowerSystemShutdown",
  64. "PowerSystemMaximum"
  65. };
  66. static const PCHAR szDevicePowerState[] =
  67. {
  68. "PowerDeviceUnspecified",
  69. "PowerDeviceD0",
  70. "PowerDeviceD1",
  71. "PowerDeviceD2",
  72. "PowerDeviceD3",
  73. "PowerDeviceMaximum"
  74. };
  75. static const PCHAR szDeviceRelation[] =
  76. {
  77. "BusRelations",
  78. "EjectionRelations",
  79. "PowerRelations",
  80. "RemovalRelations",
  81. "TargetDeviceRelation"
  82. };
  83. #endif
  84. NTSTATUS CMMOB_AddDevice(
  85. IN PDRIVER_OBJECT DriverObject,
  86. IN PDEVICE_OBJECT PhysicalDeviceObject
  87. );
  88. NTSTATUS CMMOB_QueryCapabilities(
  89. IN PDEVICE_OBJECT AttachedDeviceObject,
  90. IN PDEVICE_CAPABILITIES DeviceCapabilities
  91. );
  92. NTSTATUS CMMOB_CallPcmciaDriver(
  93. IN PDEVICE_OBJECT DeviceObject,
  94. IN PIRP Irp
  95. );
  96. NTSTATUS CMMOB_PcmciaCallComplete (
  97. IN PDEVICE_OBJECT DeviceObject,
  98. IN PIRP Irp,
  99. IN PKEVENT Event
  100. );
  101. NTSTATUS CMMOB_PnPDeviceControl(
  102. IN PDEVICE_OBJECT DeviceObject,
  103. IN PIRP Irp
  104. );
  105. VOID CMMOB_SystemPowerCompletion(
  106. IN PDEVICE_OBJECT DeviceObject,
  107. IN UCHAR MinorFunction,
  108. IN POWER_STATE PowerState,
  109. IN PKEVENT Event,
  110. IN PIO_STATUS_BLOCK IoStatus
  111. );
  112. NTSTATUS CMMOB_DevicePowerCompletion (
  113. IN PDEVICE_OBJECT DeviceObject,
  114. IN PIRP Irp,
  115. IN PSMARTCARD_EXTENSION SmartcardExtension
  116. );
  117. NTSTATUS CMMOB_PowerDeviceControl (
  118. IN PDEVICE_OBJECT DeviceObject,
  119. IN PIRP Irp
  120. );
  121. #endif // __CMMOB_PNP_DRV_H__
  122. /*****************************************************************************
  123. * History:
  124. * $Log: cmbp0pnp.h $
  125. * Revision 1.2 2000/07/27 13:53:02 WFrischauf
  126. * No comment given
  127. *
  128. *
  129. ******************************************************************************/