mirror of
https://github.com/wiiu-env/wut.git
synced 2024-12-13 20:01:53 +01:00
2e776838ff
So we don't have to extern C and pragma pack in every header file.
45 lines
806 B
C
45 lines
806 B
C
#pragma once
|
|
#include <wut.h>
|
|
#include "threadqueue.h"
|
|
|
|
WUT_LIB_HEADER_START
|
|
|
|
typedef struct OSCondition OSCondition;
|
|
typedef struct OSMutex OSMutex;
|
|
|
|
#define OS_CONDITION_TAG 0x634E6456u
|
|
|
|
struct OSCondition
|
|
{
|
|
// OS_CONDITION_TAG
|
|
uint32_t tag;
|
|
|
|
// Name set by OSInitCondEx(condition, name)
|
|
const char *name;
|
|
|
|
UNKNOWN(4);
|
|
|
|
// Queue of threads waiting on condition
|
|
OSThreadQueue queue;
|
|
};
|
|
CHECK_OFFSET(OSCondition, 0x00, tag);
|
|
CHECK_OFFSET(OSCondition, 0x04, name);
|
|
CHECK_OFFSET(OSCondition, 0x0c, queue);
|
|
CHECK_SIZE(OSCondition, 0x1c);
|
|
|
|
void
|
|
OSInitCond(OSCondition *condition);
|
|
|
|
void
|
|
OSInitCondEx(OSCondition *condition,
|
|
const char *name);
|
|
|
|
void
|
|
OSWaitCond(OSCondition *condition,
|
|
OSMutex *mutex);
|
|
|
|
void
|
|
OSSignalCond(OSCondition *condition);
|
|
|
|
WUT_LIB_HEADER_END
|