/*---------------------------------------------------------------------------* Project: Cafe File: OSEvent.h Copyright (C) 2010-2011 Nintendo. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. *---------------------------------------------------------------------------*/ #ifndef __OSEVENT_H__ #define __OSEVENT_H__ #define OSEVENT_TXT_TAG 0x65566E54 #include #ifdef __cplusplus extern "C" { #endif #define OS_EVENT_MANUAL 0 #define OS_EVENT_AUTO 1 typedef struct OSEvent { u32 txtTag; // eVnT 0x65566E54 char * name; // debug name or NULL u32 os_reserved1; BOOL state; OSThreadQueue queue; s32 mode; } OSEvent; void OSInitEvent(OSEvent *event, BOOL initial_state, s32 mode); void OSInitEventEx(OSEvent *event, BOOL initial_state, s32 mode, char * name); void OSSignalEvent(OSEvent *event); void OSSignalEventAll(OSEvent *event); void OSWaitEvent(OSEvent *event); void OSResetEvent(OSEvent *event); BOOL OSWaitEventWithTimeout(OSEvent *event, OSTimeNanoseconds timeout); #ifdef __cplusplus } #endif #endif // __OSEVENT_H__