/*** 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 NewEvent(bool triggered, bool atomicRelease); AUKN_SYM AuSPtr ImportEvent(const AuString &handle); AUKN_SYM AuSPtr NewSemaphore(int startingValue); AUKN_SYM AuSPtr ImportSemaphore(const AuString &handle); AUKN_SYM AuSPtr NewMutex(); AUKN_SYM AuSPtr ImportMutex(const AuString &handle); }