UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GenericPlatformFile.h File Reference
#include "Containers/Array.h"
#include "Containers/StringView.h"
#include "Containers/UnrealString.h"
#include "CoreTypes.h"
#include "HAL/PlatformMemory.h"
#include "Math/NumericLimits.h"
#include "Misc/AssertionMacros.h"
#include "Misc/DateTime.h"
#include "Misc/EnumClassFlags.h"
#include "Templates/Function.h"
#include "Templates/ValueOrError.h"

Go to the source code of this file.

Classes

class  IFileHandle
 
struct  FFileStatData
 
struct  FFileJournalFileHandle
 
struct  FFileJournalData
 
class  FFileSystemError
 
class  IPlatformFile
 
class  IPlatformFile::FDirectoryVisitor
 
class  IPlatformFile::FDirectoryStatVisitor
 
class  IPlatformFile::IFileServerMessageHandler
 
class  IWrappedFileHandle
 
class  IPhysicalPlatformFile
 
class  IPakFile
 
struct  FPakMountOptions
 

Namespaces

namespace  ELogVerbosity
 

Typedefs

typedef uint64 FFileJournalId
 
typedef uint64 FFileJournalEntryHandle
 
using FFileOpenResult = TValueOrError< TUniquePtr< IFileHandle >, FFileSystemError >
 
using FFileOpenAsyncResult = TValueOrError< TUniquePtr< IAsyncReadFileHandle >, FFileSystemError >
 
using FOpenMappedResult = TValueOrError< TUniquePtr< IMappedFileHandle >, FFileSystemError >
 

Enumerations

enum  EAsyncIOPriorityAndFlags {
  AIOP_PRIORITY_MASK = 0x000000ff , AIOP_FLAG_PRECACHE = 0x00000100 , AIOP_FLAG_DONTCACHE = 0x00000200 , AIOP_FLAG_HW_TARGET_MEMORY = 0x00000400 ,
  AIOP_MIN = 0 , AIOP_Low , AIOP_BelowNormal , AIOP_Normal ,
  AIOP_High , AIOP_CriticalPath , AIOP_MAX = AIOP_CriticalPath , AIOP_NUM ,
  AIOP_Precache = AIOP_MIN | AIOP_FLAG_PRECACHE
}
 
enum class  EPlatformFileRead : uint8 { None = 0x0 , AllowWrite = 0x01 }
 
enum class  EPlatformFileWrite : uint8 { None = 0x0 , AllowRead = 0x01 }
 
enum class  EDirectoryVisitorFlags : uint8 { None = 0x0 , ThreadSafe = 0x01 }
 
enum class  ESymlinkResult : int8 { Unimplemented = -1 , NonSymlink = 0 , Symlink = 1 }
 
enum class  EFileJournalResult {
  Success , InvalidPlatform , InvalidVolumeName , JournalNotActive ,
  JournalWrapped , FailedOpenJournal , FailedDescribeJournal , FailedReadJournal ,
  JournalInternalError , UnhandledJournalVersion
}
 

Functions

 ENUM_CLASS_FLAGS (EAsyncIOPriorityAndFlags)
 
 ENUM_CLASS_FLAGS (EPlatformFileRead)
 
 ENUM_CLASS_FLAGS (EPlatformFileWrite)
 
 ENUM_CLASS_FLAGS (EDirectoryVisitorFlags)
 
uint32 GetTypeHash (const FFileJournalFileHandle &)
 
 ENUM_CLASS_FLAGS (FPakMountOptions::EMountFlags)
 
 ENUM_CLASS_FLAGS (IPlatformFile::EOpenReadFlags)
 
 ENUM_CLASS_FLAGS (IPlatformFile::EOpenWriteFlags)
 

Variables

constexpr FFileJournalId FileJournalIdInvalid = static_cast<FFileJournalId>(MAX_uint64)
 
