wut
v1.7.0
Wii U Toolchain
|
Standard event object implementation. More...
Data Structures | |
struct | OSEvent |
Macros | |
#define | OS_EVENT_TAG 0x65566E54u |
Typedefs | |
typedef struct OSEvent | OSEvent |
typedef enum OSEventMode | OSEventMode |
Enumerations | |
enum | OSEventMode { OS_EVENT_MODE_MANUAL = 0 , OS_EVENT_MODE_AUTO = 1 } |
Functions | |
void | OSInitEvent (OSEvent *event, BOOL value, OSEventMode mode) |
Initialise an event object with value and mode. More... | |
void | OSInitEventEx (OSEvent *event, BOOL value, OSEventMode mode, char *name) |
Initialise an event object with value, mode and name. More... | |
void | OSSignalEvent (OSEvent *event) |
Signals the event. More... | |
void | OSSignalEventAll (OSEvent *event) |
Signals all threads waiting on an event. More... | |
void | OSWaitEvent (OSEvent *event) |
Wait until an event is signalled. More... | |
void | OSResetEvent (OSEvent *event) |
Resets the event object. More... | |
BOOL | OSWaitEventWithTimeout (OSEvent *event, OSTime timeout) |
Wait until an event is signalled or a timeout has occurred. More... | |
Standard event object implementation.
There are two supported event object modes, check OSEventMode.
Similar to Windows Event Objects.
struct OSEvent |
Data Fields | ||
---|---|---|
uint32_t | tag | Should always be set to the value OS_EVENT_TAG. |
const char * | name | Name set by OSInitEventEx. |
BOOL | value | The current value of the event object. |
OSThreadQueue | queue | The threads currently waiting on this event object with OSWaitEvent. |
OSEventMode | mode | The mode of the event object, set by OSInitEvent. |
typedef enum OSEventMode OSEventMode |
enum OSEventMode |
void OSInitEvent | ( | OSEvent * | event, |
BOOL | value, | ||
OSEventMode | mode | ||
) |
Initialise an event object with value and mode.
void OSInitEventEx | ( | OSEvent * | event, |
BOOL | value, | ||
OSEventMode | mode, | ||
char * | name | ||
) |
Initialise an event object with value, mode and name.
void OSSignalEvent | ( | OSEvent * | event | ) |
Signals the event.
If no threads are waiting the event value is set.
If the event mode is OS_EVENT_MODE_MANUAL this will wake all waiting threads and the event will remain set until OSResetEvent is called.
If the event mode is OS_EVENT_MODE_AUTO this will wake only one thread and the event will be reset immediately.
Similar to SetEvent.
void OSSignalEventAll | ( | OSEvent * | event | ) |
Signals all threads waiting on an event.
If no threads are waiting the event value is set.
If the event mode is OS_EVENT_MODE_MANUAL this will wake all waiting threads and the event will remain set until OSResetEvent is called.
If the event mode is OS_EVENT_MODE_AUTO this will wake all waiting threads and the event will be reset.
void OSWaitEvent | ( | OSEvent * | event | ) |
Wait until an event is signalled.
If the event is already set, this returns immediately.
If the event mode is OS_EVENT_MODE_AUTO the event will be reset before returning from this method.
Similar to WaitForSingleObject.
void OSResetEvent | ( | OSEvent * | event | ) |
Resets the event object.
Similar to ResetEvent.
Wait until an event is signalled or a timeout has occurred.
Similar to WaitForSingleObject.