ReactOS 0.4.17-dev-1281-g065abb3
devsm.h File Reference
Include dependency graph for devsm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DeviceMachine
 

Macros

#define DSM_KIND_USB10   0x00000001
 
#define DSM_KIND_USB1X   0x00000002
 
#define DSM_KIND_USB20   0x00000004
 
#define DSM_KIND_USB2X   0x00000008
 
#define DSM_KIND_USB3X   0x00000010
 
#define DSM_KIND_ANY_VERSION   0x000000FF
 
#define DSM_KIND_HIGH_SPEED   0x00000100
 
#define DSM_KIND_FULL_SPEED   0x00000200
 
#define DSM_KIND_LOW_SPEED   0x00000400
 
#define DSM_KIND_SUPER_SPEED   0x00000800
 
#define DSM_KIND_ANY_SPEED   0x0000FF00
 
#define DSM_KIND_PORT20   0x00010000
 
#define DSM_KIND_PORT30   0x00020000
 
#define DSM_KIND_ANY_PORT   0x00FF0000
 

Typedefs

typedef enum _DSM_RESET_KIND DSM_RESET_KIND
 
typedef enum _DSM_FEATURE_CHANGE DSM_FEATURE_CHANGE
 
typedef enum _DSM_ADD_CHILD DSM_ADD_CHILD
 
typedef enum _DSM_DELAY DSM_DELAY
 
typedef enum _DSM_REENUM DSM_REENUM
 

Enumerations

enum class  DsmEvent : UCHAR {
  PortAttached , PortReattached , PortDetached , PortDisableDone ,
  PortFault , PortResetDone , PortResetAbortedForSuspend , PortResetTimeout ,
  PortResumeDone , PortResumeAbortedForSuspend , PortResumeTimeout , PortSuspendDone ,
  PortNowDisabled , PortNowEnabled , PortNowEnabledOnReconnect , PortNowSuspended ,
  PortTimeoutSet , HubStarted , HubStopping , HubStoppingAfterSuspend ,
  HubSuspending , HubResumed , HubResumedInS0 , HubResumedWithReset ,
  TimerFired , TransferDone , TransferFailed , TransferStalled ,
  ControllerIoctlDone , ControllerIoctlFailed , ControllerExitLatencyTooLarge , ControllerRequestDone ,
  PdoPreStart , PdoPowerUp , PdoPowerDown , PdoPowerDownFinal ,
  PdoPrepareHibernate , PdoInstallMsOsExt , PdoReportedMissing , PdoCleanup ,
  ClientCyclePort , ClientResetDevice , ClientResetPipe , ClientSyncResetPipe ,
  ClientClearStall , ClientSelectConfig , ClientUnconfigure , ClientSetInterface ,
  ClientStreams , DeviceTextQuery , HubGetDescriptor , LpmSettingChanged ,
  NoPingResponse , Succeeded , Failed , FailedDeviceEnabled ,
  DetachedDeviceEnabled , PortOffForHubSuspend , HubStoppedHoldingReference , ResumeDone ,
  ResumedWithHub , SuspendedAfterHubResume , NeedsReenumeration , FailEnumeration ,
  Count
}
 
enum  _DSM_RESET_KIND { DsmResetNone , DsmResetHot , DsmResetWarm }
 
enum  _DSM_FEATURE_CHANGE { DsmFeatureKeep , DsmFeatureEnable , DsmFeatureDisable }
 
enum  _DSM_ADD_CHILD { DsmAddChildDone , DsmAddChildDuplicate , DsmAddChildFailed }
 
enum  _DSM_DELAY {
  DsmDelayEnumRetry , DsmDelayPostReset , DsmDelayPostResetLong , DsmDelayPostResetSuperSpeed ,
  DsmDelayPostAddress , DsmDelayDuplicate
}
 
enum  _DSM_REENUM { DsmReenumConfigured , DsmReenumUnconfigured , DsmReenumRestart }
 

Macro Definition Documentation

◆ DSM_KIND_ANY_PORT

#define DSM_KIND_ANY_PORT   0x00FF0000

Definition at line 154 of file devsm.h.

◆ DSM_KIND_ANY_SPEED

#define DSM_KIND_ANY_SPEED   0x0000FF00

Definition at line 151 of file devsm.h.

◆ DSM_KIND_ANY_VERSION

#define DSM_KIND_ANY_VERSION   0x000000FF

