fs/udf/ecma_167.h
Source file repositories/reference/linux-study-clean/fs/udf/ecma_167.h
File Facts
- System
- Linux kernel
- Corpus path
fs/udf/ecma_167.h- Extension
.h- Size
- 22271 bytes
- Lines
- 817
- 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/types.h
Detected Declarations
struct charspecstruct timestampstruct regidstruct volStructDescstruct beginningExtendedAreaDescstruct terminatingExtendedAreaDescstruct bootDescstruct extent_adstruct kernel_extent_adstruct tagstruct NSRDescstruct genericDescstruct primaryVolDescstruct anchorVolDescPtrstruct volDescPtrstruct impUseVolDescstruct partitionDescstruct logicalVolDescstruct genericPartitionMapstruct genericPartitionMap1struct genericPartitionMap2struct unallocSpaceDescstruct terminatingDescstruct logicalVolIntegrityDescstruct lb_addrstruct kernel_lb_addrstruct short_adstruct long_adstruct kernel_long_adstruct ext_adstruct kernel_ext_adstruct fileSetDescstruct partitionHeaderDescstruct fileIdentDescstruct allocExtDescstruct icbtagstruct indirectEntrystruct terminalEntrystruct fileEntrystruct extendedAttrHeaderDescstruct genericFormatstruct charSetInfostruct altPermsstruct fileTimesExtAttrstruct infoTimesExtAttrstruct deviceSpecstruct impUseExtAttrstruct appUseExtAttr
Annotated Snippet
struct charspec {
uint8_t charSetType;
uint8_t charSetInfo[63];
} __packed;
/* Character Set Type (ECMA 167r3 1/7.2.1.1) */
#define CHARSPEC_TYPE_CS0 0x00 /* (1/7.2.2) */
#define CHARSPEC_TYPE_CS1 0x01 /* (1/7.2.3) */
#define CHARSPEC_TYPE_CS2 0x02 /* (1/7.2.4) */
#define CHARSPEC_TYPE_CS3 0x03 /* (1/7.2.5) */
#define CHARSPEC_TYPE_CS4 0x04 /* (1/7.2.6) */
#define CHARSPEC_TYPE_CS5 0x05 /* (1/7.2.7) */
#define CHARSPEC_TYPE_CS6 0x06 /* (1/7.2.8) */
#define CHARSPEC_TYPE_CS7 0x07 /* (1/7.2.9) */
#define CHARSPEC_TYPE_CS8 0x08 /* (1/7.2.10) */
/* Fixed-length character fields - d-string (EMCA 167r3 1/7.2.12) */
typedef uint8_t dstring;
/* Timestamp (ECMA 167r3 1/7.3) */
struct timestamp {
__le16 typeAndTimezone;
__le16 year;
uint8_t month;
uint8_t day;
uint8_t hour;
uint8_t minute;
uint8_t second;
uint8_t centiseconds;
uint8_t hundredsOfMicroseconds;
uint8_t microseconds;
} __packed;
/* Type and Time Zone (ECMA 167r3 1/7.3.1) */
#define TIMESTAMP_TYPE_MASK 0xF000
#define TIMESTAMP_TYPE_CUT 0x0000
#define TIMESTAMP_TYPE_LOCAL 0x1000
#define TIMESTAMP_TYPE_AGREEMENT 0x2000
#define TIMESTAMP_TIMEZONE_MASK 0x0FFF
/* Entity identifier (ECMA 167r3 1/7.4) */
struct regid {
uint8_t flags;
uint8_t ident[23];
uint8_t identSuffix[8];
} __packed;
/* Flags (ECMA 167r3 1/7.4.1) */
#define ENTITYID_FLAGS_DIRTY 0x01
#define ENTITYID_FLAGS_PROTECTED 0x02
/* Volume Structure Descriptor (ECMA 167r3 2/9.1) */
#define VSD_STD_ID_LEN 5
struct volStructDesc {
uint8_t structType;
uint8_t stdIdent[VSD_STD_ID_LEN];
uint8_t structVersion;
uint8_t structData[2041];
} __packed;
/* Standard Identifier (EMCA 167r2 2/9.1.2) */
#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */
/* Standard Identifier (ECMA 167r3 2/9.1.2) */
#define VSD_STD_ID_BEA01 "BEA01" /* (2/9.2) */
#define VSD_STD_ID_BOOT2 "BOOT2" /* (2/9.4) */
#define VSD_STD_ID_CD001 "CD001" /* (ECMA-119) */
#define VSD_STD_ID_CDW02 "CDW02" /* (ECMA-168) */
#define VSD_STD_ID_NSR03 "NSR03" /* (3/9.1) */
#define VSD_STD_ID_TEA01 "TEA01" /* (2/9.3) */
/* Beginning Extended Area Descriptor (ECMA 167r3 2/9.2) */
struct beginningExtendedAreaDesc {
uint8_t structType;
uint8_t stdIdent[VSD_STD_ID_LEN];
uint8_t structVersion;
uint8_t structData[2041];
} __packed;
/* Terminating Extended Area Descriptor (ECMA 167r3 2/9.3) */
struct terminatingExtendedAreaDesc {
uint8_t structType;
uint8_t stdIdent[VSD_STD_ID_LEN];
uint8_t structVersion;
uint8_t structData[2041];
} __packed;
/* Boot Descriptor (ECMA 167r3 2/9.4) */
struct bootDesc {
uint8_t structType;
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct charspec`, `struct timestamp`, `struct regid`, `struct volStructDesc`, `struct beginningExtendedAreaDesc`, `struct terminatingExtendedAreaDesc`, `struct bootDesc`, `struct extent_ad`, `struct kernel_extent_ad`, `struct tag`.
- 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.