mirror of
https://github.com/wiiu-env/wut.git
synced 2024-12-13 21:21:53 +01:00
2e776838ff
So we don't have to extern C and pragma pack in every header file.
47 lines
889 B
C
47 lines
889 B
C
#pragma once
|
|
#include <wut.h>
|
|
#include "threadqueue.h"
|
|
|
|
WUT_LIB_HEADER_START
|
|
|
|
typedef struct OSSemaphore OSSemaphore;
|
|
|
|
#define OS_SEMAPHORE_TAG 0x73506852u
|
|
|
|
struct OSSemaphore
|
|
{
|
|
uint32_t tag;
|
|
const char *name;
|
|
UNKNOWN(4);
|
|
int32_t count;
|
|
OSThreadQueue queue;
|
|
};
|
|
CHECK_OFFSET(OSSemaphore, 0x00, tag);
|
|
CHECK_OFFSET(OSSemaphore, 0x04, name);
|
|
CHECK_OFFSET(OSSemaphore, 0x0C, count);
|
|
CHECK_OFFSET(OSSemaphore, 0x10, queue);
|
|
CHECK_SIZE(OSSemaphore, 0x20);
|
|
|
|
void
|
|
OSInitSemaphore(OSSemaphore *semaphore,
|
|
int32_t count);
|
|
|
|
void
|
|
OSInitSemaphoreEx(OSSemaphore *semaphore,
|
|
int32_t count,
|
|
const char *name);
|
|
|
|
int32_t
|
|
OSGetSemaphoreCount(OSSemaphore *semaphore);
|
|
|
|
int32_t
|
|
OSSignalSemaphore(OSSemaphore *semaphore);
|
|
|
|
int32_t
|
|
OSWaitSemaphore(OSSemaphore *semaphore);
|
|
|
|
int32_t
|
|
OSTryWaitSemaphore(OSSemaphore *semaphore);
|
|
|
|
WUT_LIB_HEADER_END
|