Open Files 5.3.0
Multi-Platform Event-Driven Application Framework
file.h
Go to the documentation of this file.
1 /* Copyright (c) 2021 Connected Way, LLC. All rights reserved.
2  * Use of this source code is governed by a Creative Commons
3  * Attribution-NoDerivatives 4.0 International license that can be
4  * found in the LICENSE file.
5  */
6 #if !defined(__OFC_FILE_H__)
7 #define __OFC_FILE_H__
8 
9 #include "ofc/core.h"
10 #include "ofc/types.h"
11 #include "ofc/config.h"
12 #include "ofc/handle.h"
13 #include "ofc/fstype.h"
14 
119 #define OFC_MAX_PATH 260
120 
126 typedef struct _OFC_FILETIME {
130 
134 enum {
138  OFC_FILE_ADD_FILE = 0x0002,
194  OFC_FILE_DELETE = 0x00010000L,
216 };
217 
221 enum {
240  OFC_FILE_SHARE_READ = 0x01
241 };
242 
246 enum {
267 };
268 
269 
273 enum {
307 
309 
318 
320 
325 
327 
338  /*
339  * These are Open Files Specific to denote remote files
340  */
348  OFC_FILE_FLAG_SERVER = 0x00400000,
349  /*
350  * File is a Share directory
351  */
352  OFC_FILE_FLAG_SHARE = 0x00800000,
384  OFC_FILE_FLAG_WRITE_THROUGH = 0x80000000
385 };
386 
387 /*
388  * Create Options
389  */
390 enum {
431 };
432 
433 /*
434  * Open Actions
435  */
436 enum {
449 };
450 
513  /*
514  * We'll include this one too. It's the one you can get without a file
515  * handle
516  */
518  /*
519  * All
520  */
522  /*
523  */
525  /*
526  * Query Directory Values
527  */
540 
548 
555 
561 typedef struct _OFC_SECURITY_ATTRIBUTES {
575 
584 
589 typedef struct _OFC_WIN32_FIND_DATAW {
630 
632 
638 
639 typedef struct _OFC_WIN32_FIND_DATAA {
685 
716 
721 
735 
739 typedef struct _OFC_OVERLAPPED {
746 #if defined(OFC_PERF_STATS)
747  OFC_INT perf_id;
748  OFC_MSTIME stamp;
749 #endif
751 
753 
757 typedef struct _OFC_FILE_BASIC_INFO {
779 
780 #define OFC_FILE_BASIC_CREATION_TIME 0
781 #define OFC_FILE_BASIC_LAST_ACCESS_TIME 8
782 #define OFC_FILE_BASIC_LAST_WRITE_TIME 16
783 #define OFC_FILE_BASIC_CHANGE_TIME 24
784 #define OFC_FILE_BASIC_ATTRIBUTES 32
785 #define OFC_FILE_BASIC_SIZE 36
786 
787 typedef struct _OFC_FILE_INTERNAL_INFO {
790 
791 typedef struct _OFC_FILE_EA_INFO {
794 
795 typedef struct _OFC_FILE_ACCESS_INFO {
798 
799 typedef struct _OFC_FILE_POSITION_INFO {
802 
803 typedef struct _OFC_FILE_MODE_INFO {
806 
807 typedef struct _OFC_FILE_ALIGNMENT_INFO {
810 
844 
848 typedef struct _OFC_FILE_STANDARD_INFO {
870 
871 #define OFC_FILE_STANDARD_ALLOCATION_SIZE 0
872 #define OFC_FILE_STANDARD_END_OF_FILE 8
873 #define OFC_FILE_STANDARD_NUMBER_OF_LINKS 16
874 #define OFC_FILE_STANDARD_DELETE_PENDING 20
875 #define OFC_FILE_STANDARD_DIRECTORY 21
876 #define OFC_FILE_STANDARD_SIZE 22
877 
881 typedef struct _OFC_FILE_NAME_INFO {
889  OFC_WCHAR FileName[1];
891 
895 typedef struct _OFC_FILE_RENAME_INFO {
911  OFC_WCHAR FileName[1];
913 
923 
933 
943 
947 typedef struct _OFC_FILE_STREAM_INFO {
967  OFC_WCHAR StreamName[1];
969 
999 
1013 
1017 typedef struct _OFC_FILE_DIR_INFO {
1047 
1051 typedef struct _OFC_FILE_FULL_DIR_INFO {
1097 
1157  OFC_WCHAR FileName[1];
1159 
1163 typedef struct _OFC_FILE_BOTH_DIR_INFO {
1219  OFC_WCHAR ShortName[12];
1223  OFC_WCHAR FileName[1];
1225 
1281  OFC_WCHAR ShortName[12];
1289  OFC_WCHAR FileName[1];
1291 
1292 typedef struct _OFC_FILE_ALL_INFO {
1303 
1304 /*
1305  * Access Mask Encodings
1306  */
1307 #define OFC_DELETE 0x00010000
1308 #define OFC_READ_CONTROL 0x00020000
1309 #define OFC_WRITE_DAC 0x00040000
1310 #define OFC_WRITE_OWNER 0x00080000
1311 #define OFC_SYNCHRONIZE 0x00100000
1312 #define OFC_ACCESS_SYSTEM_SECURITY 0x01000000
1313 #define OFC_MAXIMUM_ALLOWED 0x02000000
1314 #define OFC_GENERIC_ALL 0x10000000
1315 #if 0
1316 #define OFC_GENERIC_EXECUTE 0x20000000
1317 #define OFC_GENERIC_WRITE 0x40000000
1318 #define OFC_GENERIC_READ 0x80000000
1319 #endif
1320 
1324 typedef struct _OFC_FILE_NAMES_INFO {
1340  OFC_WCHAR FileName[1];
1342 
1346 typedef enum _OFC_PRIORITY_HINT {
1352 
1362 
1363 /* The MS-FSCC spec defines the following. For some reason, I get
1364  * something different back
1365  */
1366 typedef struct _OFC_FILEFS_SIZE_INFO {
1372 
1373 #define FILEFS_SIZE_TOTAL_ALLOCATION_UNITS 0
1374 #define FILEFS_SIZE_AVAILABLE_ALLOCATION_UNITS 8
1375 #define FILEFS_SIZE_SECTORS_PER_ALLOCATION_UNIT 16
1376 #define FILEFS_SIZE_BYTES_PER_SECTOR 20
1377 #define FILEFS_SIZE_SIZE 24
1378 
1386 
1392 
1393 #define OFC_FILEFS_FILE_SYSTEM_ATTRIBUTES 0
1394 #define OFC_FILEFS_MAX_COMPONENT_NAME_LENGTH 4
1395 #define OFC_FILEFS_FILE_SYSTEM_NAME_LENGTH 8
1396 #define OFC_FILEFS_FILE_SYSTEM_NAME 12
1397 
1398 /*
1399  * Defines for FilesystemInfo FSAttributes
1400  */
1401 #define OFC_FILEFS_SUPPORTS_OBJECT_IDS 0x00010000
1402 #define OFC_FILEFS_SUPPORTS_SPARSE_FILES 0x00000040
1403 #define OFC_FILEFS_VOLUME_QUOTAS 0x00000020
1404 #define OFC_FILEFS_PERSISTENT_ACLS 0x00000008
1405 #define OFC_FILEFS_UNICODE_ON_DISK 0x00000004
1406 #define OFC_FILEFS_CASE_PRESERVED_NAMES 0x00000002
1407 #define OFC_FILEFS_CASE_SENSITIVE_SEARCH 0x00000001
1408 
1409 typedef struct _OFC_FILEFS_VOLUME_INFO {
1416 
1417 #define OFC_FILEFS_VOLUME_CREATION_TIME 0
1418 #define OFC_FILEFS_VOLUME_SERIAL_NUMBER 8
1419 #define OFC_FILEFS_VOLUME_LABEL_LENGTH 12
1420 #define OFC_FILEFS_SUPPORTS_OBJECTS 16
1421 #define OFC_FILEFS_RESERVED 17
1422 #define OFC_FILEFS_VOLUME_LABEL 18
1423 
1424 typedef struct _OFC_FILEFS_DEVICE_INFO {
1428 
1429 #define OFC_FILE_DEVICE_CD_ROM 2
1430 #define OFC_FILE_DEVICE_DISK 7
1431 
1432 #define OFC_FILE_REMOVABLE_MEDIA 0x01
1433 #define OFC_FILE_READ_ONLY_DEVICE 0x02
1434 #define OFC_FILE_FLOPPY_DISKETTE 0x04
1435 #define OFC_FILE_WRITE_ONCE_MEDIA 0x08
1436 #define OFC_FILE_REMOTE_DEVICE 0x10
1437 #define OFC_FILE_DEVICE_IS_MOUNTED 0x20
1438 #define OFC_FILE_VIRTUAL_VOLUME 0x40
1439 #define OFC_FILE_DEVICE_SECURE_OPEN 0x100
1440 #define OFC_FILE_CHARACTERISTIC_TS_DEVICE 0x1000
1441 #define OFC_FILE_CHARACTERISTIC_WEBDEV_DEVICE 0x2000
1442 #define OFC_FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL 0x20000
1443 #define OFC_FILE_PORTABLE_DEVICE 0x4000
1444 
1454 
1455 #define SECURITY_DESCRIPTOR_CONTROL_SR 0x8000
1456 #define SECURITY_DESCRIPTOR_CONTROL_RM 0x4000
1457 #define SECURITY_DESCRIPTOR_CONTROL_PS 0x2000
1458 #define SECURITY_DESCRIPTOR_CONTROL_PD 0x1000
1459 #define SECURITY_DESCRIPTOR_CONTROL_SI 0x0800
1460 #define SECURITY_DESCRIPTOR_CONTROL_DI 0x0400
1461 #define SECURITY_DESCRIPTOR_CONTROL_SC 0x0200
1462 #define SECURITY_DESCRIPTOR_CONTROL_DC 0x0100
1463 #define SECURITY_DESCRIPTOR_CONTROL_DT 0x0080
1464 #define SECURITY_DESCRIPTOR_CONTROL_SS 0x0040
1465 #define SECURITY_DESCRIPTOR_CONTROL_SD 0x0020
1466 #define SECURITY_DESCRIPTOR_CONTROL_SP 0x0010
1467 #define SECURITY_DESCRIPTOR_CONTROL_DD 0x0008
1468 #define SECURITY_DESCRIPTOR_CONTROL_DP 0x0004
1469 #define SECURITY_DESCRIPTOR_CONTROL_GD 0x0002
1470 #define SECURITY_DESCRIPTOR_CONTROL_OD 0x0001
1471 
1475 enum {
1487  OFC_FILE_END = 2
1488 };
1489 
1493 enum {
1496 };
1497 
1502 #define OFC_INVALID_SET_FILE_POINTER ((OFC_DWORD)-1)
1503 
1507 typedef enum {
1616 
1620 extern OFC_DWORD OfcLastError;
1621 
1622 #if defined(__cplusplus)
1623 extern "C"
1624 {
1625 #endif
1631 OFC_CORE_LIB OFC_VOID
1636 OFC_CORE_LIB OFC_VOID
1641 OFC_CORE_LIB OFC_VOID
1643 
1644 OFC_CORE_LIB OFC_VOID
1657 OFC_CORE_LIB OFC_BOOL
1689 OFC_CORE_LIB OFC_HANDLE
1691  OFC_DWORD dwDesiredAccess,
1692  OFC_DWORD dwShareMode,
1693  OFC_LPSECURITY_ATTRIBUTES lpSecurityAttributes,
1694  OFC_DWORD dwCreationDisposition,
1695  OFC_DWORD dwFlagsAndAttributes,
1696  OFC_HANDLE hTemplateFile);
1697 
1702 OFC_CORE_LIB OFC_HANDLE
1704  OFC_DWORD dwDesiredAccess,
1705  OFC_DWORD dwShareMode,
1706  OFC_LPSECURITY_ATTRIBUTES lpSecurityAttributes,
1707  OFC_DWORD dwCreationDisposition,
1708  OFC_DWORD dwFlagsAndAttributes,
1709  OFC_HANDLE hTemplateFile);
1722 OFC_CORE_LIB OFC_BOOL
1724  OFC_LPSECURITY_ATTRIBUTES lpSecurityAttr);
1725 
1730 OFC_CORE_LIB OFC_BOOL
1732  OFC_LPSECURITY_ATTRIBUTES lpSecurityAttr);
1742 OFC_CORE_LIB OFC_BOOL
1744 
1749 OFC_CORE_LIB OFC_BOOL
1760 OFC_CORE_LIB OFC_BOOL
1762 
1767 OFC_CORE_LIB OFC_BOOL
1792 OFC_CORE_LIB OFC_HANDLE
1794  OFC_LPWIN32_FIND_DATAW lpFindFileData,
1795  OFC_BOOL *more);
1796 
1803 OFC_CORE_LIB OFC_HANDLE
1805  OFC_LPWIN32_FIND_DATAA lpFindFileData,
1806  OFC_BOOL *more);
1824 OFC_CORE_LIB OFC_BOOL
1826  OFC_LPWIN32_FIND_DATAW lpFindFileData,
1827  OFC_BOOL *more);
1833 OFC_CORE_LIB OFC_BOOL
1835  OFC_LPWIN32_FIND_DATAA lpFindFileData,
1836  OFC_BOOL *more);
1846 OFC_CORE_LIB OFC_BOOL
1857 OFC_CORE_LIB OFC_BOOL
1876 OFC_CORE_LIB OFC_BOOL
1878  OFC_GET_FILEEX_INFO_LEVELS fInfoLevelId,
1879  OFC_LPVOID lpFileInformation);
1885 OFC_CORE_LIB OFC_BOOL
1887  OFC_GET_FILEEX_INFO_LEVELS fInfoLevelId,
1888  OFC_LPVOID lpFileInformation);
1914 OFC_CORE_LIB OFC_BOOL
1917  FileInformationClass,
1918  OFC_LPVOID lpFileInformation,
1919  OFC_DWORD dwBufferSize);
1920 
1933 OFC_CORE_LIB OFC_BOOL
1934 OfcMoveFileW(OFC_LPCTSTR lpExistingFileName,
1935  OFC_LPCTSTR lpNewFileName);
1941 OFC_CORE_LIB OFC_BOOL
1942 OfcMoveFileA(OFC_LPCSTR lpExistingFileName,
1943  OFC_LPCSTR lpNewFileName);
1965 OFC_CORE_LIB OFC_BOOL
1967  OFC_LPVOID lpBuffer,
1968  OFC_DWORD nNumberOfBytesToRead,
1969  OFC_LPDWORD lpNumberOfBytesRead,
1970  OFC_HANDLE hOverlapped);
1981 OFC_CORE_LIB OFC_HANDLE
1992 OFC_CORE_LIB OFC_VOID
2010 OFC_CORE_LIB OFC_VOID
2012  OFC_OFFT offset);
2032 OFC_CORE_LIB OFC_BOOL
2034  OFC_HANDLE hOverlapped,
2035  OFC_LPDWORD lpNumberOfBytesTransferred,
2036  OFC_BOOL bWait);
2046 OFC_CORE_LIB OFC_BOOL
2060 OFC_CORE_LIB OFC_BOOL
2062  OFC_DWORD dwFileAttributes);
2068 OFC_CORE_LIB OFC_BOOL
2070  OFC_DWORD dwFileAttributes);
2092 OFC_CORE_LIB OFC_BOOL
2095  FileInformationClass,
2096  OFC_LPVOID lpFileInformation,
2097  OFC_DWORD dwBufferSize);
2123 OFC_CORE_LIB OFC_DWORD
2124 OfcSetFilePointer(OFC_HANDLE hFile, OFC_LONG lDistanceToMove,
2125  OFC_PLONG lpDistanceToMoveHigh,
2126  OFC_DWORD dwMoveMethod);
2127 
2149 OFC_CORE_LIB OFC_BOOL
2151  OFC_LPCVOID lpBuffer,
2152  OFC_DWORD nNumberOfBytesToWrite,
2153  OFC_LPDWORD lpNumberOfBytesWritten,
2154  OFC_HANDLE hOverlapped);
2183 OFC_CORE_LIB OFC_BOOL
2185  OFC_LPVOID lpInBuffer,
2186  OFC_DWORD nInBufferSize,
2187  OFC_LPVOID lpOutBuffer,
2188  OFC_DWORD nOutBufferSize,
2189  OFC_LPDWORD lpBytesRead,
2190  OFC_HANDLE hOverlapped);
2203 OFC_CORE_LIB OFC_UINT32
2212 OFC_CORE_LIB OFC_DWORD
2223 OFC_CORE_LIB const OFC_CHAR *ofc_get_error_string(OFC_DWORD dwerr);
2236 OFC_CORE_LIB OFC_UINT32
2243 OFC_CORE_LIB OFC_UINT32
2268 OFC_CORE_LIB OFC_BOOL
2270  OFC_LPDWORD lpSectorsPerCluster,
2271  OFC_LPDWORD lpBytesPerSector,
2272  OFC_LPDWORD lpNumberOfFreeClusters,
2273  OFC_LPDWORD lpTotalNumberOfClusters);
2279 OFC_CORE_LIB OFC_BOOL
2281  OFC_LPDWORD lpSectorsPerCluster,
2282  OFC_LPDWORD lpBytesPerSector,
2283  OFC_LPDWORD lpNumberOfFreeClusters,
2284  OFC_LPDWORD lpTotalNumberOfClusters);
2315 OFC_CORE_LIB OFC_BOOL
2317  OFC_LPTSTR lpVolumeNameBuffer,
2318  OFC_DWORD nVolumeNameSize,
2319  OFC_LPDWORD lpVolumeSerialNumber,
2320  OFC_LPDWORD lpMaximumComponentLength,
2321  OFC_LPDWORD lpFileSystemFlags,
2322  OFC_LPTSTR lpFileSystemName,
2323  OFC_DWORD nFileSystemName);
2329 OFC_CORE_LIB OFC_BOOL
2331  OFC_LPSTR lpVolumeNameBuffer,
2332  OFC_DWORD nVolumeNameSize,
2333  OFC_LPDWORD lpVolumeSerialNumber,
2334  OFC_LPDWORD lpMaximumComponentLength,
2335  OFC_LPDWORD lpFileSystemFlags,
2336  OFC_LPSTR lpFileSystemName,
2337  OFC_DWORD nFileSystemName);
2347 OFC_CORE_LIB OFC_FST_TYPE
2358 OFC_CORE_LIB OFC_HANDLE
2378 OFC_CORE_LIB OFC_BOOL
2380  OFC_UINT32 length_low,
2381  OFC_UINT32 length_high,
2382  OFC_HANDLE hOverlapped);
2404 OFC_CORE_LIB OFC_BOOL
2406  OFC_DWORD length_low, OFC_DWORD length_high,
2407  OFC_HANDLE hOverlapped);
2417 OFC_CORE_LIB OFC_HANDLE
2428 OFC_CORE_LIB OFC_HANDLE
2444 OFC_CORE_LIB OFC_BOOL
2451 OFC_CORE_LIB OFC_BOOL
2459  OFC_DWORD dwIoControlCode,
2460  OFC_LPVOID lpInBuffer,
2461  OFC_DWORD nInBufferSize,
2462  OFC_LPVOID lpOutBuffer,
2463  OFC_DWORD nOutBufferSize,
2464  OFC_LPDWORD lpBytesReturned,
2465  OFC_HANDLE hOverlapped);
2466 
2495 OFC_CORE_LIB OFC_DWORD OfcGetCurrentDirectoryW(OFC_DWORD nBufferLength,
2496  OFC_LPTSTR lpBuffer);
2497 OFC_CORE_LIB OFC_DWORD OfcGetCurrentDirectoryA(OFC_DWORD nBufferLength,
2498  OFC_LPSTR lpBuffer);
2499 
2500 
2501 #if defined(__cplusplus)
2502 }
2503 #endif
2504 
2505 #if defined(OFC_UNICODE_API)
2512 #define OfcCreateFile OfcCreateFileW
2519 #define OfcCreateDirectory OfcCreateDirectoryW
2526 #define OfcDeleteFile OfcDeleteFileW
2533 #define OfcRemoveDirectory OfcRemoveDirectoryW
2540 #define OfcFindFirstFile OfcFindFirstFileW
2547 #define OfcFindNextFile OfcFindNextFileW
2554 #define OfcGetFileAttributesEx OfcGetFileAttributesExW
2561 #define OfcMoveFile OfcMoveFileW
2568 #define OfcSetFileAttributes OfcSetFileAttributesW
2575 #define OfcGetLastFileNameError OfcGetLastFileNameErrorW
2582 #define OfcGetDiskFreeSpace OfcGetDiskFreeSpaceW
2589 #define OfcGetVolumeInformation OfcGetVolumeInformationW
2596 #define OfcDismount OfcDismountW
2603 #define OfcSetCurrentDirectory OfcSetCurrentDirectoryW
2610 #define OfcGetCurrentDirectory OfcGetCurrentDirectoryW
2615 #define OFC_WIN32_FIND_DATA OFC_WIN32_FIND_DATAW
2620 #define OFC_LPWIN32_FIND_DATA OFC_LPWIN32_FIND_DATAW
2621 
2622 #else
2623 #define OfcCreateFile OfcCreateFileA
2624 #define OfcCreateDirectory OfcCreateDirectoryA
2625 #define OfcDeleteFile OfcDeleteFileA
2626 #define OfcRemoveDirectory OfcRemoveDirectoryA
2627 #define OfcFindFirstFile OfcFindFirstFileA
2628 #define OfcFindNextFile OfcFindNextFileA
2629 #define OfcGetFileAttributesEx OfcGetFileAttributesExA
2630 #define OfcMoveFile OfcMoveFileA
2631 #define OfcSetFileAttributes OfcSetFileAttributesA
2632 #define OfcGetLastFileNameError OfcGetLastFileNameErrorA
2633 #define OfcGetDiskFreeSpace OfcGetDiskFreeSpaceA
2634 #define OfcGetVolumeInformation OfcGetVolumeInformationA
2635 #define OfcDismount OfcDismountA
2636 #define OfcSetCurrentDirectory OfcSetCurrentDirectoryA
2637 #define OfcGetCurrentDirectory OfcGetCurrentDirectoryA
2638 
2639 #define OFC_WIN32_FIND_DATA OFC_WIN32_FIND_DATAA
2640 #define OFC_LPWIN32_FIND_DATA OFC_LPWIN32_FIND_DATAA
2641 
2642 #endif
2644 #endif
2645 
enum _OFC_PRIORITY_HINT OFC_PRIORITY_HINT
struct _OFC_FILEFS_SIZE_INFO OFC_FILEFS_SIZE_INFO
@ OFC_FILE_END
Definition: file.h:1487
@ OFC_FILE_CURRENT
Definition: file.h:1483
@ OFC_FILE_BEGIN
Definition: file.h:1479
OFC_FILE_ERRORS
Definition: file.h:1507
@ OFC_ERROR_NETWORK_UNREACHABLE
Definition: file.h:1605
@ OFC_ERROR_LOGON_NOT_GRANTED
Definition: file.h:1611
@ OFC_ERROR_INVALID_FLAG_NUMBER
Definition: file.h:1569
@ OFC_ERROR_ACCOUNT_EXPIRED
Definition: file.h:1613
@ OFC_ERROR_BAD_PIPE
Definition: file.h:1570
@ OFC_ERROR_NO_DATA
Definition: file.h:1572
@ OFC_ERROR_MORE_DATA
Definition: file.h:1574
@ OFC_ERROR_SHARING_BUFFER_EXCEEDED
Definition: file.h:1533
@ OFC_ERROR_PASSWORD_EXPIRED
Definition: file.h:1609
@ OFC_ERROR_NO_VOLUME_LABEL
Definition: file.h:1560
@ OFC_ERROR_SEEK
Definition: file.h:1526
@ OFC_ERROR_NEGATIVE_SEEK
Definition: file.h:1561
@ OFC_ERROR_OPEN_FAILED
Definition: file.h:1553
@ OFC_ERROR_LOGON_FAILURE
Definition: file.h:1602
@ OFC_ERROR_BAD_NETPATH
Definition: file.h:1540
@ OFC_ERROR_SUCCESS
Definition: file.h:1508
@ OFC_ERROR_BROKEN_PIPE
Definition: file.h:1552
@ OFC_ERROR_INVALID_LOGON_HOURS
Definition: file.h:1607
@ OFC_ERROR_DISK_TOO_FRAGMENTED
Definition: file.h:1584
@ OFC_ERROR_IO_DEVICE
Definition: file.h:1598
@ OFC_ERROR_INVALID_WORKSTATION
Definition: file.h:1608
@ OFC_ERROR_INVALID_PASSWORD
Definition: file.h:1548
@ OFC_ERROR_WRITE_FAULT
Definition: file.h:1527
@ OFC_ERROR_HANDLE_EOF
Definition: file.h:1534
@ OFC_ERROR_BAD_DEV_TYPE
Definition: file.h:1545
@ OFC_ERROR_INVALID_EA_NAME
Definition: file.h:1575
@ OFC_ERROR_INVALID_DRIVE
Definition: file.h:1518
@ OFC_ERROR_TOO_MANY_OPEN_FILES
Definition: file.h:1512
@ OFC_ERROR_NOT_SAME_DEVICE
Definition: file.h:1520
@ OFC_ERROR_EA_LIST_INCONSISTENT
Definition: file.h:1576
@ OFC_ERROR_IO_INCOMPLETE
Definition: file.h:1590
@ OFC_ERROR_DIRECTORY
Definition: file.h:1577
@ OFC_ERROR_BAD_ARGUMENTS
Definition: file.h:1565
@ OFC_ERROR_NOACCESS
Definition: file.h:1592
@ OFC_ERROR_PIPE_NOT_CONNECTED
Definition: file.h:1573
@ OFC_ERROR_NOT_SUPPORTED
Definition: file.h:1537
@ OFC_ERROR_UNRECOGNIZED_VOLUME
Definition: file.h:1594
@ OFC_ERROR_INVALID_ACCESS
Definition: file.h:1516
@ OFC_ERROR_NOT_ENOUGH_QUOTA
Definition: file.h:1603
@ OFC_ERROR_OPERATION_ABORTED
Definition: file.h:1589
@ OFC_ERROR_UNEXP_NET_ERR
Definition: file.h:1544
@ OFC_ERROR_BUSY
Definition: file.h:1567
@ OFC_ERROR_ACCOUNT_LOCKED_OUT
Definition: file.h:1614
@ OFC_ERROR_DUP_NAME
Definition: file.h:1539
@ OFC_ERROR_REM_NOT_LIST
Definition: file.h:1538
@ OFC_ERROR_NO_MORE_FILES
Definition: file.h:1521
@ OFC_ERROR_BAD_LENGTH
Definition: file.h:1525
@ OFC_ERROR_GEN_FAILURE
Definition: file.h:1529
@ OFC_ERROR_READ_FAULT
Definition: file.h:1528
@ OFC_ERROR_NET_WRITE_FAULT
Definition: file.h:1550
@ OFC_ERROR_CRC
Definition: file.h:1524
@ OFC_ERROR_EAS_DIDNT_FIT
Definition: file.h:1578
@ OFC_ERROR_BAD_DEVICE
Definition: file.h:1600
@ OFC_ERROR_PIPE_LISTENING
Definition: file.h:1587
@ OFC_ERROR_INVALID_LEVEL
Definition: file.h:1559
@ OFC_ERROR_WRONG_DISK
Definition: file.h:1532
@ OFC_ERROR_DISK_FULL
Definition: file.h:1555
@ OFC_ERROR_NOTIFY_ENUM_DIR
Definition: file.h:1596
@ OFC_ERROR_LOCK_VIOLATION
Definition: file.h:1531
@ OFC_ERROR_PATH_BUSY
Definition: file.h:1564
@ OFC_ERROR_NOT_READY
Definition: file.h:1523
@ OFC_ERROR_BAD_PATHNAME
Definition: file.h:1566
@ OFC_ERROR_CALL_NOT_IMPLEMENTED
Definition: file.h:1556
@ OFC_ERROR_INVALID_FLAGS
Definition: file.h:1593
@ OFC_ERROR_MORE_ENTRIES
Definition: file.h:1551
@ OFC_ERROR_BUFFER_OVERFLOW
Definition: file.h:1554
@ OFC_ERROR_SHARING_VIOLATION
Definition: file.h:1530
@ OFC_ERROR_INVALID_PARAMETER
Definition: file.h:1549
@ OFC_ERROR_BAD_NET_RESP
Definition: file.h:1543
@ OFC_ERROR_INVALID_HANDLE
Definition: file.h:1514
@ OFC_ERROR_BUS_RESET
Definition: file.h:1597
@ OFC_ERROR_FILE_EXISTS
Definition: file.h:1546
@ OFC_ERROR_ALREADY_EXISTS
Definition: file.h:1568
@ OFC_ERROR_FILE_INVALID
Definition: file.h:1595
@ OFC_ERROR_CURRENT_DIRECTORY
Definition: file.h:1519
@ OFC_ERROR_ACCOUNT_DISABLED
Definition: file.h:1610
@ OFC_ERROR_NETWORK_BUSY
Definition: file.h:1541
@ OFC_ERROR_PIPE_BUSY
Definition: file.h:1571
@ OFC_ERROR_INVALID_NAME
Definition: file.h:1558
@ OFC_ERROR_DEV_NOT_EXIST
Definition: file.h:1542
@ OFC_ERROR_NOT_ENOUGH_MEMORY
Definition: file.h:1515
@ OFC_ERROR_INVALID_PASSWORDNAME
Definition: file.h:1601
@ OFC_ERROR_DELETE_PENDING
Definition: file.h:1585
@ OFC_ERROR_ACCESS_DENIED
Definition: file.h:1513
@ OFC_ERROR_PATH_NOT_FOUND
Definition: file.h:1511
@ OFC_ERROR_DIR_NOT_EMPTY
Definition: file.h:1563
@ OFC_ERROR_INSUFFICIENT_BUFFER
Definition: file.h:1557
@ OFC_ERROR_CANNOT_MAKE
Definition: file.h:1547
@ OFC_ERROR_SEEK_ON_DEVICE
Definition: file.h:1562
@ OFC_ERROR_WRITE_PROTECT
Definition: file.h:1522
@ OFC_ERROR_HANDLE_DISK_FULL
Definition: file.h:1535
@ OFC_ERROR_IO_PENDING
Definition: file.h:1591
@ OFC_ERROR_EA_TABLE_FULL
Definition: file.h:1580
@ OFC_ERROR_EA_ACCESS_DENIED
Definition: file.h:1588
@ OFC_ERROR_OPLOCK_NOT_GRANTED
Definition: file.h:1583
@ OFC_ERROR_TIMEOUT
Definition: file.h:1612
@ OFC_ERROR_INVALID_FUNCTION
Definition: file.h:1509
@ OFC_ERROR_BAD_NET_NAME
Definition: file.h:1536
@ OFC_ERROR_DISK_OPERATION_FAILED
Definition: file.h:1599
@ OFC_ERROR_INVALID_EA_HANDLE
Definition: file.h:1581
@ OFC_ERROR_PIPE_CONNECTED
Definition: file.h:1586
@ OFC_ERROR_EAS_NOT_SUPPORTED
Definition: file.h:1582
@ OFC_ERROR_EA_FILE_CORRUPT
Definition: file.h:1579
@ OFC_ERROR_CONNECTION_REFUSED
Definition: file.h:1604
@ OFC_ERROR_FILE_NOT_FOUND
Definition: file.h:1510
@ OFC_ERROR_OUTOFMEMORY
Definition: file.h:1517
@ OFC_ERROR_PROTOCOL_UNREACHABLE
Definition: file.h:1606
struct _OFC_FILE_ID_BOTH_DIR_INFO OFC_FILE_ID_BOTH_DIR_INFO
struct _OFC_FILE_STREAM_INFO OFC_FILE_STREAM_INFO
#define OFC_MAX_PATH
Definition: file.h:119
struct _OFC_FILE_DIR_INFO OFC_FILE_DIR_INFO
struct _OFC_FILE_ID_FULL_DIR_INFO OFC_FILE_ID_FULL_DIR_INFO
OFC_CORE_LIB OFC_BOOL OfcGetFileAttributesExA(OFC_LPCSTR lpFileName, OFC_GET_FILEEX_INFO_LEVELS fInfoLevelId, OFC_LPVOID lpFileInformation)
struct _OFC_FILE_ALIGNMENT_INFO OFC_FILE_ALIGNMENT_INFO
struct _OFC_FILE_ACCESS_INFO OFC_FILE_ACCESS_INFO
OFC_CORE_LIB OFC_BOOL OfcFindNextFileW(OFC_HANDLE hFindFile, OFC_LPWIN32_FIND_DATAW lpFindFileData, OFC_BOOL *more)
OFC_CORE_LIB OFC_VOID OfcFileThreadDeinit(OFC_VOID)
struct _OFC_WIN32_FIND_DATAW OFC_WIN32_FIND_DATAW
struct _OFC_FILESECURITY_DESCRIPTOR OFC_FILESECURITY_DESCRIPTOR
OFC_CORE_LIB OFC_HANDLE OfcFindFirstFileW(OFC_LPCTSTR lpFileName, OFC_LPWIN32_FIND_DATAW lpFindFileData, OFC_BOOL *more)
struct _OFC_FILEFS_ATTRIBUTE_INFO OFC_FILEFS_ATTRIBUTE_INFO
struct _OFC_FILE_NAMES_INFO OFC_FILE_NAMES_INFO
OFC_CORE_LIB OFC_BOOL OfcDismountW(OFC_LPCTSTR lpFileName)
OFC_CORE_LIB OFC_HANDLE OfcFileGetFSHandle(OFC_HANDLE hHandle)
_OFC_FILE_INFO_BY_HANDLE_TYPE
Definition: file.h:549
@ OfcFileInfoTypeFS
Definition: file.h:551
@ OfcFileInfoTypeQuota
Definition: file.h:553
@ OfcFileInfoTypeFile
Definition: file.h:550
@ OfcFileInfoTypeSecurity
Definition: file.h:552
OFC_CORE_LIB OFC_BOOL OfcGetDiskFreeSpaceA(OFC_LPCSTR lpRootPathName, OFC_LPDWORD lpSectorsPerCluster, OFC_LPDWORD lpBytesPerSector, OFC_LPDWORD lpNumberOfFreeClusters, OFC_LPDWORD lpTotalNumberOfClusters)
OFC_CORE_LIB OFC_BOOL OfcMoveFileW(OFC_LPCTSTR lpExistingFileName, OFC_LPCTSTR lpNewFileName)
OFC_CORE_LIB OFC_BOOL OfcCloseHandle(OFC_HANDLE hObject)
struct _OFC_OVERLAPPED OFC_OVERLAPPED
struct _OFC_FILE_MODE_INFO OFC_FILE_MODE_INFO
OFC_CORE_LIB OFC_FST_TYPE OfcFileGetFSType(OFC_HANDLE hHandle)
struct _OFC_WIN32_FIND_DATAA OFC_WIN32_FIND_DATAA
OFC_OVERLAPPED * OFC_LPOVERLAPPED
Definition: file.h:752
OFC_CORE_LIB OFC_HANDLE OfcFileGetOverlappedEvent(OFC_HANDLE hOverlapped)
struct _OFC_FILE_RENAME_INFO OFC_FILE_RENAME_INFO
OFC_CORE_LIB OFC_BOOL OfcUnlockFileEx(OFC_HANDLE hFile, OFC_UINT32 length_low, OFC_UINT32 length_high, OFC_HANDLE hOverlapped)
struct _OFC_FILE_DISPOSITION_INFO OFC_FILE_DISPOSITION_INFO
OFC_CORE_LIB OFC_DWORD OfcGetCurrentDirectoryA(OFC_DWORD nBufferLength, OFC_LPSTR lpBuffer)
_OFC_GET_FILEEX_INFO_LEVELS
Definition: file.h:725
@ OfcGetFileExMaxInfoLevel
Definition: file.h:733
@ OfcGetFileExInfoStandard
Definition: file.h:729
_OFC_FILE_INFO_BY_HANDLE_CLASS
Definition: file.h:455
@ OfcFileBothDirectoryInformation
Definition: file.h:531
@ OfcFileBasicInfo
Definition: file.h:459
@ OfcFileStandardInfo
Definition: file.h:463
@ OfcFileIdBothDirectoryInformation
Definition: file.h:532
@ OfcFileAllocationInfo
Definition: file.h:483
@ OfcFileRenameInfo
Definition: file.h:475
@ OfcFileFullDirectoryInformation
Definition: file.h:529
@ OfcFileInfoAll
Definition: file.h:521
@ OfcFileCompressionInfo
Definition: file.h:499
@ OfcFileInfoStandard
Definition: file.h:517
@ OfcFileNamesInformation
Definition: file.h:533
@ OfcFileEndOfFileInfo
Definition: file.h:487
@ OfcFileDirectoryInformation
Definition: file.h:528
@ OfcFileDispositionInfo
Definition: file.h:479
@ OfcFileStreamInfo
Definition: file.h:491
@ OfcFileNameInfo
Definition: file.h:471
@ OfcFileIdFullDirectoryInformation
Definition: file.h:530
@ OfcMaximumFileInfoByHandlesClass
Definition: file.h:538
@ OfcFileEaInfo
Definition: file.h:495
@ OfcFileAllInfo
Definition: file.h:467
@ OfcFileIdBothDirectoryRestartInfo
Definition: file.h:512
@ OfcFileIdBothDirectoryInfo
Definition: file.h:507
@ OfcFileInternalInformation
Definition: file.h:534
@ OfcFileAttributeTagInfo
Definition: file.h:503
@ OfcFileNetworkOpenInfo
Definition: file.h:524
enum _OFC_GET_FILEEX_INFO_LEVELS OFC_GET_FILEEX_INFO_LEVELS
@ OFC_FILE_CREATE_WRITETHROUGH
Definition: file.h:398
@ OFC_FILE_CREATE_DIRECTORY
Definition: file.h:394
@ OFC_FILE_CREATE_8x3
Definition: file.h:422
@ OFC_FILE_CREATE_NOEA
Definition: file.h:418
@ OFC_FILE_CREATE_SIONONALERT
Definition: file.h:410
@ OFC_FILE_CREATE_SIOALERT
Definition: file.h:406
@ OFC_FILE_CREATE_DELONCLOSE
Definition: file.h:430
@ OFC_FILE_CREATE_NONDIRECTORY
Definition: file.h:414
@ OFC_FILE_CREATE_RANDOM
Definition: file.h:426
@ OFC_FILE_CREATE_SEQUENTIAL
Definition: file.h:402
OFC_CORE_LIB OFC_BOOL OfcSetCurrentDirectoryA(OFC_LPCSTR lpPathName)
OFC_CORE_LIB OFC_VOID OfcFileInit(OFC_VOID)
struct _OFC_FILEFS_VOLUME_INFO OFC_FILEFS_VOLUME_INFO
OFC_CORE_LIB const OFC_CHAR * ofc_get_error_string(OFC_DWORD dwerr)
OFC_CORE_LIB OFC_BOOL OfcDeviceIoControl(OFC_HANDLE hFile, OFC_DWORD dwIoControlCode, OFC_LPVOID lpInBuffer, OFC_DWORD nInBufferSize, OFC_LPVOID lpOutBuffer, OFC_DWORD nOutBufferSize, OFC_LPDWORD lpBytesReturned, OFC_HANDLE hOverlapped)
@ OFC_FILE_OPEN_ACTION_TRUNCATED
Definition: file.h:448
@ OFC_FILE_OPEN_ACTION_OPENED
Definition: file.h:440
@ OFC_FILE_OPEN_ACTION_CREATED
Definition: file.h:444
OFC_CORE_LIB OFC_BOOL OfcDismountA(OFC_LPCSTR lpFileName)
struct _OFC_FILE_NAME_INFO OFC_FILE_NAME_INFO
OFC_WIN32_FILE_ATTRIBUTE_DATA * OFC_LPWIN32_FILE_ATTRIBUTE_DATA
Definition: file.h:720
OFC_CORE_LIB OFC_BOOL OfcSetFileAttributesA(OFC_LPCSTR lpFileName, OFC_DWORD dwFileAttributes)
OFC_CORE_LIB OFC_HANDLE OfcFileGetOverlappedWaitQ(OFC_HANDLE hOverlapped)
OFC_CORE_LIB OFC_BOOL OfcLockFileEx(OFC_HANDLE hFile, OFC_DWORD flags, OFC_DWORD length_low, OFC_DWORD length_high, OFC_HANDLE hOverlapped)
OFC_CORE_LIB OFC_BOOL OfcFindNextFileA(OFC_HANDLE hFindFile, OFC_LPWIN32_FIND_DATAA lpFindFileData, OFC_BOOL *more)
OFC_CORE_LIB OFC_BOOL OfcDeleteFileA(OFC_LPCSTR lpFileName)
OFC_CORE_LIB OFC_UINT32 OfcGetLastFileError(OFC_HANDLE hHandle)
OFC_CORE_LIB OFC_DWORD OfcGetLastError(OFC_VOID)
struct _OFC_FILE_NETWORK_OPEN_INFO OFC_FILE_NETWORK_OPEN_INFO
struct _OFC_FILEFS_DEVICE_INFO OFC_FILEFS_DEVICE_INFO
OFC_CORE_LIB OFC_DWORD OfcGetCurrentDirectoryW(OFC_DWORD nBufferLength, OFC_LPTSTR lpBuffer)
_OFC_PRIORITY_HINT
Definition: file.h:1346
@ OfcIoPriorityHintLow
Definition: file.h:1348
@ OfcIoPriorityHintVeryLow
Definition: file.h:1347
@ OfcIoPriorityHintNormal
Definition: file.h:1349
@ OfcMaximumIoPriorityHintType
Definition: file.h:1350
OFC_CORE_LIB OFC_BOOL OfcSetEndOfFile(OFC_HANDLE hFile)
enum _OFC_FILEFS_INFO_BY_HANDLE_CLASS OFC_FILEFS_INFO_BY_HANDLE_CLASS
struct _OFC_FILE_ALLOCATION_INFO OFC_FILE_ALLOCATION_INFO
@ OFC_FILE_SHARE_READ
Definition: file.h:240
@ OFC_FILE_SHARE_DELETE
Definition: file.h:230
@ OFC_FILE_SHARE_NONE
Definition: file.h:225
@ OFC_FILE_SHARE_WRITE
Definition: file.h:235
struct _OFC_FILE_FULL_DIR_INFO OFC_FILE_FULL_DIR_INFO
OFC_CORE_LIB OFC_BOOL OfcSetFileAttributesW(OFC_LPCTSTR lpFileName, OFC_DWORD dwFileAttributes)
OFC_CORE_LIB OFC_BOOL OfcGetFileInformationByHandleEx(OFC_HANDLE hFile, OFC_FILE_INFO_BY_HANDLE_CLASS FileInformationClass, OFC_LPVOID lpFileInformation, OFC_DWORD dwBufferSize)
enum _OFC_FILE_INFO_BY_HANDLE_CLASS OFC_FILE_INFO_BY_HANDLE_CLASS
OFC_CORE_LIB OFC_BOOL OfcDeleteFileW(OFC_LPCTSTR lpFileName)
OFC_CORE_LIB OFC_BOOL OfcSetCurrentDirectoryW(OFC_LPCTSTR lpPathName)
OFC_CORE_LIB OFC_BOOL OfcRemoveDirectoryA(OFC_LPCSTR lpPathName)
OFC_CORE_LIB OFC_BOOL OfcGetVolumeInformationA(OFC_LPCSTR lpRootPathName, OFC_LPSTR lpVolumeNameBuffer, OFC_DWORD nVolumeNameSize, OFC_LPDWORD lpVolumeSerialNumber, OFC_LPDWORD lpMaximumComponentLength, OFC_LPDWORD lpFileSystemFlags, OFC_LPSTR lpFileSystemName, OFC_DWORD nFileSystemName)
OFC_SECURITY_ATTRIBUTES * OFC_LPSECURITY_ATTRIBUTES
Definition: file.h:583
struct _OFC_FILE_POSITION_INFO OFC_FILE_POSITION_INFO
OFC_CORE_LIB OFC_BOOL OfcGetOverlappedResult(OFC_HANDLE hFile, OFC_HANDLE hOverlapped, OFC_LPDWORD lpNumberOfBytesTransferred, OFC_BOOL bWait)
OFC_CORE_LIB OFC_HANDLE OfcCreateFileW(OFC_LPCTSTR lpFileName, OFC_DWORD dwDesiredAccess, OFC_DWORD dwShareMode, OFC_LPSECURITY_ATTRIBUTES lpSecurityAttributes, OFC_DWORD dwCreationDisposition, OFC_DWORD dwFlagsAndAttributes, OFC_HANDLE hTemplateFile)
struct _OFC_FILE_EA_INFO OFC_FILE_EA_INFO
OFC_CORE_LIB OFC_VOID OfcDestroyOverlapped(OFC_HANDLE hFile, OFC_HANDLE hOverlapped)
OFC_CORE_LIB OFC_HANDLE OfcFindFirstFileA(OFC_LPCSTR lpFileName, OFC_LPWIN32_FIND_DATAA lpFindFileData, OFC_BOOL *more)
_OFC_FILEFS_INFO_BY_HANDLE_CLASS
Definition: file.h:541
@ OfcFileFSAttributeInformation
Definition: file.h:542
@ OfcFileFSSizeInformation
Definition: file.h:543
@ OfcFileFSDeviceInformation
Definition: file.h:546
@ OfcFileFSVolumeInformation
Definition: file.h:544
@ OfcFileFSFullSizeInformation
Definition: file.h:545
OFC_CORE_LIB OFC_UINT32 OfcGetLastFileNameErrorA(OFC_LPCSTR lpFileName)
struct _OFC_FILEFS_FULL_SIZE_INFO OFC_FILEFS_FULL_SIZE_INFO
OFC_CORE_LIB OFC_BOOL OfcReadFile(OFC_HANDLE hFile, OFC_LPVOID lpBuffer, OFC_DWORD nNumberOfBytesToRead, OFC_LPDWORD lpNumberOfBytesRead, OFC_HANDLE hOverlapped)
OFC_VOID * OFC_PSECURITY_DESCRIPTOR
Definition: file.h:579
OFC_CORE_LIB OFC_BOOL OfcWriteFile(OFC_HANDLE hFile, OFC_LPCVOID lpBuffer, OFC_DWORD nNumberOfBytesToWrite, OFC_LPDWORD lpNumberOfBytesWritten, OFC_HANDLE hOverlapped)
@ OFC_OPEN_EXISTING
Definition: file.h:258
@ OFC_CREATE_NEW
Definition: file.h:250
@ OFC_CREATE_ALWAYS
Definition: file.h:254
@ OFC_TRUNCATE_EXISTING
Definition: file.h:266
@ OFC_OPEN_ALWAYS
Definition: file.h:262
@ OFC_LOCKFILE_FAIL_IMMEDIATELY
Definition: file.h:1494
@ OFC_LOCKFILE_EXCLUSIVE_LOCK
Definition: file.h:1495
OFC_CORE_LIB OFC_BOOL OfcFlushFileBuffers(OFC_HANDLE hFile)
struct _OFC_FILE_INTERNAL_INFO OFC_FILE_INTERNAL_INFO
struct _OFC_FILE_BASIC_INFO OFC_FILE_BASIC_INFO
OFC_CORE_LIB OFC_UINT32 OfcGetLastFileNameErrorW(OFC_LPCTSTR lpFileName)
OFC_CORE_LIB OFC_HANDLE OfcCreateFileA(OFC_LPCSTR lpFileName, OFC_DWORD dwDesiredAccess, OFC_DWORD dwShareMode, OFC_LPSECURITY_ATTRIBUTES lpSecurityAttributes, OFC_DWORD dwCreationDisposition, OFC_DWORD dwFlagsAndAttributes, OFC_HANDLE hTemplateFile)
OFC_CORE_LIB OFC_VOID OfcSetOverlappedOffset(OFC_HANDLE hFile, OFC_HANDLE hOverlapped, OFC_OFFT offset)
OFC_CORE_LIB OFC_BOOL OfcFindClose(OFC_HANDLE hFindFile)
OFC_DWORD OfcLastError
struct _OFC_WIN32_FILE_ATTRIBUTE_DATA OFC_WIN32_FILE_ATTRIBUTE_DATA
enum _OFC_FILE_INFO_BY_HANDLE_TYPE OFC_FILE_INFO_BY_HANDLE_TYPE
OFC_WIN32_FIND_DATAA * OFC_LPWIN32_FIND_DATAA
Definition: file.h:684
OFC_CORE_LIB OFC_DWORD OfcSetFilePointer(OFC_HANDLE hFile, OFC_LONG lDistanceToMove, OFC_PLONG lpDistanceToMoveHigh, OFC_DWORD dwMoveMethod)
struct _OFC_FILE_COMPRESSION_INFO OFC_FILE_COMPRESSION_INFO
OFC_CORE_LIB OFC_BOOL OfcGetFileAttributesExW(OFC_LPCTSTR lpFileName, OFC_GET_FILEEX_INFO_LEVELS fInfoLevelId, OFC_LPVOID lpFileInformation)
struct _OFC_FILE_END_OF_FILE_INFO OFC_FILE_END_OF_FILE_INFO
struct _OFC_SECURITY_ATTRIBUTES OFC_SECURITY_ATTRIBUTES
OFC_CORE_LIB OFC_VOID OfcFileDestroy(OFC_VOID)
OFC_CORE_LIB OFC_VOID OfcFileThreadInit(OFC_VOID)
OFC_CORE_LIB OFC_BOOL OfcMoveFileA(OFC_LPCSTR lpExistingFileName, OFC_LPCSTR lpNewFileName)
OFC_CORE_LIB OFC_BOOL OfcCreateDirectoryA(OFC_LPCSTR lpPathName, OFC_LPSECURITY_ATTRIBUTES lpSecurityAttr)
@ OFC_FILE_FLAG_BACKUP_SEMANTICS
Definition: file.h:360
@ OFC_FILE_FLAG_SEQUENTIAL_SCAN
Definition: file.h:368
@ OFC_FILE_ATTRIBUTE_NORMAL
Definition: file.h:298
@ OFC_FILE_ATTRIBUTE_NO_SCRUB_DATA
Definition: file.h:332
@ OFC_FILE_FLAG_RANDOM_ACCESS
Definition: file.h:372
@ OFC_FILE_FLAG_WRITE_THROUGH
Definition: file.h:384
@ OFC_FILE_ATTRIBUTE_TEMPORARY
Definition: file.h:302
@ OFC_FILE_ATTRIBUTE_DIRECTORY
Definition: file.h:290
@ OFC_FILE_ATTRIBUTE_VIRTUAL
Definition: file.h:331
@ OFC_FILE_ATTRIBUTE_HIDDEN
Definition: file.h:281
@ OFC_FILE_ATTRIBUTE_ENCRYPTED
Definition: file.h:324
@ OFC_FILE_ATTRIBUTE_COMPRESSED
Definition: file.h:313
@ OFC_FILE_ATTRIBUTE_REPARSE_POINT
Definition: file.h:308
@ OFC_FILE_FLAG_WORKGROUP
Definition: file.h:344
@ OFC_FILE_ATTRIBUTE_READONLY
Definition: file.h:277
@ OFC_FILE_ATTRIBUTE_SYSTEM
Definition: file.h:285
@ OFC_FILE_ATTRIBUTE_REFERRAL
Definition: file.h:333
@ OFC_FILE_FLAG_DELETE_ON_CLOSE
Definition: file.h:364
@ OFC_FILE_ATTRIBUTE_INTEGRITY_STREAM
Definition: file.h:326
@ OFC_FILE_FLAG_SHARE
Definition: file.h:352
@ OFC_FILE_FLAG_POSIX_SEMANTICS
Definition: file.h:356
@ OFC_FILE_FLAG_OVERLAPPED
Definition: file.h:380
@ OFC_FILE_ATTRIBUTE_BOOKMARK
Definition: file.h:286
@ OFC_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
Definition: file.h:319
@ OFC_FILE_ATTRIBUTE_OFFLINE
Definition: file.h:317
@ OFC_FILE_FLAG_OPEN_NO_RECALL
Definition: file.h:337
@ OFC_FILE_ATTRIBUTE_ARCHIVE
Definition: file.h:294
@ OFC_FILE_FLAG_SERVER
Definition: file.h:348
@ OFC_FILE_FLAG_NO_BUFFERING
Definition: file.h:376
@ OFC_FILE_ATTRIBUTE_SPARSE_FILE
Definition: file.h:306
OFC_CORE_LIB OFC_BOOL OfcGetDiskFreeSpaceW(OFC_LPCTSTR lpRootPathName, OFC_LPDWORD lpSectorsPerCluster, OFC_LPDWORD lpBytesPerSector, OFC_LPDWORD lpNumberOfFreeClusters, OFC_LPDWORD lpTotalNumberOfClusters)
OFC_CORE_LIB OFC_HANDLE OfcCreateOverlapped(OFC_HANDLE hFile)
@ OFC_FILE_WRITE_ATTRIBUTES
Definition: file.h:182
@ OFC_FILE_DELETE_CHILD
Definition: file.h:154
@ OFC_FILE_WRITE_DATA
Definition: file.h:186
@ OFC_GENERIC_WRITE
Definition: file.h:211
@ OFC_GENERIC_EXECUTE
Definition: file.h:198
@ OFC_FILE_READ_DATA
Definition: file.h:170
@ OFC_FILE_ADD_SUBDIRECTORY
Definition: file.h:142
@ OFC_GENERIC_READ
Definition: file.h:204
@ OFC_FILE_READ_ATTRIBUTES
Definition: file.h:166
@ OFC_FILE_TRAVERSE
Definition: file.h:178
@ OFC_FILE_ALL_ACCESS
Definition: file.h:146
@ OFC_FILE_EXECUTE
Definition: file.h:158
@ OFC_FILE_DELETE
Definition: file.h:194
@ OFC_FILE_WRITE_EA
Definition: file.h:190
@ OFC_FILE_ADD_FILE
Definition: file.h:138
@ OFC_FILE_LIST_DIRECTORY
Definition: file.h:162
@ OFC_FILE_READ_EA
Definition: file.h:174
@ OFC_FILE_APPEND_DATA
Definition: file.h:150
OFC_CORE_LIB OFC_BOOL OfcCreateDirectoryW(OFC_LPCTSTR lpPathName, OFC_LPSECURITY_ATTRIBUTES lpSecurityAttr)
OFC_CORE_LIB OFC_BOOL OfcSetFileInformationByHandle(OFC_HANDLE hFile, OFC_FILE_INFO_BY_HANDLE_CLASS FileInformationClass, OFC_LPVOID lpFileInformation, OFC_DWORD dwBufferSize)
struct _OFC_FILETIME OFC_FILETIME
struct _OFC_FILE_ALL_INFO OFC_FILE_ALL_INFO
struct _OFC_FILE_STANDARD_INFO OFC_FILE_STANDARD_INFO
OFC_CORE_LIB OFC_BOOL OfcRemoveDirectoryW(OFC_LPCTSTR lpPathName)
struct _OFC_FILE_BOTH_DIR_INFO OFC_FILE_BOTH_DIR_INFO
OFC_CORE_LIB OFC_BOOL OfcGetVolumeInformationW(OFC_LPCTSTR lpRootPathName, OFC_LPTSTR lpVolumeNameBuffer, OFC_DWORD nVolumeNameSize, OFC_LPDWORD lpVolumeSerialNumber, OFC_LPDWORD lpMaximumComponentLength, OFC_LPDWORD lpFileSystemFlags, OFC_LPTSTR lpFileSystemName, OFC_DWORD nFileSystemName)
struct _OFC_FILE_IO_PRIORITY_HINT_INFO OFC_FILE_IO_PRIORITY_HINT_INFO
struct _OFC_FILE_ATTRIBUTE_TAG_INFO OFC_FILE_ATTRIBUTE_TAG_INFO
OFC_CORE_LIB OFC_BOOL OfcTransactNamedPipe(OFC_HANDLE hFile, OFC_LPVOID lpInBuffer, OFC_DWORD nInBufferSize, OFC_LPVOID lpOutBuffer, OFC_DWORD nOutBufferSize, OFC_LPDWORD lpBytesRead, OFC_HANDLE hOverlapped)
OFC_WIN32_FIND_DATAW * OFC_LPWIN32_FIND_DATAW
Definition: file.h:637
OFC_DWORD_PTR OFC_HANDLE
Definition: handle.h:43
Definition: file.h:1387
OFC_UINT32 FileSystemNameLength
Definition: file.h:1390
OFC_UINT32 FileSystemAttributes
Definition: file.h:1388
OFC_UINT32 MaximumComponentNameLength
Definition: file.h:1389
Definition: file.h:1424
OFC_UINT32 DeviceType
Definition: file.h:1425
OFC_UINT32 Characteristics
Definition: file.h:1426
Definition: file.h:1379
OFC_UINT32 BytesPerSector
Definition: file.h:1384
OFC_UINT32 SectorsPerAllocationUnit
Definition: file.h:1383
OFC_LARGE_INTEGER CallerAvailableAllocationUnits
Definition: file.h:1381
OFC_LARGE_INTEGER TotalAllocationUnits
Definition: file.h:1380
OFC_LARGE_INTEGER ActualAvailableAllocationUnits
Definition: file.h:1382
Definition: file.h:1366
OFC_UINT32 SectorsPerAllocationUnit
Definition: file.h:1369
OFC_LARGE_INTEGER TotalAllocationUnits
Definition: file.h:1367
OFC_LARGE_INTEGER AvailableAllocationUnits
Definition: file.h:1368
OFC_UINT32 BytesPerSector
Definition: file.h:1370
Definition: file.h:1409
OFC_LARGE_INTEGER VolumeCreationTime
Definition: file.h:1410
OFC_UINT32 VolumeLabelLength
Definition: file.h:1412
OFC_UINT32 VolumeSerialNumber
Definition: file.h:1411
OFC_UINT8 SupportsObjects
Definition: file.h:1413
OFC_UINT8 Reserved
Definition: file.h:1414
Definition: file.h:1445
OFC_UINT32 OffsetDacl
Definition: file.h:1452
OFC_UINT8 Sbz1
Definition: file.h:1447
OFC_UINT32 OffsetGroup
Definition: file.h:1450
OFC_UINT8 Revision
Definition: file.h:1446
OFC_UINT32 OffsetSacl
Definition: file.h:1451
OFC_UINT32 OffsetOwner
Definition: file.h:1449
OFC_UINT16 Control
Definition: file.h:1448
Definition: file.h:126
OFC_DWORD dwHighDateTime
Definition: file.h:128
OFC_DWORD dwLowDateTime
Definition: file.h:127
Definition: file.h:795
OFC_DWORD AccessFlags
Definition: file.h:796
Definition: file.h:807
OFC_DWORD AlignmentRequirement
Definition: file.h:808
Definition: file.h:927
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:931
Definition: file.h:1292
OFC_FILE_ALIGNMENT_INFO AlignmentInfo
Definition: file.h:1300
OFC_FILE_EA_INFO EAInfo
Definition: file.h:1296
OFC_FILE_STANDARD_INFO StandardInfo
Definition: file.h:1294
OFC_FILE_ACCESS_INFO AccessInfo
Definition: file.h:1297
OFC_FILE_POSITION_INFO PositionInfo
Definition: file.h:1298
OFC_FILE_BASIC_INFO BasicInfo
Definition: file.h:1293
OFC_FILE_INTERNAL_INFO InternalInfo
Definition: file.h:1295
OFC_FILE_NAME_INFO NameInfo
Definition: file.h:1301
OFC_FILE_MODE_INFO ModeInfo
Definition: file.h:1299
Definition: file.h:1003
OFC_DWORD FileAttributes
Definition: file.h:1007
OFC_DWORD ReparseTag
Definition: file.h:1011
Definition: file.h:757
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:769
OFC_LARGE_INTEGER CreationTime
Definition: file.h:761
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:773
OFC_DWORD FileAttributes
Definition: file.h:777
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:765
Definition: file.h:1163
OFC_WCHAR ShortName[12]
Definition: file.h:1219
OFC_DWORD FileNameLength
Definition: file.h:1203
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:1183
OFC_DWORD NextEntryOffset
Definition: file.h:1167
OFC_CHAR ShortNameLength
Definition: file.h:1211
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:1179
OFC_DWORD EaSize
Definition: file.h:1207
OFC_WCHAR FileName[1]
Definition: file.h:1223
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:1191
OFC_LARGE_INTEGER CreationTime
Definition: file.h:1175
OFC_DWORD FileAttributes
Definition: file.h:1199
OFC_CHAR Reserved
Definition: file.h:1215
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:1195
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:1187
OFC_DWORD FileIndex
Definition: file.h:1171
Definition: file.h:973
OFC_UCHAR CompressionUnitShift
Definition: file.h:985
OFC_WORD CompressionFormat
Definition: file.h:981
OFC_LARGE_INTEGER CompressedFileSize
Definition: file.h:977
OFC_UCHAR ClusterShift
Definition: file.h:993
OFC_UCHAR ChunkShift
Definition: file.h:989
OFC_UCHAR Reserved[3]
Definition: file.h:997
Definition: file.h:1017
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:1041
OFC_DWORD FileIndex
Definition: file.h:1025
OFC_DWORD NextEntryOffset
Definition: file.h:1021
OFC_LARGE_INTEGER CreationTime
Definition: file.h:1029
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:1033
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:1045
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:1037
Definition: file.h:917
OFC_BOOL DeleteFile
Definition: file.h:921
Definition: file.h:791
OFC_DWORD EaSize
Definition: file.h:792
Definition: file.h:937
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:941
Definition: file.h:1051
OFC_DWORD EaSize
Definition: file.h:1095
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:1083
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:1079
OFC_DWORD FileIndex
Definition: file.h:1059
OFC_DWORD FileNameLength
Definition: file.h:1091
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:1075
OFC_LARGE_INTEGER CreationTime
Definition: file.h:1063
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:1067
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:1071
OFC_DWORD FileAttributes
Definition: file.h:1087
OFC_DWORD NextEntryOffset
Definition: file.h:1055
Definition: file.h:1229
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:1257
OFC_CHAR ShortNameLength
Definition: file.h:1277
OFC_DWORD EaSize
Definition: file.h:1273
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:1261
OFC_WCHAR FileName[1]
Definition: file.h:1289
OFC_LARGE_INTEGER CreationTime
Definition: file.h:1241
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:1249
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:1253
OFC_DWORD NextEntryOffset
Definition: file.h:1233
OFC_LARGE_INTEGER FileId
Definition: file.h:1285
OFC_DWORD FileIndex
Definition: file.h:1237
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:1245
OFC_WCHAR ShortName[12]
Definition: file.h:1281
OFC_DWORD FileAttributes
Definition: file.h:1265
OFC_DWORD FileNameLength
Definition: file.h:1269
Definition: file.h:1101
OFC_WCHAR FileName[1]
Definition: file.h:1157
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:1129
OFC_LARGE_INTEGER FileId
Definition: file.h:1153
OFC_LARGE_INTEGER CreationTime
Definition: file.h:1113
OFC_DWORD EaSize
Definition: file.h:1145
OFC_DWORD Reserved
Definition: file.h:1149
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:1121
OFC_DWORD FileAttributes
Definition: file.h:1137
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:1117
OFC_DWORD FileNameLength
Definition: file.h:1141
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:1133
OFC_DWORD NextEntryOffset
Definition: file.h:1105
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:1125
OFC_DWORD FileIndex
Definition: file.h:1109
Definition: file.h:787
OFC_LARGE_INTEGER IndexNumber
Definition: file.h:788
Definition: file.h:1356
OFC_PRIORITY_HINT PriorityHint
Definition: file.h:1360
Definition: file.h:803
OFC_DWORD Mode
Definition: file.h:804
Definition: file.h:1324
OFC_DWORD FileIndex
Definition: file.h:1332
OFC_DWORD NextEntryOffset
Definition: file.h:1328
OFC_WCHAR FileName[1]
Definition: file.h:1340
OFC_DWORD FileNameLength
Definition: file.h:1336
Definition: file.h:881
OFC_DWORD FileNameLength
Definition: file.h:885
OFC_WCHAR FileName[1]
Definition: file.h:889
Definition: file.h:814
OFC_DWORD FileAttributes
Definition: file.h:842
OFC_LARGE_INTEGER ChangeTime
Definition: file.h:830
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:834
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:838
OFC_LARGE_INTEGER LastAccessTime
Definition: file.h:822
OFC_LARGE_INTEGER CreationTime
Definition: file.h:818
OFC_LARGE_INTEGER LastWriteTime
Definition: file.h:826
Definition: file.h:799
OFC_LARGE_INTEGER CurrentByteOffset
Definition: file.h:800
Definition: file.h:895
OFC_WCHAR FileName[1]
Definition: file.h:911
OFC_BOOL ReplaceIfExists
Definition: file.h:899
OFC_HANDLE RootDirectory
Definition: file.h:903
OFC_DWORD FileNameLength
Definition: file.h:907
Definition: file.h:848
OFC_DWORD NumberOfLinks
Definition: file.h:860
OFC_BOOL DeletePending
Definition: file.h:864
OFC_BOOL Directory
Definition: file.h:868
OFC_LARGE_INTEGER AllocationSize
Definition: file.h:852
OFC_LARGE_INTEGER EndOfFile
Definition: file.h:856
Definition: file.h:947
OFC_DWORD StreamNameLength
Definition: file.h:955
OFC_WCHAR StreamName[1]
Definition: file.h:967
OFC_LARGE_INTEGER StreamAllocationSize
Definition: file.h:963
OFC_LARGE_INTEGER StreamSize
Definition: file.h:959
OFC_DWORD NextEntryOffset
Definition: file.h:951
Definition: file.h:739
OFC_HANDLE hFile
Definition: file.h:741
OFC_DWORD dwLen
Definition: file.h:742
OFC_HANDLE hContext
Definition: file.h:744
OFC_HANDLE response_queue
Definition: file.h:745
OFC_OFFT offset
Definition: file.h:743
OFC_BOOL status
Definition: file.h:740
Definition: file.h:561
OFC_BOOL bInheritHandle
Definition: file.h:573
OFC_DWORD nLength
Definition: file.h:565
OFC_LPVOID lpSecurityDescriptor
Definition: file.h:569
Definition: file.h:690
OFC_DWORD nFileSizeLow
Definition: file.h:714
OFC_FILETIME ftLastAccessTime
Definition: file.h:702
OFC_DWORD dwFileAttributes
Definition: file.h:694
OFC_FILETIME ftLastWriteTime
Definition: file.h:706
OFC_DWORD nFileSizeHigh
Definition: file.h:710
OFC_FILETIME ftCreateTime
Definition: file.h:698
Definition: file.h:639
OFC_DWORD dwReserved0
Definition: file.h:667
OFC_FILETIME ftCreateTime
Definition: file.h:647
OFC_FILETIME ftLastWriteTime
Definition: file.h:655
OFC_CHAR cFileName[OFC_MAX_PATH]
Definition: file.h:675
OFC_DWORD nFileSizeHigh
Definition: file.h:659
OFC_CHAR cAlternateFileName[14]
Definition: file.h:679
OFC_FILETIME ftLastAccessTime
Definition: file.h:651
OFC_DWORD dwReserved1
Definition: file.h:671
OFC_DWORD nFileSizeLow
Definition: file.h:663
OFC_DWORD dwFileAttributes
Definition: file.h:643
Definition: file.h:589
OFC_FILETIME ftCreateTime
Definition: file.h:597
OFC_FILETIME ftLastWriteTime
Definition: file.h:605
OFC_TCHAR cFileName[OFC_MAX_PATH]
Definition: file.h:625
OFC_DWORD dwReserved1
Definition: file.h:621
OFC_FILETIME ftLastAccessTime
Definition: file.h:601
OFC_DWORD nFileSizeHigh
Definition: file.h:609
OFC_TCHAR cAlternateFileName[14]
Definition: file.h:629
OFC_DWORD dwReserved0
Definition: file.h:617
OFC_DWORD nFileSizeLow
Definition: file.h:613
OFC_DWORD dwFileAttributes
Definition: file.h:593
OFC_LARGE_INTEGER FileId
Definition: file.h:631
unsigned char OFC_UCHAR
Definition: types.h:155
OFC_LONG * OFC_PLONG
Definition: types.h:167
void OFC_VOID
Definition: types.h:159
OFC_CHAR * OFC_LPSTR
Definition: types.h:418
unsigned int OFC_UINT32
Definition: types.h:176
const OFC_VOID * OFC_LPCVOID
Definition: types.h:458
OFC_LARGE_INTEGER OFC_OFFT
Definition: types.h:360
const OFC_TCHAR * OFC_LPCTSTR
Definition: types.h:498
OFC_UINT8 OFC_BOOL
Definition: types.h:624
long OFC_LONG
Definition: types.h:163
OFC_TCHAR * OFC_LPTSTR
Definition: types.h:490
OFC_UINT32 OFC_DWORD
Definition: types.h:430
unsigned char OFC_UINT8
Definition: types.h:187
OFC_DWORD * OFC_LPDWORD
Definition: types.h:438
OFC_WCHAR OFC_TCHAR
Definition: types.h:463
OFC_UINT16 OFC_WORD
Definition: types.h:426
char OFC_CHAR
Definition: types.h:143
OFC_INT32 OFC_MSTIME
Definition: types.h:506
OFC_INT64 OFC_LARGE_INTEGER
Definition: types.h:229
const OFC_CHAR * OFC_LPCSTR
Definition: types.h:422
int OFC_INT
Definition: types.h:119
unsigned short int OFC_UINT16
Definition: types.h:183
OFC_VOID * OFC_LPVOID
Definition: types.h:450