fs/ntfs3/ntfs.h
Source file repositories/reference/linux-study-clean/fs/ntfs3/ntfs.h
File Facts
- System
- Linux kernel
- Corpus path
fs/ntfs3/ntfs.h- Extension
.h- Size
- 37193 bytes
- Lines
- 1235
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/blkdev.hlinux/build_bug.hlinux/kernel.hlinux/stddef.hlinux/string.hlinux/types.hdebug.h
Detected Declarations
struct GUIDstruct cpu_strstruct le_strstruct MFT_REFstruct NTFS_BOOTstruct NTFS_RECORD_HEADERstruct MFT_RECstruct ATTR_RESIDENTstruct ATTR_NONRESIDENTstruct ATTRIBstruct ATTR_STD_INFOstruct ATTR_STD_INFO5struct ATTR_LIST_ENTRYstruct NTFS_DUP_INFOstruct ATTR_FILE_NAMEstruct NTFS_DEstruct INDEX_HDRstruct INDEX_BUFFERstruct INDEX_ROOTstruct VOLUME_INFOstruct ATTR_DEF_ENTRYstruct OBJECT_IDstruct NTFS_DE_Ostruct NTFS_DE_Qstruct SECURITY_KEYstruct SECURITY_HDRstruct NTFS_DE_SIIstruct NTFS_DE_SDHstruct REPARSE_KEYstruct NTFS_DE_Rstruct REPARSE_POINTstruct REPARSE_DATA_BUFFERstruct EA_INFOstruct EA_FULLstruct SECURITY_DESCRIPTOR_RELATIVEstruct ACE_HEADERstruct ACLstruct SIDenum RECORD_NUMenum ATTR_TYPEenum FILE_ATTRIBUTEenum NTFS_SIGNATUREenum RECORD_FLAGenum COLLATION_RULEenum IO_REPARSE_TAGfunction ino_getfunction is_baadfunction is_rec_base
Annotated Snippet
struct GUID {
__le32 Data1;
__le16 Data2;
__le16 Data3;
u8 Data4[8];
};
/*
* This struct repeats layout of ATTR_FILE_NAME
* at offset 0x40.
* It used to store global constants NAME_MFT/NAME_MIRROR...
* most constant names are shorter than 10.
*/
struct cpu_str {
u8 len;
u8 unused;
u16 name[];
};
struct le_str {
u8 len;
u8 unused;
__le16 name[];
};
static_assert(SECTOR_SHIFT == 9);
#ifdef CONFIG_NTFS3_64BIT_CLUSTER
typedef u64 CLST;
static_assert(sizeof(size_t) == 8);
#else
typedef u32 CLST;
#endif
/* On-disk sparsed cluster is marked as -1. */
#define SPARSE_LCN64 ((u64)-1)
#define SPARSE_LCN ((CLST)-1)
/* Below is virtual (not on-disk) values. */
#define RESIDENT_LCN ((CLST)-2)
#define COMPRESSED_LCN ((CLST)-3)
#define EOF_LCN ((CLST)-4)
#define DELALLOC_LCN ((CLST)-5)
enum RECORD_NUM {
MFT_REC_MFT = 0,
MFT_REC_MIRR = 1,
MFT_REC_LOG = 2,
MFT_REC_VOL = 3,
MFT_REC_ATTR = 4,
MFT_REC_ROOT = 5,
MFT_REC_BITMAP = 6,
MFT_REC_BOOT = 7,
MFT_REC_BADCLUST = 8,
MFT_REC_SECURE = 9,
MFT_REC_UPCASE = 10,
MFT_REC_EXTEND = 11,
MFT_REC_RESERVED = 12,
MFT_REC_FREE = 16,
MFT_REC_USER = 24,
};
enum ATTR_TYPE {
ATTR_ZERO = cpu_to_le32(0x00),
ATTR_STD = cpu_to_le32(0x10),
ATTR_LIST = cpu_to_le32(0x20),
ATTR_NAME = cpu_to_le32(0x30),
ATTR_ID = cpu_to_le32(0x40),
ATTR_SECURE = cpu_to_le32(0x50),
ATTR_LABEL = cpu_to_le32(0x60),
ATTR_VOL_INFO = cpu_to_le32(0x70),
ATTR_DATA = cpu_to_le32(0x80),
ATTR_ROOT = cpu_to_le32(0x90),
ATTR_ALLOC = cpu_to_le32(0xA0),
ATTR_BITMAP = cpu_to_le32(0xB0),
ATTR_REPARSE = cpu_to_le32(0xC0),
ATTR_EA_INFO = cpu_to_le32(0xD0),
ATTR_EA = cpu_to_le32(0xE0),
ATTR_PROPERTYSET = cpu_to_le32(0xF0),
ATTR_LOGGED_UTILITY_STREAM = cpu_to_le32(0x100),
ATTR_END = cpu_to_le32(0xFFFFFFFF)
};
static_assert(sizeof(enum ATTR_TYPE) == 4);
enum FILE_ATTRIBUTE {
FILE_ATTRIBUTE_READONLY = cpu_to_le32(0x00000001),
FILE_ATTRIBUTE_HIDDEN = cpu_to_le32(0x00000002),
FILE_ATTRIBUTE_SYSTEM = cpu_to_le32(0x00000004),
FILE_ATTRIBUTE_ARCHIVE = cpu_to_le32(0x00000020),
FILE_ATTRIBUTE_DEVICE = cpu_to_le32(0x00000040),
Annotation
- Immediate include surface: `linux/blkdev.h`, `linux/build_bug.h`, `linux/kernel.h`, `linux/stddef.h`, `linux/string.h`, `linux/types.h`, `debug.h`.
- Detected declarations: `struct GUID`, `struct cpu_str`, `struct le_str`, `struct MFT_REF`, `struct NTFS_BOOT`, `struct NTFS_RECORD_HEADER`, `struct MFT_REC`, `struct ATTR_RESIDENT`, `struct ATTR_NONRESIDENT`, `struct ATTRIB`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.