using System; namespace SabreTools.Data.Models.UDF { /// /// Enum for DescriptorTag.TagIdentifier /// /// public enum TagIdentifier : ushort { /// /// Primary Volume Descriptor (3/10.1) /// PRIMARY_VOLUME_DESCRIPTOR = 1, /// /// Anchor Volume Descriptor Pointer (3/10.2) /// ANCHOR_VOLUME_DESCRIPTOR_POINTER = 2, /// /// Volume Descriptor Pointer (3/10.3) /// VOLUME_DESCRIPTOR_POINTER = 3, /// /// Implementation Use Volume Descriptor (3/10.4) /// IMPLEMENTATION_USE_VOLUME_DESCRIPTOR = 4, /// /// Partition Descriptor (3/10.5) /// PARTITION_DESCRIPTOR = 5, /// /// Logical Volume Descriptor (3/10.6) /// LOGICAL_VOLUME_DESCRIPTOR = 6, /// /// Unallocated Space Descriptor (3/10.8) /// UNALLOCATED_SPACE_DESCRIPTOR = 7, /// /// Terminating Descriptor (3/10.9) /// TERMINATING_DESCRIPTOR = 8, /// /// Logical Volume Integrity Descriptor (3/10.10) /// LOGICAL_VOLUME_INTEGRITY_DESCRIPTOR = 9, /// /// File Set Descriptor (4/14.1) /// FILE_SET_DESCRIPTOR = 256, /// /// File Identifier Descriptor (4/14.4) /// FILE_IDENTIFIER_DESCRIPTOR = 257, /// /// Allocation Extent Descriptor (4/14.5) /// ALLOCATION_EXTENT_DESCRIPTOR = 258, /// /// Indirect Entry (4/14.7) /// INDIRECT_ENTRY = 259, /// /// Terminal Entry (4/14.8) /// TERMINAL_ENTRY = 260, /// /// File Entry (4/14.9) /// FILE_ENTRY = 261, /// /// Extended Attribute Header Descriptor (4/14.10.1) /// EXTENDED_ATTRIBUTE_HEADER_DESCRIPTOR = 262, /// /// Unallocated Space Entry (4/14.11) /// UNALLOCATED_SPACE_ENTRY = 263, /// /// Space Bitmap Descriptor (4/14.12) /// SPACE_BITMAP_DESCRIPTOR = 264, /// /// Partition Integrity Entry (4/14.13) /// PARTITION_INTEGRITY_ENTRY = 265, /// /// Extended File Entry (4/14.17) /// EXTENDED_FILE_ENTRY = 266, } /// /// Enum for FileIdentifierDescriptor.FileCharacteristics (4/14.4.3) /// Bits 5-7: Reserved: 0 /// /// [Flags] public enum FileCharacteristics : byte { /// /// No characteristics set /// NONE = 0x00, /// /// The existence of the file shall not be made known to the user (hidden) /// EXISTENCE = 0x01, /// /// The file is a directory /// DIRECTORY = 0x02, /// /// The descriptor shall be ignored (deleted) /// DELETED = 0x04, /// /// The ICB identifies the parent directory /// PARENT = 0x08, /// /// The file contains implementation use data (UDF: stream directory metadata) /// METADATA = 0x10, } /// /// Enum for ICBTag.FileType (4/14.6.6, UDF 2.3.5.4) /// /// public enum FileType : byte { /// /// Not specified /// UNSPECIFIED = 0, /// /// Unallocated Space Entry /// UNALLOCATED_SPACE_ENTRY = 1, /// /// Partition Integrity Entry /// PARTITION_INTEGRITY_ENTRY = 2, /// /// Indirect Entry /// INDIRECT_ENTRY = 3, /// /// Directory /// DIRECTORY = 4, /// /// Sequence of bytes (a regular file) /// FILE = 5, /// /// Block special device /// BLOCK_DEVICE = 6, /// /// Character special device /// CHARACTER_DEVICE = 7, /// /// Extended attributes /// EXTENDED_ATTRIBUTES = 8, /// /// FIFO file /// FIFO = 9, /// /// Socket /// SOCKET = 10, /// /// Terminal Entry /// TERMINAL_ENTRY = 11, /// /// Symbolic link /// SYMBOLIC_LINK = 12, /// /// Stream directory /// STREAM_DIRECTORY = 13, /// /// UDF Virtual Allocation Table /// VIRTUAL_ALLOCATION_TABLE = 248, /// /// UDF Real-Time file /// REAL_TIME_FILE = 249, /// /// UDF Metadata File /// METADATA_FILE = 250, /// /// UDF Metadata Mirror File /// METADATA_MIRROR_FILE = 251, /// /// UDF Metadata Bitmap File /// METADATA_BITMAP_FILE = 252, } /// /// Enum for the allocation descriptor type in ICBTag.Flags (4/14.6.8) /// /// public enum AllocationDescriptorType : byte { /// /// Short Allocation Descriptors (4/14.14.1) /// SHORT = 0, /// /// Long Allocation Descriptors (4/14.14.2) /// LONG = 1, /// /// Extended Allocation Descriptors (4/14.14.3) /// EXTENDED = 2, /// /// The file data is embedded in the allocation descriptors field /// EMBEDDED = 3, } /// /// Enum for the extent type in the top two bits of an allocation descriptor's extent length (4/14.14.1.1) /// /// public enum ExtentType : byte { /// /// Extent recorded and allocated /// RECORDED_AND_ALLOCATED = 0, /// /// Extent not recorded but allocated /// NOT_RECORDED_BUT_ALLOCATED = 1, /// /// Extent not recorded and not allocated /// NOT_RECORDED_NOT_ALLOCATED = 2, /// /// The extent is the next extent of allocation descriptors /// NEXT_EXTENT = 3, } }