ReactOS
0.4.15-dev-2153-g62b4c61
|
#include <ntifs.h>
#include <ntddk.h>
#include <mountmgr.h>
#include <windef.h>
#include <wdm.h>
#include <stdio.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "btrfs.h"
#include "btrfsioctl.h"
Go to the source code of this file.
#define __attribute__ | ( | x | ) |
Definition at line 1197 of file btrfs_drv.h.
#define __drv_aliasesMem |
Definition at line 205 of file btrfs_drv.h.
#define __S_IFBLK 0060000 /* Block device. */ |
Definition at line 1802 of file btrfs_drv.h.
#define __S_IFCHR 0020000 /* Character device. */ |
Definition at line 1801 of file btrfs_drv.h.
#define __S_IFDIR 0040000 /* Directory. */ |
Definition at line 1800 of file btrfs_drv.h.
#define __S_IFIFO 0010000 /* FIFO. */ |
Definition at line 1804 of file btrfs_drv.h.
#define __S_IFLNK 0120000 /* Symbolic link. */ |
Definition at line 1805 of file btrfs_drv.h.
Definition at line 1799 of file btrfs_drv.h.
#define __S_IFREG 0100000 /* Regular file. */ |
Definition at line 1803 of file btrfs_drv.h.
#define __S_IFSOCK 0140000 /* Socket. */ |
Definition at line 1806 of file btrfs_drv.h.
Definition at line 1807 of file btrfs_drv.h.
Definition at line 215 of file btrfs_drv.h.
Definition at line 216 of file btrfs_drv.h.
Definition at line 211 of file btrfs_drv.h.
#define _CRT_SECURE_NO_WARNINGS |
Definition at line 26 of file btrfs_drv.h.
Definition at line 210 of file btrfs_drv.h.
Definition at line 213 of file btrfs_drv.h.
Definition at line 212 of file btrfs_drv.h.
#define _NO_CRT_STDIO_INLINE |
Definition at line 27 of file btrfs_drv.h.
Definition at line 209 of file btrfs_drv.h.
Definition at line 208 of file btrfs_drv.h.
Definition at line 207 of file btrfs_drv.h.
Definition at line 206 of file btrfs_drv.h.
Definition at line 214 of file btrfs_drv.h.
#define _WIN32_WINNT 0x0601 |
Definition at line 24 of file btrfs_drv.h.
Definition at line 1137 of file btrfs_drv.h.
#define ALLOC_TAG 0x7442484D |
Definition at line 91 of file btrfs_drv.h.
#define ALLOC_TAG_ZLIB 0x7A42484D |
Definition at line 92 of file btrfs_drv.h.
#define BALANCE_OPTS_DATA 0 |
Definition at line 701 of file btrfs_drv.h.
#define BALANCE_OPTS_METADATA 1 |
Definition at line 702 of file btrfs_drv.h.
#define BALANCE_OPTS_SYSTEM 2 |
Definition at line 703 of file btrfs_drv.h.
#define BLAKE2_HASH_SIZE 32 |
Definition at line 1252 of file btrfs_drv.h.
#define BTRFS_NODE_TYPE_CCB 0x2295 |
Definition at line 88 of file btrfs_drv.h.
#define BTRFS_NODE_TYPE_FCB 0x2296 |
Definition at line 89 of file btrfs_drv.h.
Definition at line 131 of file btrfs_drv.h.
#define CC_ENABLE_DISK_IO_ACCOUNTING 0x00000010 |
Definition at line 1891 of file btrfs_drv.h.
#define COMPRESSED_EXTENT_SIZE 0x20000 |
Definition at line 116 of file btrfs_drv.h.
#define EA_CASE_SENSITIVE "user.casesensitive" |
Definition at line 109 of file btrfs_drv.h.
#define EA_CASE_SENSITIVE_HASH 0x1a9d97d4 |
Definition at line 110 of file btrfs_drv.h.
#define EA_DOSATTRIB "user.DOSATTRIB" |
Definition at line 100 of file btrfs_drv.h.
#define EA_DOSATTRIB_HASH 0x914f9939 |
Definition at line 101 of file btrfs_drv.h.
#define EA_EA "user.EA" |
Definition at line 106 of file btrfs_drv.h.
#define EA_EA_HASH 0x8270dd43 |
Definition at line 107 of file btrfs_drv.h.
#define EA_NTACL "security.NTACL" |
Definition at line 97 of file btrfs_drv.h.
#define EA_NTACL_HASH 0x45922146 |
Definition at line 98 of file btrfs_drv.h.
#define EA_PROP_COMPRESSION "btrfs.compression" |
Definition at line 112 of file btrfs_drv.h.
#define EA_PROP_COMPRESSION_HASH 0x20ccdf69 |
Definition at line 113 of file btrfs_drv.h.
#define EA_REPARSE "user.reparse" |
Definition at line 103 of file btrfs_drv.h.
#define EA_REPARSE_HASH 0xfabad1fe |
Definition at line 104 of file btrfs_drv.h.
Definition at line 1234 of file btrfs_drv.h.
#define FILE_CS_FLAG_CASE_SENSITIVE_DIR 1 |
Definition at line 167 of file btrfs_drv.h.
#define FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL 0x00020000 |
Definition at line 158 of file btrfs_drv.h.
#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000 |
Definition at line 150 of file btrfs_drv.h.
#define FILE_SUPPORTS_POSIX_UNLINK_RENAME 0x00000400 |
Definition at line 154 of file btrfs_drv.h.
Definition at line 140 of file btrfs_drv.h.
Definition at line 1233 of file btrfs_drv.h.
#define FSCTL_DUPLICATE_EXTENTS_TO_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 209, METHOD_BUFFERED, FILE_WRITE_ACCESS) |
Definition at line 184 of file btrfs_drv.h.
#define FSCTL_GET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS) |
Definition at line 200 of file btrfs_drv.h.
#define FSCTL_SET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) |
Definition at line 201 of file btrfs_drv.h.
#define FSRTL_FCB_HEADER_V2 2 |
Definition at line 1661 of file btrfs_drv.h.
#define funcname __func__ |
Definition at line 1175 of file btrfs_drv.h.
#define GID_NOBODY 65534 |
Definition at line 95 of file btrfs_drv.h.
Definition at line 1794 of file btrfs_drv.h.
#define increase_fileref_refcount | ( | fileref | ) | InterlockedIncrement(&fileref->refcount) |
Definition at line 1785 of file btrfs_drv.h.
Definition at line 1791 of file btrfs_drv.h.
#define IO_REPARSE_TAG_AF_UNIX 0x80000023 |
Definition at line 124 of file btrfs_drv.h.
#define IO_REPARSE_TAG_LX_BLK 0x80000026 |
Definition at line 127 of file btrfs_drv.h.
#define IO_REPARSE_TAG_LX_CHR 0x80000025 |
Definition at line 126 of file btrfs_drv.h.
#define IO_REPARSE_TAG_LX_FIFO 0x80000024 |
Definition at line 125 of file btrfs_drv.h.
#define IO_REPARSE_TAG_LX_SYMLINK 0xa000001d |
Definition at line 122 of file btrfs_drv.h.
Definition at line 1024 of file btrfs_drv.h.
#define major | ( | rdev | ) | ((((rdev) >> 8) & 0xFFF) | ((uint32_t)((rdev) >> 32) & ~0xFFF)) |
Definition at line 1867 of file btrfs_drv.h.
#define makedev | ( | major, | |
minor | |||
) | (((minor) & 0xFF) | (((major) & 0xFFF) << 8) | (((uint64_t)((minor) & ~0xFF)) << 12) | (((uint64_t)((major) & ~0xFFF)) << 32)) |
Definition at line 1643 of file btrfs_drv.h.
#define MAX_EXTENT_SIZE 0x8000000 |
Definition at line 115 of file btrfs_drv.h.
#define MAX_HASH_SIZE 32 |
Definition at line 224 of file btrfs_drv.h.
#define minor | ( | rdev | ) | (((rdev) & 0xFF) | ((uint32_t)((rdev) >> 12) & ~0xFF)) |
Definition at line 1868 of file btrfs_drv.h.
#define NTDDI_VERSION 0x06020000 |
Definition at line 25 of file btrfs_drv.h.
#define READ_AHEAD_GRANULARITY COMPRESSED_EXTENT_SIZE |
Definition at line 118 of file btrfs_drv.h.
Definition at line 1138 of file btrfs_drv.h.
Definition at line 1831 of file btrfs_drv.h.
Definition at line 1843 of file btrfs_drv.h.
#define S_IRUSR 0000400 |
Definition at line 1814 of file btrfs_drv.h.
#define S_ISDIR | ( | mode | ) | __S_ISTYPE((mode), __S_IFDIR) |
Definition at line 1810 of file btrfs_drv.h.
#define S_ISGID 0002000 |
Definition at line 1859 of file btrfs_drv.h.
#define S_ISUID 0004000 |
Definition at line 1855 of file btrfs_drv.h.
#define S_ISVTX 0001000 |
Definition at line 1863 of file btrfs_drv.h.
Definition at line 1835 of file btrfs_drv.h.
Definition at line 1847 of file btrfs_drv.h.
#define S_IWUSR 0000200 |
Definition at line 1818 of file btrfs_drv.h.
Definition at line 1839 of file btrfs_drv.h.
Definition at line 1851 of file btrfs_drv.h.
#define S_IXUSR 0000100 |
Definition at line 1822 of file btrfs_drv.h.
#define SHA256_HASH_SIZE 32 |
Definition at line 1248 of file btrfs_drv.h.
Definition at line 1231 of file btrfs_drv.h.
Definition at line 138 of file btrfs_drv.h.
#define UID_NOBODY 65534 |
Definition at line 94 of file btrfs_drv.h.
#define VCB_TYPE_BUS 5 |
Definition at line 699 of file btrfs_drv.h.
#define VCB_TYPE_CONTROL 2 |
Definition at line 696 of file btrfs_drv.h.
#define VCB_TYPE_FS 1 |
Definition at line 695 of file btrfs_drv.h.
#define VCB_TYPE_PDO 4 |
Definition at line 698 of file btrfs_drv.h.
#define VCB_TYPE_VOLUME 3 |
Definition at line 697 of file btrfs_drv.h.
Definition at line 1232 of file btrfs_drv.h.
typedef struct _device_extension device_extension |
Definition at line 1357 of file btrfs_drv.h.
typedef struct _fcb_nonpaged fcb_nonpaged |
typedef struct _FILE_ID_128 FILE_ID_128 |
typedef struct _PEB_LDR_DATA PEB_LDR_DATA |
typedef struct _FILE_ID_128 * PFILE_ID_128 |
typedef struct _PEB_LDR_DATA* PPEB_LDR_DATA |
Definition at line 1951 of file btrfs_drv.h.
typedef struct _root_cache root_cache |
typedef BOOLEAN(__stdcall * tCcCopyReadEx) (PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, ULONG Length, BOOLEAN Wait, PVOID Buffer, PIO_STATUS_BLOCK IoStatus, PETHREAD IoIssuerThread) |
Definition at line 1887 of file btrfs_drv.h.
typedef BOOLEAN(__stdcall * tCcCopyWriteEx) (PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, ULONG Length, BOOLEAN Wait, PVOID Buffer, PETHREAD IoIssuerThread) |
Definition at line 1884 of file btrfs_drv.h.
typedef VOID(__stdcall * tCcSetAdditionalCacheAttributesEx) (PFILE_OBJECT FileObject, ULONG Flags) |
Definition at line 1899 of file btrfs_drv.h.
typedef BOOLEAN(__stdcall * tFsRtlAreThereCurrentOrInProgressFileLocks) (PFILE_LOCK FileLock) |
Definition at line 1914 of file btrfs_drv.h.
typedef BOOLEAN(__stdcall * tFsRtlCheckLockForOplockRequest) (PFILE_LOCK FileLock, PLARGE_INTEGER AllocationSize) |
Definition at line 1912 of file btrfs_drv.h.
Definition at line 1905 of file btrfs_drv.h.
typedef NTSTATUS(__stdcall * tFsRtlGetNextExtraCreateParameter) (PECP_LIST EcpList, PVOID CurrentEcpContext, LPGUID NextEcpType, PVOID *NextEcpContext, ULONG *NextEcpContextSize) |
Definition at line 1907 of file btrfs_drv.h.
Definition at line 1901 of file btrfs_drv.h.
typedef NTSTATUS(__stdcall * tFsRtlValidateReparsePointBuffer) (ULONG BufferLength, PREPARSE_DATA_BUFFER ReparseBuffer) |
Definition at line 1910 of file btrfs_drv.h.
typedef NTSTATUS(__stdcall * tIoUnregisterPlugPlayNotificationEx) (PVOID NotificationEntry) |
Definition at line 1903 of file btrfs_drv.h.
Definition at line 1879 of file btrfs_drv.h.
typedef VOID(__stdcall * tPsUpdateDiskCounters) (PEPROCESS Process, ULONG64 BytesRead, ULONG64 BytesWritten, ULONG ReadOperationCount, ULONG WriteOperationCount, ULONG FlushOperationCount) |
Definition at line 1881 of file btrfs_drv.h.
typedef struct _tree_data tree_data |
Definition at line 486 of file btrfs_drv.h.
Definition at line 636 of file btrfs_drv.h.
Enumerator | |
---|---|
PropCompression_None | |
PropCompression_Zlib | |
PropCompression_LZO | |
PropCompression_ZSTD |
Definition at line 278 of file btrfs_drv.h.
Enumerator | |
---|---|
ROLLBACK_INSERT_EXTENT | |
ROLLBACK_DELETE_EXTENT | |
ROLLBACK_ADD_SPACE | |
ROLLBACK_SUBTRACT_SPACE |
Definition at line 1267 of file btrfs_drv.h.
Enumerator | |
---|---|
WriteDataStatus_Pending | |
WriteDataStatus_Success | |
WriteDataStatus_Error | |
WriteDataStatus_Cancelling | |
WriteDataStatus_Cancelled | |
WriteDataStatus_Ignore |
Definition at line 922 of file btrfs_drv.h.
_Create_lock_level_ | ( | tree_lock | ) |
_Dispatch_type_ | ( | IRP_MJ_WRITE | ) |
_Dispatch_type_ | ( | IRP_MJ_DIRECTORY_CONTROL | ) |
_Dispatch_type_ | ( | IRP_MJ_QUERY_SECURITY | ) |
_Dispatch_type_ | ( | IRP_MJ_SET_SECURITY | ) |
_Dispatch_type_ | ( | IRP_MJ_SET_INFORMATION | ) |
_Dispatch_type_ | ( | IRP_MJ_QUERY_INFORMATION | ) |
_Dispatch_type_ | ( | IRP_MJ_QUERY_EA | ) |
_Dispatch_type_ | ( | IRP_MJ_SET_EA | ) |
_Dispatch_type_ | ( | IRP_MJ_CREATE | ) |
_Dispatch_type_ | ( | IRP_MJ_READ | ) |
_Dispatch_type_ | ( | IRP_MJ_PNP | ) |
_Dispatch_type_ | ( | IRP_MJ_DEVICE_CONTROL | ) |
_Function_class_ | ( | DRIVER_ADD_DEVICE | ) |
_Function_class_ | ( | KSTART_ROUTINE | ) |
Definition at line 3051 of file balance.c.
_Function_class_ | ( | DRIVER_NOTIFICATION_CALLBACK_ROUTINE | ) |
_Post_satisfies_ | ( | return >= | n | ) |
_Releases_lock_ | ( | c-> | lock | ) |
_Requires_lock_held_ | ( | Vcb-> | fcb_lock | ) | -> fcb_lock) static __inline void release_fcb_lock(device_extension* Vcb) |
Definition at line 979 of file btrfs_drv.h.
|
pure virtual |
_Requires_lock_not_held_ | ( | Vcb-> | fcb_lock | ) | -> fcb_lock) static __inline void acquire_fcb_lock_shared(device_extension* Vcb) |
Definition at line 967 of file btrfs_drv.h.
_Success_ | ( | return | ) |
NTSTATUS add_calc_job_comp | ( | device_extension * | Vcb, |
uint8_t | compression, | ||
void * | in, | ||
unsigned int | inlen, | ||
void * | out, | ||
unsigned int | outlen, | ||
calc_job ** | pcj | ||
) |
Definition at line 237 of file calcthread.c.
Referenced by write_compressed().
NTSTATUS add_calc_job_decomp | ( | device_extension * | Vcb, |
uint8_t | compression, | ||
void * | in, | ||
unsigned int | inlen, | ||
void * | out, | ||
unsigned int | outlen, | ||
unsigned int | off, | ||
calc_job ** | pcj | ||
) |
Definition at line 183 of file calcthread.c.
Referenced by read_file().
void add_changed_extent_ref | ( | chunk * | c, |
uint64_t | address, | ||
uint64_t | size, | ||
uint64_t | root, | ||
uint64_t | objid, | ||
uint64_t | offset, | ||
uint32_t | count, | ||
bool | no_csum | ||
) |
Definition at line 2076 of file extent-tree.c.
Referenced by rationalize_extents(), and write_compressed().
void add_checksum_entry | ( | device_extension * | Vcb, |
uint64_t | address, | ||
ULONG | length, | ||
void * | csum, | ||
PIRP | Irp | ||
) |
Definition at line 2595 of file flushthread.c.
Referenced by balance_data_chunk(), decrease_extent_refcount(), flush_fcb(), and rationalize_extents().
NTSTATUS add_dir_child | ( | fcb * | fcb, |
uint64_t | inode, | ||
bool | subvol, | ||
PANSI_STRING | utf8, | ||
PUNICODE_STRING | name, | ||
uint8_t | type, | ||
dir_child ** | pdc | ||
) |
Definition at line 1861 of file create.c.
Referenced by create_subvol(), do_create_snapshot(), file_create2(), mknod(), and set_link_information().
void add_extent | ( | _In_ fcb * | fcb, |
_In_ LIST_ENTRY * | prevextle, | ||
_In_ __drv_aliasesMem extent * | newext | ||
) |
Definition at line 2367 of file write.c.
Referenced by do_write_file_prealloc(), duplicate_extents(), and excise_extents().
NTSTATUS add_extent_to_fcb | ( | _In_ fcb * | fcb, |
_In_ uint64_t | offset, | ||
_In_reads_bytes_(edsize) EXTENT_DATA * | ed, | ||
_In_ uint16_t | edsize, | ||
_In_ bool | unique, | ||
_In_opt_ _When_(return >=0, __drv_aliasesMem) void * | csum, | ||
_In_ LIST_ENTRY * | rollback | ||
) |
Definition at line 2736 of file write.c.
Referenced by duplicate_extents(), extend_file(), rename_stream_to_file(), truncate_file(), write_compressed(), write_file2(), and zero_data().
Definition at line 145 of file security.c.