diff options
| author | pravic <[email protected]> | 2016-04-12 16:39:37 +0300 |
|---|---|---|
| committer | pravic <[email protected]> | 2016-04-12 16:39:37 +0300 |
| commit | 28ff216899e95a6a9756bcbe580f28ed8ce61228 (patch) | |
| tree | bbf00e3c5f3b440db5ddb3f86b6d3a893349cee0 /src/event.rs | |
| parent | git ignore (diff) | |
| download | winapi-kmd-rs-28ff216899e95a6a9756bcbe580f28ed8ce61228.tar.xz winapi-kmd-rs-28ff216899e95a6a9756bcbe580f28ed8ce61228.zip | |
Windows Kernel-Mode library
Diffstat (limited to 'src/event.rs')
| -rw-r--r-- | src/event.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/event.rs b/src/event.rs new file mode 100644 index 0000000..2f00bb1 --- /dev/null +++ b/src/event.rs @@ -0,0 +1,31 @@ +//! Event Objects. + +use ::basedef::DISPATCHER_HEADER; + +extern "system" +{ + pub fn KeInitializeEvent(Event: PKEVENT, Type: EVENT_TYPE, State: bool); + pub fn KeSetEvent(Event: PKEVENT, Increment: i32, Wait: bool) -> i32; + pub fn KeReadStateEvent(Event: PKEVENT) -> i32; + pub fn KeResetEvent(Event: PKEVENT) -> i32; + pub fn KeClearEvent(Event: PKEVENT); +} + +pub type PKEVENT = *mut KEVENT; + +/// Specifies the event type. +#[repr(C)] +pub enum EVENT_TYPE +{ + /// Manual-reset event. + NotificationEvent = 0, + /// Auto-clearing event. + SynchronizationEvent, +} + +/// Event object. +#[repr(C)] +pub struct KEVENT +{ + Header: DISPATCHER_HEADER, +} |