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

Go to the source code of this file.

Classes

struct  _PSM_PORT_BITS
 
class  PortMachine
 

Macros

#define PSM_STATE_IDLE_USB2   0x00000100
 
#define PSM_STATE_IDLE_USB3   0x00000200
 
#define PSM_STATE_IDLE   (PSM_STATE_IDLE_USB2 | PSM_STATE_IDLE_USB3)
 

Typedefs

typedef enum _PSM_DEVICE_NOTICE PSM_DEVICE_NOTICE
 
typedef enum _PSM_TIMER PSM_TIMER
 
typedef enum _PSM_PENDING PSM_PENDING
 
typedef struct _PSM_PORT_BITS PSM_PORT_BITS
 
typedef struct _PSM_PORT_BITS * PPSM_PORT_BITS
 

Enumerations

enum class  PortEvent : UCHAR {
  TimerExpired , ResetPollExpired , TransferDone , TransferFailed ,
  PortCleanup , HubStarted , HubResumed , HubResumedInS0 ,
  HubResumedWithReset , HubStopping , HubSuspending , HubResetting ,
  StatusChanged , HubRemoved , UserOverCurrentReset , DeviceGone ,
  HibernateRequest , CycleRequest , DisableRequest , DisableSuperSpeedRequest ,
  ResetRequest , WarmResetRequest , ResumeRequest , SuspendRequest ,
  SetU1Timeout , SetU2Timeout , ChangeConnect , ChangeOverCurrent ,
  ChangeOverCurrentCleared , ChangeResetDone , ChangeResumed , ChangeDisabled ,
  ChangeError , ChangeLinkError , ChangeNone , ChangeResetBusy ,
  ChangeNeedsHubReset , ChangeNeedsReset , ErrorIgnore , ErrorCycle ,
  ErrorDisableAndCycle , ErrorEnabledOnConnect , ErrorEnabledWhileReset , SubDone ,
  Count
}
 
enum  _PSM_DEVICE_NOTICE {
  PsmNoticeFailed , PsmNoticeDisabled , PsmNoticeResetRefused , PsmNoticeResumed ,
  PsmNoticeSuspended , PsmNoticeResumeRefused , PsmNoticeResumeTimedOut , PsmNoticeStateDisabled ,
  PsmNoticeStateEnabled , PsmNoticeStateSuspended , PsmNoticeResetTimedOut , PsmNoticeResetComplete ,
  PsmNoticeTimeoutUpdated , PsmNoticeEnabledOnReconnect
}
 
enum  _PSM_TIMER {
  PsmTimerDebounce , PsmTimerOverCurrent , PsmTimerResetCompletion , PsmTimerResumeCompletion ,
  PsmTimerResumeRecovery , PsmTimerPowerOn , PsmTimerReconnect , PsmTimerD3ColdReconnect ,
  PsmTimerSuperSpeedDisable , PsmTimerResetPoll
}
 
enum  _PSM_PENDING { PsmPendingChange , PsmPendingNone , PsmPendingError }
 

Macro Definition Documentation

◆ PSM_STATE_IDLE

Definition at line 125 of file portsm.h.

◆ PSM_STATE_IDLE_USB2

#define PSM_STATE_IDLE_USB2   0x00000100

A 2.0 port resting here lets the hub suspend

Definition at line 123 of file portsm.h.

◆ PSM_STATE_IDLE_USB3

#define PSM_STATE_IDLE_USB3   0x00000200

Same for a 3.0 port

Definition at line 124 of file portsm.h.

Typedef Documentation

◆ PPSM_PORT_BITS

◆ PSM_DEVICE_NOTICE

Notices the port sends to the device machine.

◆ PSM_PENDING

Answer of the "is a change bit still set" query.

◆ PSM_PORT_BITS

Saved 2.0 port status bits the two status decisions look at.

◆ PSM_TIMER

What the single port timer is armed for.

Enumeration Type Documentation

◆ _PSM_DEVICE_NOTICE

Notices the port sends to the device machine.

Enumerator
PsmNoticeFailed 
PsmNoticeDisabled 
PsmNoticeResetRefused 
PsmNoticeResumed 
PsmNoticeSuspended 
PsmNoticeResumeRefused 
PsmNoticeResumeTimedOut 
PsmNoticeStateDisabled 
PsmNoticeStateEnabled 
PsmNoticeStateSuspended 
PsmNoticeResetTimedOut 
PsmNoticeResetComplete 
PsmNoticeTimeoutUpdated 
PsmNoticeEnabledOnReconnect 

Definition at line 72 of file portsm.h.

