17 #ifndef __ECMA_167_H__ 18 #define __ECMA_167_H__ 22 #define UDF_COMP_ID_8 0x08 23 #define UDF_COMP_ID_16 0x10 52 #define TIMESTAMP_TYPE_CUT 0x0000U 53 #define TIMESTAMP_TYPE_LOCAL 0x0001U 54 #define TIMESTAMP_TYPE_AGREEMENT 0x0002U 55 #define TIMESTAMP_OFFSET_MASK 0x0FFFU 56 #define TIMESTAMP_NO_OFFSET 0x0800U 64 #define regid EntityID 67 #define ENTITYID_FLAGS_DIRTY 0x01U 68 #define ENTITYID_FLAGS_PROTECTED 0x02U 80 #define STD_ID_BEA01 "BEA01" 81 #define STD_ID_BOOT2 "BOOT2" 82 #define STD_ID_CD001 "CD001" 83 #define STD_ID_CDW02 "CDW02" 84 #define STD_ID_NSR02 "NSR02" 85 #define STD_ID_NSR03 "NSR03" 86 #define STD_ID_TEA01 "TEA01" 123 #define BOOT_FLAGS_ERASE 1 153 #define TID_UNUSED_DESC 0x0000U 154 #define TID_PRIMARY_VOL_DESC 0x0001U 155 #define TID_ANCHOR_VOL_DESC_PTR 0x0002U 156 #define TID_VOL_DESC_PTR 0x0003U 157 #define TID_IMP_USE_VOL_DESC 0x0004U 158 #define TID_PARTITION_DESC 0x0005U 159 #define TID_LOGICAL_VOL_DESC 0x0006U 160 #define TID_UNALLOC_SPACE_DESC 0x0007U 161 #define TID_TERMINATING_DESC 0x0008U 162 #define TID_LOGICAL_VOL_INTEGRITY_DESC 0x0009U 165 #define TID_FILE_SET_DESC 0x0100U 166 #define TID_FILE_IDENT_DESC 0x0101U 167 #define TID_ALLOC_EXTENT_DESC 0x0102U 168 #define TID_INDIRECT_ENTRY 0x0103U 169 #define TID_TERMINAL_ENTRY 0x0104U 170 #define TID_FILE_ENTRY 0x0105U 171 #define TID_EXTENDED_ATTRE_HEADER_DESC 0x0106U 172 #define TID_UNALLOCATED_SPACE_ENTRY 0x0107U 173 #define TID_SPACE_BITMAP_DESC 0x0108U 174 #define TID_PARTITION_INTEGRITY_ENTRY 0x0109U 175 #define TID_EXTENDED_FILE_ENTRY 0x010AU 213 #define VOL_SET_IDENT 1 231 #define MAX_VDS_PARTS 32 258 #define PARTITION_FLAGS_ALLOC 1 261 #define PARTITION_CONTENTS_FDC01 "+FDC01" 262 #define PARTITION_CONTENTS_CD001 "+CD001" 263 #define PARTITION_CONTENTS_CDW02 "+CDW02" 264 #define PARTITION_CONTENTS_NSR02 "+NSR02" 265 #define PARTITION_CONTENTS_NSR03 "+NSR03" 268 #define PARTITION_ACCESS_NONE 0 269 #define PARTITION_ACCESS_R 1 270 #define PARTITION_ACCESS_WO 2 271 #define PARTITION_ACCESS_RW 3 272 #define PARTITION_ACCESS_OW 4 273 #define PARTITION_ACCESS_MAX_KNOWN PARTITION_ACCESS_OW 300 #define PARTITION_MAP_TYPE_NONE 0 301 #define PARTITION_MAP_TYPE_1 1 302 #define PARTITION_MAP_TYPE_2 2 357 #define INTEGRITY_TYPE_OPEN 0 358 #define INTEGRITY_TYPE_CLOSE 1 367 #define EXTENT_RECORDED_ALLOCATED 0x00 368 #define EXTENT_NOT_RECORDED_ALLOCATED 0x01 369 #define EXTENT_NOT_RECORDED_NOT_ALLOCATED 0x02 370 #define EXTENT_NEXT_EXTENT_ALLOCDESC 0x03 438 #define FILE_HIDDEN 0x01 439 #define FILE_DIRECTORY 0x02 440 #define FILE_DELETED 0x04 441 #define FILE_PARENT 0x08 442 #define FILE_METADATA 0x10 464 #define UDF_FILE_TYPE_NONE 0x00U 465 #define UDF_FILE_TYPE_UNALLOC 0x01U 466 #define UDF_FILE_TYPE_INTEGRITY 0x02U 467 #define UDF_FILE_TYPE_INDIRECT 0x03U 468 #define UDF_FILE_TYPE_DIRECTORY 0x04U 469 #define UDF_FILE_TYPE_REGULAR 0x05U 470 #define UDF_FILE_TYPE_BLOCK 0x06U 471 #define UDF_FILE_TYPE_CHAR 0x07U 472 #define UDF_FILE_TYPE_EXTENDED 0x08U 473 #define UDF_FILE_TYPE_FIFO 0x09U 474 #define UDF_FILE_TYPE_SOCKET 0x0aU 475 #define UDF_FILE_TYPE_TERMINAL 0x0bU 476 #define UDF_FILE_TYPE_SYMLINK 0x0cU 477 #define UDF_FILE_TYPE_STREAMDIR 0x0dU 480 #define ICB_FLAG_ALLOC_MASK 0x0007U 481 #define ICB_FLAG_SORTED 0x0008U 482 #define ICB_FLAG_NONRELOCATABLE 0x0010U 483 #define ICB_FLAG_ARCHIVE 0x0020U 484 #define ICB_FLAG_SETUID 0x0040U 485 #define ICB_FLAG_SETGID 0x0080U 486 #define ICB_FLAG_STICKY 0x0100U 487 #define ICB_FLAG_CONTIGUOUS 0x0200U 488 #define ICB_FLAG_SYSTEM 0x0400U 489 #define ICB_FLAG_TRANSFORMED 0x0800U 490 #define ICB_FLAG_MULTIVERSIONS 0x1000U 493 #define ICB_FLAG_AD_SHORT 0 494 #define ICB_FLAG_AD_LONG 1 495 #define ICB_FLAG_AD_EXTENDED 2 496 #define ICB_FLAG_AD_IN_ICB 3 540 #define PERM_O_EXEC 0x00000001U 541 #define PERM_O_WRITE 0x00000002U 542 #define PERM_O_READ 0x00000004U 543 #define PERM_O_CHATTR 0x00000008U 544 #define PERM_O_DELETE 0x00000010U 545 #define PERM_G_EXEC 0x00000020U 546 #define PERM_G_WRITE 0x00000040U 547 #define PERM_G_READ 0x00000080U 548 #define PERM_G_CHATTR 0x00000100U 549 #define PERM_G_DELETE 0x00000200U 550 #define PERM_U_EXEC 0x00000400U 551 #define PERM_U_WRITE 0x00000800U 552 #define PERM_U_READ 0x00001000U 553 #define PERM_U_CHATTR 0x00002000U 554 #define PERM_U_DELETE 0x00004000U 557 #define RECORD_FMT_NONE 0 558 #define RECORD_FMT_FIXED_PAD 1 559 #define RECORD_FMT_FIXED 2 560 #define RECORD_FMT_VARIABLE8 3 561 #define RECORD_FMT_VARIABLE16 4 562 #define RECORD_FMT_VARIABLE16_MSB 5 563 #define RECORD_FMT_VARIABLE32 6 564 #define RECORD_FMT_PRINT 7 565 #define RECORD_FMT_LF 8 566 #define RECORD_FMT_CR 9 567 #define RECORD_FMT_CRLF 10 568 #define RECORD_FMT_LFCR 10 620 #define FTE_CREATION 0 621 #define FTE_DELETION 2 622 #define FTE_EFFECTIVE 3 670 #define EXTATTR_CHAR_SET 1 671 #define EXTATTR_ALT_PERMS 3 672 #define EXTATTR_FILE_TIMES 5 673 #define EXTATTR_INFO_TIMES 6 674 #define EXTATTR_DEV_SPEC 12 675 #define EXTATTR_IMP_USE 2048 676 #define EXTATTR_APP_USE 65536 708 #define INTEGRITY_TYPE_STABLE 2 734 #define COMPONENT_TYPE_ROOT_X 0x01 735 #define COMPONENT_TYPE_ROOT 0x02 736 #define COMPONENT_TYPE_PARENT 0x03 737 #define COMPONENT_TYPE_CURENT 0x04 738 #define COMPONENT_TYPE_OBJECT 0x05
long_ad streamDirectoryICB
struct _EXTENT_AD * PEXTENT_AD
struct _FILE_IDENT_DESC * PFILE_IDENT_DESC
struct _FILE_SET_DESC * PFILE_SET_DESC
uint8 lengthComponentIdent
uint8 fileCharacteristics
struct _FILE_IDENT_DESC FILE_IDENT_DESC
timestamp descCreationDateAndTime
struct _SHORT_AD SHORT_AD
extent_ad mainVolDescSeqExt
uint32 lengthExtendedAttr
struct _EXTENDED_FILE_ENTRY EXTENDED_FILE_ENTRY
struct _FILE_ENTRY * PFILE_ENTRY
extent_ad integritySeqExt
UDF_TIME_STAMP * PUDF_TIME_STAMP
timestamp modificationTime
uint32 previousAllocExtLocation
uint64 logicalBlocksRecorded
uint8 stdIdent[STD_ID_LEN]
struct _SPACE_BITMAP_DESC SPACE_BITMAP_DESC
timestamp recordingDateAndTime
dstring logicalVolIdent[128]
struct _PARTITION_HEADER_DESC PARTITION_HEADER_DESC
extent_ad reserveVolDescSeqExt
charspec logicalVolIdentCharSet
dstring copyrightFileIdent[32]
uint8 partitionContentsUse[128]
struct _BootDesc BootDesc
UNALLOC_SPACE_DESC UnallocatedSpaceDesc
struct _SHORT_AD * PSHORT_AD
extent_ad nextVolDescSeqExt
EntityID architectureType
_In_ ULONG _In_ ULONG_PTR ident
struct _ALLOC_EXT_DESC ALLOC_EXT_DESC
uint16 componentFileVersionNum
SPACE_BITMAP_DESC SpaceBitmapDesc
uint8 stdIdent[STD_ID_LEN]
long_ad streamDirectoryICB
dstring abstractFileIdent[32]
charspec explanatoryCharSet
uint32 lengthExtendedAttr
uint32 partitionStartingLocation
struct _ALLOC_EXT_DESC * PALLOC_EXT_DESC
extent_ad nextIntegrityExt
uint8 logicalVolContentsUse[32]
uint8 stdIdent[STD_ID_LEN]
struct _FILE_SET_DESC FILE_SET_DESC
uint64 logicalBlocksRecorded
struct _SPACE_BITMAP_DESC * PSPACE_BITMAP_DESC
struct _UNALLOC_SPACE_DESC UNALLOC_SPACE_DESC
struct _EXTENT_AD EXTENT_AD
uint8 logicalVolContentsUse[16]
uint32 priorRecordedNumDirectEntries
timestamp recordingDateAndTime
struct _PARTITION_HEADER_DESC * PPARTITION_HEADER_DESC
struct _BootDesc * PBootDesc
uint8 stdIdent[STD_ID_LEN]
struct _EXTENDED_FILE_ENTRY * PEXTENDED_FILE_ENTRY
timestamp recordingDateAndTime
EXTENDED_FILE_ENTRY ExtendedFileEntry
uint16 partitionReferenceNum
timestamp recordingDateAndTime
dstring logicalVolIdent[128]
struct _UNALLOC_SPACE_DESC * PUNALLOC_SPACE_DESC
uint8 stdIdent[STD_ID_LEN]
uint8 hundredsOfMicroseconds
timestamp modificationTime
lb_addr parentICBLocation
uint32 predecessorVolDescSeqLocation
struct _FILE_ENTRY FILE_ENTRY
EntityID partitionContents