Definition at line 146 of file devsm.h.

◆ DSM_KIND_FULL_SPEED

#define DSM_KIND_FULL_SPEED   0x00000200

Definition at line 148 of file devsm.h.

◆ DSM_KIND_HIGH_SPEED

#define DSM_KIND_HIGH_SPEED   0x00000100

Definition at line 147 of file devsm.h.

◆ DSM_KIND_LOW_SPEED

#define DSM_KIND_LOW_SPEED   0x00000400

Definition at line 149 of file devsm.h.

◆ DSM_KIND_PORT20

#define DSM_KIND_PORT20   0x00010000

Definition at line 152 of file devsm.h.

◆ DSM_KIND_PORT30

#define DSM_KIND_PORT30   0x00020000

Definition at line 153 of file devsm.h.

◆ DSM_KIND_SUPER_SPEED

#define DSM_KIND_SUPER_SPEED   0x00000800

Definition at line 150 of file devsm.h.

◆ DSM_KIND_USB10

#define DSM_KIND_USB10   0x00000001

Definition at line 141 of file devsm.h.

◆ DSM_KIND_USB1X

#define DSM_KIND_USB1X   0x00000002

Definition at line 142 of file devsm.h.

◆ DSM_KIND_USB20

#define DSM_KIND_USB20   0x00000004

Definition at line 143 of file devsm.h.

◆ DSM_KIND_USB2X

#define DSM_KIND_USB2X   0x00000008

Definition at line 144 of file devsm.h.

◆ DSM_KIND_USB3X

#define DSM_KIND_USB3X   0x00000010

Definition at line 145 of file devsm.h.

Typedef Documentation

◆ DSM_ADD_CHILD

Outcome of adding the device to the hub's list of children.

◆ DSM_DELAY

Which timer the shared delay state starts.

◆ DSM_FEATURE_CHANGE

What a link power feature query wants done with the feature.

◆ DSM_REENUM

How a re-enumeration starts.

◆ DSM_RESET_KIND

Result of the reset type query before a SuperSpeed re-enumeration.

Enumeration Type Documentation

◆ _DSM_ADD_CHILD

Outcome of adding the device to the hub's list of children.

Enumerator
DsmAddChildDone 
DsmAddChildDuplicate 
DsmAddChildFailed 

Definition at line 114 of file devsm.h.