73{
@ PsmNoticeDisabled
Definition: portsm.h:75
@ PsmNoticeResumeTimedOut
Definition: portsm.h:80
@ PsmNoticeSuspended
Definition: portsm.h:78
@ PsmNoticeStateEnabled
Definition: portsm.h:82
@ PsmNoticeResetRefused
Definition: portsm.h:76
@ PsmNoticeResumeRefused
Definition: portsm.h:79
@ PsmNoticeResetTimedOut
Definition: portsm.h:84
@ PsmNoticeEnabledOnReconnect
Definition: portsm.h:87
@ PsmNoticeStateSuspended
Definition: portsm.h:83
@ PsmNoticeResumed
Definition: portsm.h:77
@ PsmNoticeFailed
Definition: portsm.h:74
@ PsmNoticeStateDisabled
Definition: portsm.h:81
@ PsmNoticeResetComplete
Definition: portsm.h:85
@ PsmNoticeTimeoutUpdated
Definition: portsm.h:86
enum _PSM_DEVICE_NOTICE PSM_DEVICE_NOTICE

◆ _PSM_PENDING

Answer of the "is a change bit still set" query.

Enumerator
PsmPendingChange 
PsmPendingNone 
PsmPendingError 

Definition at line 106 of file portsm.h.

107{
@ PsmPendingNone
Definition: portsm.h:109
@ PsmPendingError
Definition: portsm.h:110
@ PsmPendingChange
Definition: portsm.h:108
enum _PSM_PENDING PSM_PENDING

◆ _PSM_TIMER

What the single port timer is armed for.

Enumerator
PsmTimerDebounce 
PsmTimerOverCurrent 
PsmTimerResetCompletion 
PsmTimerResumeCompletion 
PsmTimerResumeRecovery 
PsmTimerPowerOn 
PsmTimerReconnect 
PsmTimerD3ColdReconnect 
PsmTimerSuperSpeedDisable 
PsmTimerResetPoll 

Definition at line 91 of file portsm.h.

92{
103} PSM_TIMER;
enum _PSM_TIMER PSM_TIMER
@ PsmTimerResetPoll
Definition: portsm.h:102
@ PsmTimerResumeCompletion
Definition: portsm.h:96
@ PsmTimerReconnect
Definition: portsm.h:99
@ PsmTimerOverCurrent
Definition: portsm.h:94
@ PsmTimerResumeRecovery
Definition: portsm.h:97
@ PsmTimerPowerOn
Definition: portsm.h:98
@ PsmTimerSuperSpeedDisable
Definition: portsm.h:101
@ PsmTimerDebounce
Definition: portsm.h:93
@ PsmTimerD3ColdReconnect
Definition: portsm.h:100
@ PsmTimerResetCompletion
Definition: portsm.h:95

◆ PortEvent

Enumerator
TimerExpired 
ResetPollExpired 
TransferDone 
TransferFailed 
PortCleanup 
HubStarted 
HubResumed 
HubResumedInS0 
HubResumedWithReset 
HubStopping 
HubSuspending 
HubResetting 
StatusChanged 
HubRemoved 
UserOverCurrentReset 
DeviceGone 
HibernateRequest 
CycleRequest 
DisableRequest 
DisableSuperSpeedRequest 
ResetRequest 
WarmResetRequest 
ResumeRequest 
SuspendRequest 
SetU1Timeout 
SetU2Timeout 
ChangeConnect 
ChangeOverCurrent 
ChangeOverCurrentCleared 
ChangeResetDone 
ChangeResumed 
ChangeDisabled 
ChangeError 
ChangeLinkError 
ChangeNone 
ChangeResetBusy 
ChangeNeedsHubReset 
ChangeNeedsReset 
ErrorIgnore 
ErrorCycle 
ErrorDisableAndCycle 
ErrorEnabledOnConnect 
ErrorEnabledWhileReset 
SubDone 
Count 

Definition at line 14 of file portsm.h.

15{
16 /* Timers and port control transfers */
21
22 /* Hub machine fan out and port object lifetime */
34
35 /* From the device machine */
47
48 /* Results handed back by called states and change queries, never posted */
66 SubDone,
67
68 Count
69};
@ ErrorEnabledOnConnect
@ HubResumedWithReset
@ ChangeOverCurrentCleared
@ ErrorDisableAndCycle
@ ChangeNeedsHubReset
@ DisableSuperSpeedRequest
@ ChangeNeedsReset
@ WarmResetRequest
@ ResetPollExpired
@ ErrorEnabledWhileReset
@ UserOverCurrentReset
@ HibernateRequest
@ ChangeOverCurrent