/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AFIO.hpp Date: 2021-8-21 Author: Reece ***/ #pragma once namespace Aurora::IO::FS { // WARNING: ASYNC FILE IS SINGLE THREAD ONLY. // THESE APIS ARE NOT YET MT SAFE // LOOP SOURCES ARE THE ONLY EXCEPTION AUKN_SHARED_API(OpenAsync, IAsyncFileStream, const AuString &path, EFileOpenMode openMode, bool directIO = false, EFileAdvisoryLockLevel lock = EFileAdvisoryLockLevel::eNoSafety); /** * Waits for at least one file IO event * @param transactions An array mask of FIO transactions * @param timeout Timeout in milliseconds, zero = indefinite */ AUKN_SYM AuUInt32 WaitMultiple(const AuList> &transactions, AuUInt32 timeout); }