diff options
Diffstat (limited to 'include/linux/udf_167.h')
| -rw-r--r-- | include/linux/udf_167.h | 786 |
1 files changed, 0 insertions, 786 deletions
diff --git a/include/linux/udf_167.h b/include/linux/udf_167.h deleted file mode 100644 index b7d0b3cf6e42..000000000000 --- a/include/linux/udf_167.h +++ /dev/null @@ -1,786 +0,0 @@ -#if !defined(_LINUX_UDF_167_H) -#define _LINUX_UDF_167_H -/* - * udf_167.h - * - * DESCRIPTION - * Definitions from the ECMA 167 standard. - * http://www.ecma.ch/ - * - * These abbreviations are used to keep the symbols short: - * Alloc Allocation - * App Application - * Attr Attribute - * Char Characters - * Desc Descriptor - * Descs Descriptors - * Ext Extent - * Ident Identifier - * Imp Implementation - * Lvl Level - * Max Maximum - * Num Number - * Ptr Pointer - * Seq Sequence - * Std Standard - * Struct Structure - * Vol Volume - * The symbols are otherwise identical to the standard, and the - * sections of the standard to refer to are indicated. - * - * CONTACTS - * E-mail regarding any portion of the Linux UDF file system should be - * directed to the development team mailing list (run by majordomo): - * linux_udf@hpesjro.fc.hp.com - * - * COPYRIGHT - * This file is distributed under the terms of the GNU General Public - * License (GPL). Copies of the GPL can be obtained from: - * ftp://prep.ai.mit.edu/pub/gnu/GPL - * Each contributing author retains all rights to their own work. - * - * HISTORY - * July 12, 1997 - Andrew E. Mileski - * Adapted from the ECMA-167 standard. - * - * 10/2/98 dgb Adaptation - * 10/4/98 Changes by HJA Sandkuyl - * 10/7/98 Changed FILE_EXISTENCE to FILE_HIDDEN, per UDF 2.0 spec - * 11/26/98 Modifed some entries for UDF 1.5/2.0 - * 11/26/98 bf Fixed typos, non-linux types, more structures - * 12/5/98 dgb Adjusted structure and content of include files. - */ - -#ifdef __KERNEL__ -#include <linux/types.h> -#define Uint8 __u8 -#define Sint8 __s8 -#define Uint16 __u16 -#define Sint16 __s16 -#define Uint32 __u32 -#define Sint32 __s32 -#define Uint64 __u64 -#define Sint64 __s64 -typedef Uint8 dstring; -#else -#define Uint8 unsigned char -#define Sint8 char -#define Uint16 unsigned short -#define Sint16 short -#define Uint32 unsigned int -#define Sint32 int -#define Uint64 unsigned long long -#define Sint64 long long -typedef Uint8 dstring; -#endif - -/* make sure all structures are packed! */ -#pragma pack(1) - -/* CS0 Charspec (ECMA 167 1/7.2.1) */ -typedef struct { - Uint8 charSetType; - Uint8 charSetInfo[63]; -} charspec; - -/* Timestamp (ECMA 167 1/7.3) */ -typedef struct { - Uint16 typeAndTimezone; - Uint16 year; - Uint8 month; - Uint8 day; - Uint8 hour; - Uint8 minute; - Uint8 second; - Uint8 centiseconds; - Uint8 hundredsOfMicroseconds; - Uint8 microseconds; -} timestamp; - -/* Timestamp types (ECMA 167 1/7.3.1) */ -#define TIMESTAMP_TYPE_CUT 0x0000U -#define TIMESTAMP_TYPE_LOCAL 0x0001U -#define TIMESTAMP_TYPE_AGREEMENT 0x0002U - -/* Entity Identifier (ECMA 167 1/7.4) */ -typedef struct { - Uint8 flags; - Uint8 ident[23]; - Uint8 identSuffix[8]; -} EntityID; -#define regid EntityID - -/* Entity identifier flags (ECMA 167 1/7.4.1) */ -#define ENTITYID_FLAGS_DIRTY 0x01U -#define ENTITYID_FLAGS_PROTECTED 0x02U - -/* Volume Structure Descriptor (ECMA 167 2/9.1) */ -#define STD_ID_LEN 5 -struct VolStructDesc { - Uint8 structType; - Uint8 stdIdent[STD_ID_LEN]; - Uint8 structVersion; - Uint8 structData[2041]; -}; - -/* Std structure identifiers (ECMA 167 2/9.1.2) */ -#define STD_ID_BEA01 "BEA01" -#define STD_ID_BOOT2 "BOOT2" -#define STD_ID_CD001 "CD001" -#define STD_ID_CDW02 "CDW02" -#define STD_ID_NSR02 "NSR02" -#define STD_ID_NSR03 "NSR03" -#define STD_ID_TEA01 "TEA01" - -/* Beginning Extended Area Descriptor (ECMA 167 2/9.2) */ -struct BeginningExtendedAreaDesc { - Uint8 structType; - Uint8 stdIdent[STD_ID_LEN]; - Uint8 structVersion; - Uint8 structData[2041]; -}; - -/* Terminating Extended Area Descriptor (ECMA 167 2/9.3) */ -struct TerminatingExtendedAreaDesc { - Uint8 structType; - Uint8 stdIdent[STD_ID_LEN]; - Uint8 structVersion; - Uint8 structData[2041]; -}; - -/* Boot Descriptor (ECMA 167 2/9.4) */ -struct BootDesc { - Uint8 structType; - Uint8 stdIdent[STD_ID_LEN]; - Uint8 structVersion; - Uint8 reserved1; - EntityID architectureType; - EntityID bootIdent; - Uint32 bootExtLocation; - Uint32 bootExtLength; - Uint64 loadAddress; - Uint64 startAddress; - timestamp descCreationDateAndTime; - Uint16 flags; - Uint8 reserved2[32]; - Uint8 bootUse[1906]; -}; - -/* Boot flags (ECMA 167 2/9.4.12) */ -#define BOOT_FLAGS_ERASE 1 - -/* Extent Descriptor (ECMA 167 3/7.1) */ -typedef struct { - Uint32 extLength; - Uint32 extLocation; -} extent_ad; - -/* Descriptor Tag (ECMA 167 3/7.2) */ -typedef struct { - Uint16 tagIdent; - Uint16 descVersion; - Uint8 tagChecksum; - Uint8 reserved; - Uint16 tagSerialNum; - Uint16 descCRC; - Uint16 descCRCLength; - Uint32 tagLocation; -} tag; - -/* Tag Identifiers (ECMA 167 3/7.2.1) */ -#define TID_UNUSED_DESC 0x0000U -#define TID_PRIMARY_VOL_DESC 0x0001U -#define TID_ANCHOR_VOL_DESC_PTR 0x0002U -#define TID_VOL_DESC_PTR 0x0003U -#define TID_IMP_USE_VOL_DESC 0x0004U -#define TID_PARTITION_DESC 0x0005U -#define TID_LOGICAL_VOL_DESC 0x0006U -#define TID_UNALLOC_SPACE_DESC 0x0007U -#define TID_TERMINATING_DESC 0x0008U -#define TID_LOGICAL_VOL_INTEGRITY_DESC 0x0009U - -/* Tag Identifiers (ECMA 167 4/7.2.1) */ -#define TID_FILE_SET_DESC 0x0100U -#define TID_FILE_IDENT_DESC 0x0101U -#define TID_ALLOC_EXTENT_DESC 0x0102U -#define TID_INDIRECT_ENTRY 0x0103U -#define TID_TERMINAL_ENTRY 0x0104U -#define TID_FILE_ENTRY 0x0105U -#define TID_EXTENDED_ATTRE_HEADER_DESC 0x0106U -#define TID_UNALLOCATED_SPACE_ENTRY 0x0107U -#define TID_SPACE_BITMAP_DESC 0x0108U -#define TID_PARTITION_INTEGRITY_ENTRY 0x0109U -#define TID_EXTENDED_FILE_ENTRY 0x010AU - -/* NSR Descriptor (ECMA 167 3/9.1) */ -struct NSRDesc { - Uint8 structType; - Uint8 stdIdent[STD_ID_LEN]; - Uint8 structVersion; - Uint8 reserved; - Uint8 structData[2040]; -}; - -/* Primary Volume Descriptor (ECMA 167 3/10.1) */ -struct PrimaryVolDesc { - tag descTag; - Uint32 volDescSeqNum; - Uint32 primaryVolDescNum; - dstring volIdent[32]; - Uint16 volSeqNum; - Uint16 maxVolSeqNum; - Uint16 interchangeLvl; - Uint16 maxInterchangeLvl; - Uint32 charSetList; - Uint32 maxCharSetList; - dstring volSetIdent[128]; - charspec descCharSet; - charspec explanatoryCharSet; - extent_ad volAbstract; - extent_ad volCopyright; - EntityID appIdent; - timestamp recordingDateAndTime; - EntityID impIdent; - Uint8 impUse[64]; - Uint32 predecessorVolDescSeqLocation; - Uint16 flags; - Uint8 reserved[22]; -}; - -/* Primary volume descriptor flags (ECMA 167 3/10.1.21) */ -#define VOL_SET_IDENT 1 - -/* Anchor Volume Descriptor Pointer (ECMA 167 3/10.2) */ -struct AnchorVolDescPtr { - tag descTag; - extent_ad mainVolDescSeqExt; - extent_ad reserveVolDescSeqExt; - Uint8 reserved[480]; -}; - -/* Volume Descriptor Pointer (ECMA 167 3/10.3) */ -struct VolDescPtr { - tag descTag; - Uint32 volDescSeqNum; - extent_ad nextVolDescSeqExt; - Uint8 reserved[484]; -}; - -/* Implementation Use Volume Descriptor (ECMA 167 3/10.4) */ -struct ImpUseVolDesc { - tag descTag; - Uint32 volDescSeqNum; - EntityID impIdent; - Uint8 impUse[460]; -}; - -/* Partition Descriptor (ECMA 167 3/10.5) */ -struct PartitionDesc { - tag descTag; - Uint32 volDescSeqNum; - Uint16 partitionFlags; - Uint16 partitionNumber; - EntityID partitionContents; - Uint8 partitionContentsUse[128]; - Uint32 accessType; - Uint32 partitionStartingLocation; - Uint32 partitionLength; - EntityID impIdent; - Uint8 impUse[128]; - Uint8 reserved[156]; -}; - -/* Partition Flags (ECMA 167 3/10.5.3) */ -#define PARTITION_FLAGS_ALLOC 1 - -/* Partition Contents (ECMA 167 3/10.5.5) */ -#define PARTITION_CONTENTS_FDC01 "+FDC01" -#define PARTITION_CONTENTS_CD001 "+CD001" -#define PARTITION_CONTENTS_CDW02 "+CDW02" -#define PARTITION_CONTENTS_NSR02 "+NSR02" -#define PARTITION_CONTENTS_NSR03 "+NSR03" - -/* Partition Access Types (ECMA 167 3/10.5.7) */ -#define PARTITION_ACCESS_NONE 0 -#define PARTITION_ACCESS_R 1 -#define PARTITION_ACCESS_WO 2 -#define PARTITION_ACCESS_RW 3 -#define PARTITION_ACCESS_OW 4 - -/* Logical Volume Descriptor (ECMA 167 3/10.6) */ -struct LogicalVolDesc { - tag descTag; - Uint32 volDescSeqNum; - charspec descCharSet; - dstring logicalVolIdent[128]; - Uint32 logicalBlockSize; - EntityID domainIdent; - Uint8 logicalVolContentsUse[16]; /* used to find fileset */ - Uint32 mapTableLength; - Uint32 numPartitionMaps; - EntityID impIdent; - Uint8 impUse[128]; - extent_ad integritySeqExt; - Uint8 partitionMaps[0]; -}; - -/* Generic Partition Map (ECMA 167 3/10.7.1) */ -struct GenericPartitionMap { - Uint8 partitionMapType; - Uint8 partitionMapLength; - Uint8 partitionMapping[0]; -}; - -/* Partition Map Type (ECMA 167 3/10.7.1.1) */ -#define PARTITION_MAP_TYPE_NONE 0 -#define PARTITION_MAP_TYPE_1 1 -#define PARTITION_MAP_TYPE_2 2 - -/* Type 1 Partition Map (ECMA 167 3/10.7.2) */ -struct GenericPartitionMap1 { - Uint8 partitionMapType; - Uint8 partitionMapLength; - Uint16 volSeqNum; - Uint16 partitionNum; -}; - -/* Type 2 Partition Map (ECMA 167 3/10.7.3) */ -struct GenericPartitionMap2 { - Uint8 partitionMapType; /* 2 */ - Uint8 partitionMapLength; - Uint8 partitionIdent[62]; -}; - -/* Unallocated Space Descriptor (ECMA 167 3/10.8) */ -struct UnallocatedSpaceDesc { - tag descTag; - Uint32 volDescSeqNum; - Uint32 numAllocDescs; - extent_ad allocDescs[0]; -}; - -/* Terminating Descriptor (ECMA 3/10.9) */ -struct TerminatingDesc { - tag descTag; - Uint8 reserved[496]; -}; - -struct GenericDesc -{ - tag descTag; - Uint32 volDescSeqNum; -}; - -/* Logical Volume Integrity Descriptor (ECMA 167 3/10.10) */ -struct LogicalVolIntegrityDesc { - tag descTag; - timestamp recordingDateAndTime; - Uint32 integrityType; - extent_ad nextIntegrityExt; - Uint8 logicalVolContentsUse[32]; - Uint32 numOfPartitions; - Uint32 lengthOfImpUse; - Uint32 freeSpaceTable[0]; - Uint32 sizeTable[0]; - Uint8 impUse[0]; -}; - -/* Integrity Types (ECMA 167 3/10.10.3) */ -#define INTEGRITY_TYPE_OPEN 0 -#define INTEGRITY_TYPE_CLOSE 1 - -/* Recorded Address (ECMA 167 4/7.1) */ -typedef struct { - Uint32 logicalBlockNum; - Uint16 partitionReferenceNum; -} lb_addr; - -/* Extent interpretation (ECMA 167 4/14.14.1.1) */ -#define EXTENT_RECORDED_ALLOCATED 0x00 -#define EXTENT_NOT_RECORDED_ALLOCATED 0x01 -#define EXTENT_NOT_RECORDED_NOT_ALLOCATED 0x02 -#define EXTENT_NEXT_EXTENT_ALLOCDECS 0x03 - -/* Long Allocation Descriptor (ECMA 167 4/14.14.2) */ -typedef struct { - Uint32 extLength; - lb_addr extLocation; - Uint8 impUse[6]; -} long_ad; - /* upper 2 bits of extLength indicate type */ - -/* File Set Descriptor (ECMA 167 4/14.1) */ -struct FileSetDesc { - tag descTag; - timestamp recordingDateAndTime; - Uint16 interchangeLvl; - Uint16 maxInterchangeLvl; - Uint32 charSetList; - Uint32 maxCharSetList; - Uint32 fileSetNum; - Uint32 fileSetDescNum; - charspec logicalVolIdentCharSet; - dstring logicalVolIdent[128]; - charspec fileSetCharSet; - dstring fileSetIdent[32]; - dstring copyrightFileIdent[32]; - dstring abstractFileIdent[32]; - long_ad rootDirectoryICB; - EntityID domainIdent; - long_ad nextExt; - long_ad streamDirectoryICB; - Uint8 reserved[32]; -}; - -/* Short Allocation Descriptor (ECMA 167 4/14.14.1) */ -typedef struct { - Uint32 extLength; - Uint32 extPosition; -} short_ad; - -/* Partition Header Descriptor (ECMA 167 4/14.3) */ -struct PartitionHeaderDesc { - short_ad unallocatedSpaceTable; - short_ad unallocatedSpaceBitmap; - short_ad partitionIntegrityTable; - short_ad freedSpaceTable; - short_ad freedSpaceBitmap; - Uint8 reserved[88]; -}; - -/* File Identifier Descriptor (ECMA 167 4/14.4) */ -struct FileIdentDesc -{ - tag descTag; - Uint16 fileVersionNum; /* 1 */ - Uint8 fileCharacteristics; - Uint8 lengthFileIdent; - long_ad icb; - Uint16 lengthOfImpUse; - Uint8 impUse[0]; - Uint8 fileIdent[0]; - Uint8 padding[0]; -}; - -/* File Characteristics (ECMA 167 4/14.4.3) */ -#define FILE_HIDDEN 1 -#define FILE_DIRECTORY 2 -#define FILE_DELETED 4 -#define FILE_PARENT 8 -#define FILE_METADATA 0x10 /* UDF 2.0 */ - -/* Allocation Ext Descriptor (ECMA 167 4/14.5) */ -struct AllocExtDesc -{ - tag descTag; - Uint32 previousAllocExtLocation; - Uint32 lengthAllocDescs; -}; - -/* ICB Tag (ECMA 167 4/14.6) */ -typedef struct { - Uint32 priorRecordedNumDirectEntries; - Uint16 strategyType; - Uint16 strategyParameter; - Uint16 numEntries; - Uint8 reserved; - Uint8 fileType; - lb_addr parentICBLocation; - Uint16 flags; -} icbtag; - -/* ICB File Type (ECMA 167 4/14.6.6) */ -#define FILE_TYPE_NONE 0x00U -#define FILE_TYPE_UNALLOC 0x01U -#define FILE_TYPE_INTEGRITY 0x02U -#define FILE_TYPE_INDIRECT 0x03U -#define FILE_TYPE_DIRECTORY 0x04U -#define FILE_TYPE_REGULAR 0x05U -#define FILE_TYPE_BLOCK 0x06U -#define FILE_TYPE_CHAR 0x07U -#define FILE_TYPE_EXTENDED 0x08U -#define FILE_TYPE_FIFO 0x09U -#define FILE_TYPE_SOCKET 0x0aU -#define FILE_TYPE_TERMINAL 0x0bU -#define FILE_TYPE_SYMLINK 0x0cU -#define FILE_TYPE_STREAMDIR 0x0dU /* ECMA 167 4/13 */ - -/* ICB Flags (ECMA 167 4/14.6.8) */ -#define ICB_FLAG_ALLOC_MASK 0x0007U -#define ICB_FLAG_SORTED 0x0008U -#define ICB_FLAG_NONRELOCATABLE 0x0010U -#define ICB_FLAG_ARCHIVE 0x0020U -#define ICB_FLAG_SETUID 0x0040U -#define ICB_FLAG_SETGID 0x0080U -#define ICB_FLAG_STICKY 0x0100U -#define ICB_FLAG_CONTIGUOUS 0x0200U -#define ICB_FLAG_SYSTEM 0x0400U -#define ICB_FLAG_TRANSFORMED 0x0800U -#define ICB_FLAG_MULTIVERSIONS 0x1000U - -/* ICB Flags Allocation type(ECMA 167 4/14.6.8) */ -#define ICB_FLAG_AD_SHORT 0 -#define ICB_FLAG_AD_LONG 1 -#define ICB_FLAG_AD_EXTENDED 2 -#define ICB_FLAG_AD_IN_ICB 3 - -/* Indirect Entry (ECMA 167 4/14.7) */ -struct IndirectEntry { - tag descTag; - icbtag icbTag; - long_ad indirectICB; -}; - -/* Terminal Entry (ECMA 167 4/14.8) */ -struct TerminalEntry { - tag descTag; - icbtag icbTag; -}; - -/* File Entry (ECMA 167 4/14.9) */ -struct FileEntry { - tag descTag; - icbtag icbTag; - Uint32 uid; - Uint32 gid; - Uint32 permissions; - Uint16 fileLinkCount; - Uint8 recordFormat; - Uint8 recordDisplayAttr; - Uint32 recordLength; - Uint64 informationLength; - Uint64 logicalBlocksRecorded; - timestamp accessTime; - timestamp modificationTime; - timestamp attrTime; - Uint32 checkpoint; - long_ad extendedAttrICB; - EntityID impIdent; - Uint64 uniqueID; /* 0= root, 16- (2^32-1) */ - Uint32 lengthExtendedAttr; - Uint32 lengthAllocDescs; - Uint8 extendedAttr[0]; - Uint8 allocDescs[0]; -}; - -/* File Permissions (ECMA 167 4/14.9.5) */ -#define PERM_O_EXEC 0x00000001U -#define PERM_O_WRITE 0x00000002U -#define PERM_O_READ 0x00000004U -#define PERM_O_CHATTR 0x00000008U -#define PERM_O_DELETE 0x00000010U -#define PERM_G_EXEC 0x00000020U -#define PERM_G_WRITE 0x00000040U -#define PERM_G_READ 0x00000080U -#define PERM_G_CHATTR 0x00000100U -#define PERM_G_DELETE 0x00000200U -#define PERM_U_EXEC 0x00000400U -#define PERM_U_WRITE 0x00000800U -#define PERM_U_READ 0x00001000U -#define PERM_U_CHATTR 0x00002000U -#define PERM_U_DELETE 0x00004000U - -/* File Record Format (ECMA 167 4/14.9.7) */ -#define RECORD_FMT_NONE 0 -#define RECORD_FMT_FIXED_PAD 1 -#define RECORD_FMT_FIXED 2 -#define RECORD_FMT_VARIABLE8 3 -#define RECORD_FMT_VARIABLE16 4 -#define RECORD_FMT_VARIABLE16_MSB 5 -#define RECORD_FMT_VARIABLE32 6 -#define RECORD_FMT_PRINT 7 -#define RECORD_FMT_LF 8 -#define RECORD_FMT_CR 9 -#define RECORD_FMT_CRLF 10 -#define RECORD_FMT_LFCR 10 - -/* Extended Attribute Header Descriptor (ECMA 167 4/14.10.1) */ -struct ExtendedAttrHeaderDesc { - tag descTag; - Uint32 impAttrLocation; - Uint32 appAttrLocation; -}; - -/* Generic Attribute Format (ECMA 4/14.10.2) */ -struct GenericAttrFormat { - Uint32 attrType; - Uint8 attrSubtype; - Uint8 reserved[3]; - Uint32 attrLength; - Uint8 attrData[0]; -}; - -/* Character Set Attribute Format (ECMA 4/14.10.3) */ -struct CharSetAttrFormat { - Uint32 attrType; /* 1 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint32 escapeSeqLength; - Uint8 charSetType; - Uint8 escapeSeq[0]; -}; - -/* Alternate Permissions (ECMA 167 4/14.10.4) */ -struct AlternatePermissionsExtendedAttr { - Uint32 attrType; /* 3 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint16 ownerIdent; - Uint16 groupIdent; - Uint16 permission; -}; - -/* File Times Extended Attribute (ECMA 167 4/14.10.5) */ -struct FileTimesExtendedAttr { - Uint32 attrType; /* 5 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint32 dataLength; - Uint32 fileTimeExistence; - Uint8 fileTimes; -}; - -/* FileTimeExistence (ECMA 167 4/14.10.5.6) */ -#define FTE_CREATION 0 -#define FTE_DELETION 2 -#define FTE_EFFECTIVE 3 -#define FTE_BACKUP 5 - -/* Information Times Extended Attribute (ECMA 167 4/14.10.6) */ -struct InfoTimesExtendedAttr { - Uint32 attrType; /* 6 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint32 dataLength; - Uint32 infoTimeExistence; - Uint8 infoTimes[0]; -}; - -/* Device Specification Extended Attribute (ECMA 167 4/14.10.7) */ -struct DeviceSpecificationExtendedAttr { - Uint32 attrType; /* 12 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint32 impUseLength; - Uint32 majorDeviceIdent; - Uint32 minorDeviceIdent; - Uint8 impUse[0]; -}; - -/* Implementation Use Extended Attr (ECMA 167 4/14.10.8) */ -struct ImpUseExtendedAttr { - Uint32 attrType; /* 2048 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint32 impUseLength; - EntityID impIdent; - Uint8 impUse[0]; -}; - -/* Application Use Extended Attribute (ECMA 167 4/14.10.9) */ -struct AppUseExtendedAttr { - Uint32 attrType; /* 65536 */ - Uint8 attrSubtype; /* 1 */ - Uint8 reserved[3]; - Uint32 attrLength; - Uint32 appUseLength; - EntityID appIdent; - Uint8 appUse[0]; -}; - -#define EXTATTR_CHAR_SET 1 -#define EXTATTR_ALT_PERMS 3 -#define EXTATTR_FILE_TIMES 5 -#define EXTATTR_INFO_TIMES 6 -#define EXTATTR_DEV_SPEC 12 -#define EXTATTR_IMP_USE 2048 -#define EXTATTR_APP_USE 65536 - - -/* Unallocated Space Entry (ECMA 167 4/14.11) */ -struct UnallocatedSpaceEntry { - tag descTag; - icbtag icbTag; - Uint32 lengthAllocDescs; - Uint8 allocDescs[0]; -}; - -/* Space Bitmap Descriptor (ECMA 167 4/14.12) */ -struct SpaceBitmapDesc { - tag descTag; - Uint32 numOfBits; - Uint32 numOfBytes; - Uint8 bitmap[0]; -}; - -/* Partition Integrity Entry (ECMA 167 4/14.13) */ -struct PartitionIntegrityEntry { - tag descTag; - icbtag icbTag; - timestamp recordingDateAndTime; - Uint8 integrityType; - Uint8 reserved[175]; - EntityID impIdent; - Uint8 impUse[256]; -}; - -/* Extended Allocation Descriptor (ECMA 167 4/14.14.3) */ -typedef struct { /* ECMA 167 4/14.14.3 */ - Uint32 extLength; - Uint32 recordedLength; - Uint32 informationLength; - lb_addr extLocation; -} ext_ad; - -/* Logical Volume Header Descriptor (ECMA 167 4/14.5) */ -struct LogicalVolHeaderDesc { - Uint64 uniqueID; - Uint8 reserved[24]; -}; - -/* Path Component (ECMA 167 4/14.16.1) */ -struct PathComponent { - Uint8 componentType; - Uint8 lengthComponentIdent; - Uint16 componentFileVersionNum; - dstring componentIdent[0]; -}; - -/* File Entry (ECMA 167 4/14.17) */ -struct ExtendedFileEntry { - tag descTag; - icbtag icbTag; - Uint32 uid; - Uint32 gid; - Uint32 permissions; - Uint16 fileLinkCount; - Uint8 recordFormat; - Uint8 recordDisplayAttr; - Uint32 recordLength; - Uint64 informationLength; - Uint64 objectSize; - Uint64 logicalBlocksRecorded; - timestamp accessTime; - timestamp modificationTime; - timestamp createTime; - timestamp attrTime; - Uint32 checkpoint; - Uint32 reserved; - long_ad extendedAttrICB; - long_ad streamDirectoryICB; - EntityID impIdent; - Uint64 uniqueID; - Uint32 lengthExtendedAttr; - Uint32 lengthAllocDescs; - Uint8 extendedAttr[0]; - Uint8 allocDescs[0]; -}; -#pragma pack() - -#endif /* !defined(_LINUX_UDF_167_H) */ |
