From 2cf55cf23be7188de4a7154eaadf411c1a5390a4 Mon Sep 17 00:00:00 2001 From: superp00t Date: Sun, 16 Mar 2025 00:36:40 -0400 Subject: [PATCH] fix(os): yes, file flags are actually used in some places --- bc/os/file/Types.hpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/bc/os/file/Types.hpp b/bc/os/file/Types.hpp index bd44e08..0d7ef4b 100644 --- a/bc/os/file/Types.hpp +++ b/bc/os/file/Types.hpp @@ -3,8 +3,6 @@ #include -#define OS_FILE_ATTRIBUTE_NORMAL 0x80 - // this is passed into last argument of OsCreateFile #define OS_FILE_TYPE_DEFAULT 0x3F3F3F3F @@ -28,6 +26,29 @@ enum EOSFileShare { OS_FILE_SHARE_WRITE = 0x00000002 }; +enum EOSFileFlagsAndAttributes { + OS_FILE_ATTRIBUTE_READONLY = 0x1, + OS_FILE_ATTRIBUTE_HIDDEN = 0x2, + OS_FILE_ATTRIBUTE_SYSTEM = 0x4, + OS_FILE_ATTRIBUTE_DIRECTORY = 0x10, + OS_FILE_ATTRIBUTE_ARCHIVE = 0x20, + OS_FILE_ATTRIBUTE_NORMAL = 0x80, + OS_FILE_ATTRIBUTE_TEMPORARY = 0x100, + OS_FILE_ATTRIBUTE_OFFLINE = 0x1000, + OS_FILE_ATTRIBUTE_ENCRYPTED = 0x4000, + + OS_FILE_FLAG_OPEN_NO_RECALL = 0x00100000, + OS_FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000, + OS_FILE_FLAG_POSIX_SEMANTICS = 0x01000000, + OS_FILE_FLAG_BACKUP_SEMANTICS = 0x02000000, + OS_FILE_FLAG_DELETE_ON_CLOSE = 0x04000000, + OS_FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000, + OS_FILE_FLAG_RANDOM_ACCESS = 0x10000000, + OS_FILE_FLAG_NO_BUFFERING = 0x20000000, + OS_FILE_FLAG_OVERLAPPED = 0x40000000, + OS_FILE_FLAG_WRITE_THROUGH = 0x80000000 +}; + // TODO: generate a proper handle here struct HOSFILE__ { int32_t unused;