AuroraRuntime/Include/Aurora/IPC/IPCPrimitives.hpp

32 lines
814 B
C++
Raw Normal View History

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: Primitives.hpp
Date: 2022-4-14
Author: Reece
***/
#pragma once
namespace Aurora::IPC
{
struct IPCEvent : Loop::ILSEvent, IExportableIPC
{
};
struct IPCSemaphore : Loop::ILSSemaphore, IExportableIPC
{
};
struct IPCMutex : Loop::ILSMutex, IExportableIPC
{
};
AUKN_SYM AuSPtr<IPCEvent> NewEvent(bool triggered, bool atomicRelease);
AUKN_SYM AuSPtr<IPCEvent> ImportEvent(const AuString &handle);
AUKN_SYM AuSPtr<IPCSemaphore> NewSemaphore(int startingValue);
AUKN_SYM AuSPtr<IPCSemaphore> ImportSemaphore(const AuString &handle);
AUKN_SYM AuSPtr<IPCMutex> NewMutex();
AUKN_SYM AuSPtr<IPCMutex> ImportMutex(const AuString &handle);
}