AuroraRuntime/Include/Aurora/IO/FS/Async.hpp

24 lines
864 B
C++

/***
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
{
AUKN_SHARED_API(OpenAsync, IAsyncFileStream,
const AuString &path,
EFileOpenMode openMode,
bool bDirectIO = true, // true disables buffering under Win32
// true enables non-blocking ticks under Linux aio by bypassing the kernels cache
EFileAdvisoryLockLevel lock = EFileAdvisoryLockLevel::eNoSafety);
#if defined(AUX_FSAOPEX)
AUKN_SYM AuSPtr<IAsyncTransaction> OpenDirectIOAsyncFileStreamFromHandle(AuSPtr<IIOHandle> pIOHandle);
AUKN_SYM AuSPtr<IAsyncTransaction> OpenBufferedAsyncFileStreamFromHandle(AuSPtr<IIOHandle> pIOHandle);
#endif
}