System.Win32.Event

Win32-2.14.0.0: A binding to Windows Win32 API.

Copyright | (c) Esa Ilari Vuokko 2006
License | BSD-style (see the file LICENSE)
Maintainer | Esa Ilari Vuokko <ei@vuokko.info>
Stability | provisional
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

System.Win32.Event

Contents

- Duplicate options
- Access modes
- Wait results
- Managing events
- Signalling objects
- Waiting on objects

Description

A collection of FFI declarations for interfacing with Win32 event system between processes.

Synopsis

- type DuplicateOption = DWORD
- dUPLICATE_CLOSE_SOURCE :: DuplicateOption
- dUPLICATE_SAME_ACCESS :: DuplicateOption
- type AccessMode = UINT
- eVENT_ALL_ACCESS :: AccessMode
- eVENT_MODIFY_STATE :: AccessMode
- type WaitResult = DWORD
- wAIT_ABANDONED :: WaitResult
- wAIT_IO_COMPLETION :: WaitResult
- wAIT_OBJECT_0 :: WaitResult
- wAIT_TIMEOUT :: WaitResult
- wAIT_FAILED :: WaitResult
- openEvent :: AccessMode -> Bool -> String -> IO HANDLE
- createEvent :: Maybe SECURITY_ATTRIBUTES -> Bool -> Bool -> String -> IO HANDLE
- duplicateHandle :: HANDLE -> HANDLE -> HANDLE -> AccessMode -> Bool -> DuplicateOption -> IO HANDLE
- setEvent :: HANDLE -> IO ()
- resetEvent :: HANDLE -> IO ()
- pulseEvent :: HANDLE -> IO ()
- signalObjectAndWait :: HANDLE -> HANDLE -> MilliSeconds -> Bool -> IO WaitResult
- waitForSingleObject :: HANDLE -> MilliSeconds -> IO WaitResult
- waitForSingleObjectEx :: HANDLE -> MilliSeconds -> Bool -> IO WaitResult
- waitForMultipleObjects :: [HANDLE] -> Bool -> MilliSeconds -> IO WaitResult
- waitForMultipleObjectsEx :: [HANDLE] -> Bool -> MilliSeconds -> Bool -> IO WaitResult

# Duplicate options

type DuplicateOption = DWORD Source #

dUPLICATE_CLOSE_SOURCE :: DuplicateOption Source #

dUPLICATE_SAME_ACCESS :: DuplicateOption Source #

# Access modes

type AccessMode = UINT Source #

eVENT_ALL_ACCESS :: AccessMode Source #

eVENT_MODIFY_STATE :: AccessMode Source #

# Wait results

type WaitResult = DWORD Source #

wAIT_ABANDONED :: WaitResult Source #

wAIT_IO_COMPLETION :: WaitResult Source #

wAIT_OBJECT_0 :: WaitResult Source #

wAIT_TIMEOUT :: WaitResult Source #

wAIT_FAILED :: WaitResult Source #

# Managing events

openEvent :: AccessMode -> Bool -> String -> IO HANDLE Source #

createEvent :: Maybe SECURITY_ATTRIBUTES -> Bool -> Bool -> String -> IO HANDLE Source #

duplicateHandle :: HANDLE -> HANDLE -> HANDLE -> AccessMode -> Bool -> DuplicateOption -> IO HANDLE Source #

setEvent :: HANDLE -> IO () Source #

resetEvent :: HANDLE -> IO () Source #

pulseEvent :: HANDLE -> IO () Source #

# Signalling objects

signalObjectAndWait :: HANDLE -> HANDLE -> MilliSeconds -> Bool -> IO WaitResult Source #

# Waiting on objects

waitForSingleObject :: HANDLE -> MilliSeconds -> IO WaitResult Source #

waitForSingleObjectEx :: HANDLE -> MilliSeconds -> Bool -> IO WaitResult Source #

waitForMultipleObjects :: [HANDLE] -> Bool -> MilliSeconds -> IO WaitResult Source #

waitForMultipleObjectsEx :: [HANDLE] -> Bool -> MilliSeconds -> Bool -> IO WaitResult Source #