|
ReactOS 0.4.17-dev-1037-g720d112
|
Go to the source code of this file.
Classes | |
| struct | _SM_EVENT_INFO |
| struct | _SM_RESULT |
| struct | _SM_TRACE |
| struct | SmState< Machine, Event > |
| One state. Handler gets every event the state sees. More... | |
| class | SmMachine< Machine, Event > |
| Run to completion engine. The first thread to post into an idle machine drains the queue; everyone else just enqueues. Handlers, entries and hooks run without the lock held. More... | |
Macros | |
| #define | SM_QUEUE_DEPTH 32 |
| #define | SM_MAX_DEPTH 8 |
| #define | SM_TRACE_DEPTH 32 |
| #define | SM_TRACE_MASK (SM_TRACE_DEPTH - 1) |
| #define | SM_NO_EVENT 0xFFFF |
| #define | SM_FRAME_INNERMOST 0xFF |
| #define | SM_BREAK(Message) NT_ASSERTMSG(Message, FALSE) |
| #define | SM_STATE_TAKES_REQUESTS 0x00000001 |
| #define | SM_STATE_NEEDS_PASSIVE 0x00000002 |
| #define | SM_STATE_CRITICAL_ONLY 0x00000004 |
| #define | SM_STATE_YIELDS_TO_CALLER 0x00000008 |
| #define | SM_STATE_STOP_TIMER_ON_EXIT 0x00000010 |
Typedefs | |
| typedef enum _SM_EVENT_CLASS | SM_EVENT_CLASS |
| typedef struct _SM_EVENT_INFO | SM_EVENT_INFO |
| typedef struct _SM_EVENT_INFO * | PSM_EVENT_INFO |
| typedef enum _SM_RESULT_KIND | SM_RESULT_KIND |
| typedef struct _SM_RESULT | SM_RESULT |
| typedef enum _SM_TRACE_KIND | SM_TRACE_KIND |
| typedef struct _SM_TRACE | SM_TRACE |
| typedef struct _SM_TRACE * | PSM_TRACE |
Enumerations | |
| enum | _SM_EVENT_CLASS { SmEventCompletion , SmEventRequest , SmEventResume , SmEventCritical } |
| enum | _SM_RESULT_KIND { SmResultUnhandled , SmResultHandled , SmResultTransition , SmResultPaused , SmResultCall , SmResultReturn } |
| enum | _SM_TRACE_KIND { SmTracePosted , SmTraceRejected , SmTraceDispatched , SmTraceEntered , SmTraceUnhandled , SmTracePaused , SmTraceResumed , SmTraceWaitPassive , SmTraceCalled , SmTraceReturned , SmTraceDiscarded , SmTraceWaitTimer } |
| #define SM_BREAK | ( | Message | ) | NT_ASSERTMSG(Message, FALSE) |
Definition at line 18 of file smengine.h.
| #define SM_FRAME_INNERMOST 0xFF |
Definition at line 15 of file smengine.h.
| #define SM_MAX_DEPTH 8 |
Definition at line 11 of file smengine.h.
| #define SM_NO_EVENT 0xFFFF |
Definition at line 14 of file smengine.h.
| #define SM_QUEUE_DEPTH 32 |
Definition at line 10 of file smengine.h.
| #define SM_STATE_CRITICAL_ONLY 0x00000004 |
Definition at line 41 of file smengine.h.
| #define SM_STATE_NEEDS_PASSIVE 0x00000002 |
Definition at line 40 of file smengine.h.
| #define SM_STATE_STOP_TIMER_ON_EXIT 0x00000010 |
Definition at line 43 of file smengine.h.
| #define SM_STATE_TAKES_REQUESTS 0x00000001 |
Definition at line 39 of file smengine.h.
| #define SM_STATE_YIELDS_TO_CALLER 0x00000008 |
Caller may leave it; caller's flags pick events
Definition at line 42 of file smengine.h.
| #define SM_TRACE_DEPTH 32 |
Definition at line 12 of file smengine.h.
| #define SM_TRACE_MASK (SM_TRACE_DEPTH - 1) |
Definition at line 13 of file smengine.h.
| typedef struct _SM_EVENT_INFO * PSM_EVENT_INFO |
| typedef enum _SM_EVENT_CLASS SM_EVENT_CLASS |
How a posted event is queued.
| typedef struct _SM_EVENT_INFO SM_EVENT_INFO |
| typedef struct _SM_RESULT SM_RESULT |
| typedef enum _SM_RESULT_KIND SM_RESULT_KIND |
| typedef enum _SM_TRACE_KIND SM_TRACE_KIND |
How a posted event is queued.
Definition at line 22 of file smengine.h.
| Enumerator | |
|---|---|
| SmResultUnhandled | |
| SmResultHandled | |
| SmResultTransition | |
| SmResultPaused | |
| SmResultCall | |
| SmResultReturn | |
Definition at line 45 of file smengine.h.
Definition at line 63 of file smengine.h.