115{
enum _DSM_ADD_CHILD DSM_ADD_CHILD
@ DsmAddChildFailed
Definition: devsm.h:118
@ DsmAddChildDone
Definition: devsm.h:116
@ DsmAddChildDuplicate
Definition: devsm.h:117

◆ _DSM_DELAY

Which timer the shared delay state starts.

Enumerator
DsmDelayEnumRetry 
DsmDelayPostReset 
DsmDelayPostResetLong 
DsmDelayPostResetSuperSpeed 
DsmDelayPostAddress 
DsmDelayDuplicate 

Definition at line 122 of file devsm.h.

123{
130} DSM_DELAY;
enum _DSM_DELAY DSM_DELAY
@ DsmDelayPostResetLong
Definition: devsm.h:126
@ DsmDelayDuplicate
Definition: devsm.h:129
@ DsmDelayEnumRetry
Definition: devsm.h:124
@ DsmDelayPostResetSuperSpeed
Definition: devsm.h:127
@ DsmDelayPostReset
Definition: devsm.h:125
@ DsmDelayPostAddress
Definition: devsm.h:128

◆ _DSM_FEATURE_CHANGE

What a link power feature query wants done with the feature.

Enumerator
DsmFeatureKeep 
DsmFeatureEnable 
DsmFeatureDisable 

Definition at line 106 of file devsm.h.

107{
enum _DSM_FEATURE_CHANGE DSM_FEATURE_CHANGE
@ DsmFeatureKeep
Definition: devsm.h:108
@ DsmFeatureDisable
Definition: devsm.h:110
@ DsmFeatureEnable
Definition: devsm.h:109

◆ _DSM_REENUM

How a re-enumeration starts.

Enumerator
DsmReenumConfigured 

Purge the device tree, deconfigure unless programming was lost

DsmReenumUnconfigured 

Purge the device tree, re-enable if programming was lost

DsmReenumRestart 

The controller forgot the device, enable it again

Definition at line 133 of file devsm.h.

134{
138} DSM_REENUM;
enum _DSM_REENUM DSM_REENUM
@ DsmReenumConfigured
Definition: devsm.h:135
@ DsmReenumRestart
Definition: devsm.h:137
@ DsmReenumUnconfigured
Definition: devsm.h:136

◆ _DSM_RESET_KIND

Result of the reset type query before a SuperSpeed re-enumeration.

Enumerator
DsmResetNone 
DsmResetHot 
DsmResetWarm 

Definition at line 98 of file devsm.h.

99{
enum _DSM_RESET_KIND DSM_RESET_KIND
@ DsmResetWarm
Definition: devsm.h:102
@ DsmResetHot
Definition: devsm.h:101
@ DsmResetNone
Definition: devsm.h:100

◆ DsmEvent

Enumerator
PortAttached 
PortReattached 
PortDetached 
PortDisableDone 
PortFault 
PortResetDone 
PortResetAbortedForSuspend 
PortResetTimeout 
PortResumeDone 
PortResumeAbortedForSuspend 
PortResumeTimeout 
PortSuspendDone 
PortNowDisabled 
PortNowEnabled 
PortNowEnabledOnReconnect 
PortNowSuspended 
PortTimeoutSet 
HubStarted 
HubStopping 
HubStoppingAfterSuspend 
HubSuspending 
HubResumed 
HubResumedInS0 
HubResumedWithReset 
TimerFired 
TransferDone 
TransferFailed 
TransferStalled 
ControllerIoctlDone 
ControllerIoctlFailed 
ControllerExitLatencyTooLarge 
ControllerRequestDone 
PdoPreStart 
PdoPowerUp 
PdoPowerDown 
PdoPowerDownFinal 
PdoPrepareHibernate 
PdoInstallMsOsExt 
PdoReportedMissing 
PdoCleanup 
ClientCyclePort 
ClientResetDevice 
ClientResetPipe 
ClientSyncResetPipe 
ClientClearStall 
ClientSelectConfig 
ClientUnconfigure 
ClientSetInterface 
ClientStreams 
DeviceTextQuery 
HubGetDescriptor 
LpmSettingChanged 
NoPingResponse 
Succeeded 
Failed 
FailedDeviceEnabled 
DetachedDeviceEnabled 
PortOffForHubSuspend 
HubStoppedHoldingReference 
ResumeDone 
ResumedWithHub 
SuspendedAfterHubResume 
NeedsReenumeration 
FailEnumeration 
Count 

Definition at line 14 of file devsm.h.

15{
16 /* Port machine reports */
34
35 /* Hub machine reports */
43
44 /* Timer the machine started */
46
47 /* Completions of transfers and controller requests the machine started */
55
56 /* PnP and power requests on the device PDO, wait for a state that takes requests */
65
66 /* Client driver and hub FDO requests, wait for a state that takes requests */
80
81 /* Results a sub machine hands back to the state that called it */
83 Failed,
93
94 Count
95};
@ PortResumeTimeout
@ DeviceTextQuery
@ HubStoppedHoldingReference
@ ClientSyncResetPipe
@ PortResetAbortedForSuspend
@ ControllerIoctlDone
@ PortResetTimeout
@ HubResumedWithReset
@ PortDisableDone
@ ResumedWithHub
@ ClientResetDevice
@ ClientUnconfigure
@ FailEnumeration
@ SuspendedAfterHubResume
@ PortNowEnabled
@ PortResumeDone
@ NoPingResponse
@ LpmSettingChanged
@ PortNowSuspended
@ PortTimeoutSet
@ PortOffForHubSuspend
@ ClientCyclePort
@ ControllerExitLatencyTooLarge
@ PortReattached
@ PortNowDisabled
@ DetachedDeviceEnabled
@ ControllerRequestDone
@ ClientSetInterface
@ ClientClearStall
@ PdoInstallMsOsExt
@ HubResumedInS0
@ HubGetDescriptor
@ HubStoppingAfterSuspend
@ PdoReportedMissing
@ PortResumeAbortedForSuspend
@ NeedsReenumeration
@ ControllerIoctlFailed
@ TransferStalled
@ TransferFailed
@ PortSuspendDone
@ ClientResetPipe
@ PortNowEnabledOnReconnect
@ PdoPowerDownFinal
@ PdoPrepareHibernate
@ FailedDeviceEnabled
@ ClientSelectConfig