constexpr FFileJournalEntryHandle FileJournalEntryHandleInvalid = static_cast<FFileJournalEntryHandle>(MAX_uint64)
 
CORE_API const FFileJournalFileHandle FileJournalFileHandleInvalid
 

Typedef Documentation

◆ FFileJournalEntryHandle

A handle used by the FileJournal API. Represents an entry for an action on a file in the FileJournal.

◆ FFileJournalId

A handle used by the FileJournal API. Platform-specific identifier for which disk journal is being read.

◆ FFileOpenAsyncResult

◆ FFileOpenResult

◆ FOpenMappedResult

Enumeration Type Documentation

◆ EAsyncIOPriorityAndFlags

Enum for async IO priorities.

Enumerator
AIOP_PRIORITY_MASK 
AIOP_FLAG_PRECACHE 
AIOP_FLAG_DONTCACHE 
AIOP_FLAG_HW_TARGET_MEMORY 
AIOP_MIN 
AIOP_Low 
AIOP_BelowNormal 
AIOP_Normal 
AIOP_High 
AIOP_CriticalPath 
AIOP_MAX 
AIOP_NUM 
AIOP_Precache 

◆ EDirectoryVisitorFlags

Enum for the DirectoryVisitor flags

Enumerator
None 
ThreadSafe 

◆ EFileJournalResult

enum class EFileJournalResult
strong

Results that can be returned from IPlatformFile FileJournal API.

Enumerator
Success 
InvalidPlatform 
InvalidVolumeName 
JournalNotActive 
JournalWrapped 
FailedOpenJournal 
FailedDescribeJournal 
FailedReadJournal 
JournalInternalError 
UnhandledJournalVersion 

◆ EPlatformFileRead

enum class EPlatformFileRead : uint8
strong

Enum for platform file read flags

Enumerator
None 
AllowWrite 

◆ EPlatformFileWrite

enum class EPlatformFileWrite : uint8
strong

Enum for platform file write flags

Enumerator
None 
AllowRead 

◆ ESymlinkResult

enum class ESymlinkResult : int8
strong

Enum for IsSymlink() results (added so this func can return ESymlinkResult::Unimplemented)

Enumerator
Unimplemented 
NonSymlink 
Symlink 

Function Documentation

◆ ENUM_CLASS_FLAGS() [1/7]

ENUM_CLASS_FLAGS ( EAsyncIOPriorityAndFlags  )

◆ ENUM_CLASS_FLAGS() [2/7]

ENUM_CLASS_FLAGS ( EDirectoryVisitorFlags  )

◆ ENUM_CLASS_FLAGS() [3/7]

ENUM_CLASS_FLAGS ( EPlatformFileRead  )

◆ ENUM_CLASS_FLAGS() [4/7]

ENUM_CLASS_FLAGS ( EPlatformFileWrite  )

◆ ENUM_CLASS_FLAGS() [5/7]

ENUM_CLASS_FLAGS ( FPakMountOptions::EMountFlags  )

◆ ENUM_CLASS_FLAGS() [6/7]

ENUM_CLASS_FLAGS ( IPlatformFile::EOpenReadFlags  )

◆ ENUM_CLASS_FLAGS() [7/7]

ENUM_CLASS_FLAGS ( IPlatformFile::EOpenWriteFlags  )

◆ GetTypeHash()

uint32 GetTypeHash ( const FFileJournalFileHandle A)
inline

Variable Documentation

◆ FileJournalEntryHandleInvalid

constexpr FFileJournalEntryHandle FileJournalEntryHandleInvalid = static_cast<FFileJournalEntryHandle>(MAX_uint64)
inlineconstexpr

◆ FileJournalFileHandleInvalid

CORE_API const FFileJournalFileHandle FileJournalFileHandleInvalid
extern

◆ FileJournalIdInvalid

constexpr FFileJournalId FileJournalIdInvalid = static_cast<FFileJournalId>(MAX_uint64)
inlineconstexpr