|
@@ -41,7 +41,7 @@
|
|
struct charspec {
|
|
struct charspec {
|
|
uint8_t charSetType;
|
|
uint8_t charSetType;
|
|
uint8_t charSetInfo[63];
|
|
uint8_t charSetInfo[63];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Character Set Type (ECMA 167r3 1/7.2.1.1) */
|
|
/* Character Set Type (ECMA 167r3 1/7.2.1.1) */
|
|
#define CHARSPEC_TYPE_CS0 0x00 /* (1/7.2.2) */
|
|
#define CHARSPEC_TYPE_CS0 0x00 /* (1/7.2.2) */
|
|
@@ -68,7 +68,7 @@ struct timestamp {
|
|
uint8_t centiseconds;
|
|
uint8_t centiseconds;
|
|
uint8_t hundredsOfMicroseconds;
|
|
uint8_t hundredsOfMicroseconds;
|
|
uint8_t microseconds;
|
|
uint8_t microseconds;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Type and Time Zone (ECMA 167r3 1/7.3.1) */
|
|
/* Type and Time Zone (ECMA 167r3 1/7.3.1) */
|
|
#define TIMESTAMP_TYPE_MASK 0xF000
|
|
#define TIMESTAMP_TYPE_MASK 0xF000
|
|
@@ -82,7 +82,7 @@ struct regid {
|
|
uint8_t flags;
|
|
uint8_t flags;
|
|
uint8_t ident[23];
|
|
uint8_t ident[23];
|
|
uint8_t identSuffix[8];
|
|
uint8_t identSuffix[8];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Flags (ECMA 167r3 1/7.4.1) */
|
|
/* Flags (ECMA 167r3 1/7.4.1) */
|
|
#define ENTITYID_FLAGS_DIRTY 0x00
|
|
#define ENTITYID_FLAGS_DIRTY 0x00
|
|
@@ -95,7 +95,7 @@ struct volStructDesc {
|
|
uint8_t stdIdent[VSD_STD_ID_LEN];
|
|
uint8_t stdIdent[VSD_STD_ID_LEN];
|
|
uint8_t structVersion;
|
|
uint8_t structVersion;
|
|
uint8_t structData[2041];
|
|
uint8_t structData[2041];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Standard Identifier (EMCA 167r2 2/9.1.2) */
|
|
/* Standard Identifier (EMCA 167r2 2/9.1.2) */
|
|
#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */
|
|
#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */
|
|
@@ -114,7 +114,7 @@ struct beginningExtendedAreaDesc {
|
|
uint8_t stdIdent[VSD_STD_ID_LEN];
|
|
uint8_t stdIdent[VSD_STD_ID_LEN];
|
|
uint8_t structVersion;
|
|
uint8_t structVersion;
|
|
uint8_t structData[2041];
|
|
uint8_t structData[2041];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Terminating Extended Area Descriptor (ECMA 167r3 2/9.3) */
|
|
/* Terminating Extended Area Descriptor (ECMA 167r3 2/9.3) */
|
|
struct terminatingExtendedAreaDesc {
|
|
struct terminatingExtendedAreaDesc {
|
|
@@ -122,7 +122,7 @@ struct terminatingExtendedAreaDesc {
|
|
uint8_t stdIdent[VSD_STD_ID_LEN];
|
|
uint8_t stdIdent[VSD_STD_ID_LEN];
|
|
uint8_t structVersion;
|
|
uint8_t structVersion;
|
|
uint8_t structData[2041];
|
|
uint8_t structData[2041];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Boot Descriptor (ECMA 167r3 2/9.4) */
|
|
/* Boot Descriptor (ECMA 167r3 2/9.4) */
|
|
struct bootDesc {
|
|
struct bootDesc {
|
|
@@ -140,7 +140,7 @@ struct bootDesc {
|
|
__le16 flags;
|
|
__le16 flags;
|
|
uint8_t reserved2[32];
|
|
uint8_t reserved2[32];
|
|
uint8_t bootUse[1906];
|
|
uint8_t bootUse[1906];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Flags (ECMA 167r3 2/9.4.12) */
|
|
/* Flags (ECMA 167r3 2/9.4.12) */
|
|
#define BOOT_FLAGS_ERASE 0x01
|
|
#define BOOT_FLAGS_ERASE 0x01
|
|
@@ -149,7 +149,7 @@ struct bootDesc {
|
|
struct extent_ad {
|
|
struct extent_ad {
|
|
__le32 extLength;
|
|
__le32 extLength;
|
|
__le32 extLocation;
|
|
__le32 extLocation;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
struct kernel_extent_ad {
|
|
struct kernel_extent_ad {
|
|
uint32_t extLength;
|
|
uint32_t extLength;
|
|
@@ -166,7 +166,7 @@ struct tag {
|
|
__le16 descCRC;
|
|
__le16 descCRC;
|
|
__le16 descCRCLength;
|
|
__le16 descCRCLength;
|
|
__le32 tagLocation;
|
|
__le32 tagLocation;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Tag Identifier (ECMA 167r3 3/7.2.1) */
|
|
/* Tag Identifier (ECMA 167r3 3/7.2.1) */
|
|
#define TAG_IDENT_PVD 0x0001
|
|
#define TAG_IDENT_PVD 0x0001
|
|
@@ -186,7 +186,7 @@ struct NSRDesc {
|
|
uint8_t structVersion;
|
|
uint8_t structVersion;
|
|
uint8_t reserved;
|
|
uint8_t reserved;
|
|
uint8_t structData[2040];
|
|
uint8_t structData[2040];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Primary Volume Descriptor (ECMA 167r3 3/10.1) */
|
|
/* Primary Volume Descriptor (ECMA 167r3 3/10.1) */
|
|
struct primaryVolDesc {
|
|
struct primaryVolDesc {
|
|
@@ -212,7 +212,7 @@ struct primaryVolDesc {
|
|
__le32 predecessorVolDescSeqLocation;
|
|
__le32 predecessorVolDescSeqLocation;
|
|
__le16 flags;
|
|
__le16 flags;
|
|
uint8_t reserved[22];
|
|
uint8_t reserved[22];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Flags (ECMA 167r3 3/10.1.21) */
|
|
/* Flags (ECMA 167r3 3/10.1.21) */
|
|
#define PVD_FLAGS_VSID_COMMON 0x0001
|
|
#define PVD_FLAGS_VSID_COMMON 0x0001
|
|
@@ -223,7 +223,7 @@ struct anchorVolDescPtr {
|
|
struct extent_ad mainVolDescSeqExt;
|
|
struct extent_ad mainVolDescSeqExt;
|
|
struct extent_ad reserveVolDescSeqExt;
|
|
struct extent_ad reserveVolDescSeqExt;
|
|
uint8_t reserved[480];
|
|
uint8_t reserved[480];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Volume Descriptor Pointer (ECMA 167r3 3/10.3) */
|
|
/* Volume Descriptor Pointer (ECMA 167r3 3/10.3) */
|
|
struct volDescPtr {
|
|
struct volDescPtr {
|
|
@@ -231,7 +231,7 @@ struct volDescPtr {
|
|
__le32 volDescSeqNum;
|
|
__le32 volDescSeqNum;
|
|
struct extent_ad nextVolDescSeqExt;
|
|
struct extent_ad nextVolDescSeqExt;
|
|
uint8_t reserved[484];
|
|
uint8_t reserved[484];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Implementation Use Volume Descriptor (ECMA 167r3 3/10.4) */
|
|
/* Implementation Use Volume Descriptor (ECMA 167r3 3/10.4) */
|
|
struct impUseVolDesc {
|
|
struct impUseVolDesc {
|
|
@@ -239,7 +239,7 @@ struct impUseVolDesc {
|
|
__le32 volDescSeqNum;
|
|
__le32 volDescSeqNum;
|
|
struct regid impIdent;
|
|
struct regid impIdent;
|
|
uint8_t impUse[460];
|
|
uint8_t impUse[460];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Partition Descriptor (ECMA 167r3 3/10.5) */
|
|
/* Partition Descriptor (ECMA 167r3 3/10.5) */
|
|
struct partitionDesc {
|
|
struct partitionDesc {
|
|
@@ -255,7 +255,7 @@ struct partitionDesc {
|
|
struct regid impIdent;
|
|
struct regid impIdent;
|
|
uint8_t impUse[128];
|
|
uint8_t impUse[128];
|
|
uint8_t reserved[156];
|
|
uint8_t reserved[156];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Partition Flags (ECMA 167r3 3/10.5.3) */
|
|
/* Partition Flags (ECMA 167r3 3/10.5.3) */
|
|
#define PD_PARTITION_FLAGS_ALLOC 0x0001
|
|
#define PD_PARTITION_FLAGS_ALLOC 0x0001
|
|
@@ -291,14 +291,14 @@ struct logicalVolDesc {
|
|
uint8_t impUse[128];
|
|
uint8_t impUse[128];
|
|
struct extent_ad integritySeqExt;
|
|
struct extent_ad integritySeqExt;
|
|
uint8_t partitionMaps[0];
|
|
uint8_t partitionMaps[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Generic Partition Map (ECMA 167r3 3/10.7.1) */
|
|
/* Generic Partition Map (ECMA 167r3 3/10.7.1) */
|
|
struct genericPartitionMap {
|
|
struct genericPartitionMap {
|
|
uint8_t partitionMapType;
|
|
uint8_t partitionMapType;
|
|
uint8_t partitionMapLength;
|
|
uint8_t partitionMapLength;
|
|
uint8_t partitionMapping[0];
|
|
uint8_t partitionMapping[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Partition Map Type (ECMA 167r3 3/10.7.1.1) */
|
|
/* Partition Map Type (ECMA 167r3 3/10.7.1.1) */
|
|
#define GP_PARTITION_MAP_TYPE_UNDEF 0x00
|
|
#define GP_PARTITION_MAP_TYPE_UNDEF 0x00
|
|
@@ -311,14 +311,14 @@ struct genericPartitionMap1 {
|
|
uint8_t partitionMapLength;
|
|
uint8_t partitionMapLength;
|
|
__le16 volSeqNum;
|
|
__le16 volSeqNum;
|
|
__le16 partitionNum;
|
|
__le16 partitionNum;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Type 2 Partition Map (ECMA 167r3 3/10.7.3) */
|
|
/* Type 2 Partition Map (ECMA 167r3 3/10.7.3) */
|
|
struct genericPartitionMap2 {
|
|
struct genericPartitionMap2 {
|
|
uint8_t partitionMapType;
|
|
uint8_t partitionMapType;
|
|
uint8_t partitionMapLength;
|
|
uint8_t partitionMapLength;
|
|
uint8_t partitionIdent[62];
|
|
uint8_t partitionIdent[62];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Unallocated Space Descriptor (ECMA 167r3 3/10.8) */
|
|
/* Unallocated Space Descriptor (ECMA 167r3 3/10.8) */
|
|
struct unallocSpaceDesc {
|
|
struct unallocSpaceDesc {
|
|
@@ -326,13 +326,13 @@ struct unallocSpaceDesc {
|
|
__le32 volDescSeqNum;
|
|
__le32 volDescSeqNum;
|
|
__le32 numAllocDescs;
|
|
__le32 numAllocDescs;
|
|
struct extent_ad allocDescs[0];
|
|
struct extent_ad allocDescs[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Terminating Descriptor (ECMA 167r3 3/10.9) */
|
|
/* Terminating Descriptor (ECMA 167r3 3/10.9) */
|
|
struct terminatingDesc {
|
|
struct terminatingDesc {
|
|
struct tag descTag;
|
|
struct tag descTag;
|
|
uint8_t reserved[496];
|
|
uint8_t reserved[496];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10) */
|
|
/* Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10) */
|
|
struct logicalVolIntegrityDesc {
|
|
struct logicalVolIntegrityDesc {
|
|
@@ -346,7 +346,7 @@ struct logicalVolIntegrityDesc {
|
|
__le32 freeSpaceTable[0];
|
|
__le32 freeSpaceTable[0];
|
|
__le32 sizeTable[0];
|
|
__le32 sizeTable[0];
|
|
uint8_t impUse[0];
|
|
uint8_t impUse[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Integrity Type (ECMA 167r3 3/10.10.3) */
|
|
/* Integrity Type (ECMA 167r3 3/10.10.3) */
|
|
#define LVID_INTEGRITY_TYPE_OPEN 0x00000000
|
|
#define LVID_INTEGRITY_TYPE_OPEN 0x00000000
|
|
@@ -356,7 +356,7 @@ struct logicalVolIntegrityDesc {
|
|
struct lb_addr {
|
|
struct lb_addr {
|
|
__le32 logicalBlockNum;
|
|
__le32 logicalBlockNum;
|
|
__le16 partitionReferenceNum;
|
|
__le16 partitionReferenceNum;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* ... and its in-core analog */
|
|
/* ... and its in-core analog */
|
|
struct kernel_lb_addr {
|
|
struct kernel_lb_addr {
|
|
@@ -368,14 +368,14 @@ struct kernel_lb_addr {
|
|
struct short_ad {
|
|
struct short_ad {
|
|
__le32 extLength;
|
|
__le32 extLength;
|
|
__le32 extPosition;
|
|
__le32 extPosition;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Long Allocation Descriptor (ECMA 167r3 4/14.14.2) */
|
|
/* Long Allocation Descriptor (ECMA 167r3 4/14.14.2) */
|
|
struct long_ad {
|
|
struct long_ad {
|
|
__le32 extLength;
|
|
__le32 extLength;
|
|
struct lb_addr extLocation;
|
|
struct lb_addr extLocation;
|
|
uint8_t impUse[6];
|
|
uint8_t impUse[6];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
struct kernel_long_ad {
|
|
struct kernel_long_ad {
|
|
uint32_t extLength;
|
|
uint32_t extLength;
|
|
@@ -389,7 +389,7 @@ struct ext_ad {
|
|
__le32 recordedLength;
|
|
__le32 recordedLength;
|
|
__le32 informationLength;
|
|
__le32 informationLength;
|
|
struct lb_addr extLocation;
|
|
struct lb_addr extLocation;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
struct kernel_ext_ad {
|
|
struct kernel_ext_ad {
|
|
uint32_t extLength;
|
|
uint32_t extLength;
|
|
@@ -434,7 +434,7 @@ struct fileSetDesc {
|
|
struct long_ad nextExt;
|
|
struct long_ad nextExt;
|
|
struct long_ad streamDirectoryICB;
|
|
struct long_ad streamDirectoryICB;
|
|
uint8_t reserved[32];
|
|
uint8_t reserved[32];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Partition Header Descriptor (ECMA 167r3 4/14.3) */
|
|
/* Partition Header Descriptor (ECMA 167r3 4/14.3) */
|
|
struct partitionHeaderDesc {
|
|
struct partitionHeaderDesc {
|
|
@@ -444,7 +444,7 @@ struct partitionHeaderDesc {
|
|
struct short_ad freedSpaceTable;
|
|
struct short_ad freedSpaceTable;
|
|
struct short_ad freedSpaceBitmap;
|
|
struct short_ad freedSpaceBitmap;
|
|
uint8_t reserved[88];
|
|
uint8_t reserved[88];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* File Identifier Descriptor (ECMA 167r3 4/14.4) */
|
|
/* File Identifier Descriptor (ECMA 167r3 4/14.4) */
|
|
struct fileIdentDesc {
|
|
struct fileIdentDesc {
|
|
@@ -457,7 +457,7 @@ struct fileIdentDesc {
|
|
uint8_t impUse[0];
|
|
uint8_t impUse[0];
|
|
uint8_t fileIdent[0];
|
|
uint8_t fileIdent[0];
|
|
uint8_t padding[0];
|
|
uint8_t padding[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* File Characteristics (ECMA 167r3 4/14.4.3) */
|
|
/* File Characteristics (ECMA 167r3 4/14.4.3) */
|
|
#define FID_FILE_CHAR_HIDDEN 0x01
|
|
#define FID_FILE_CHAR_HIDDEN 0x01
|
|
@@ -471,7 +471,7 @@ struct allocExtDesc {
|
|
struct tag descTag;
|
|
struct tag descTag;
|
|
__le32 previousAllocExtLocation;
|
|
__le32 previousAllocExtLocation;
|
|
__le32 lengthAllocDescs;
|
|
__le32 lengthAllocDescs;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* ICB Tag (ECMA 167r3 4/14.6) */
|
|
/* ICB Tag (ECMA 167r3 4/14.6) */
|
|
struct icbtag {
|
|
struct icbtag {
|
|
@@ -483,7 +483,7 @@ struct icbtag {
|
|
uint8_t fileType;
|
|
uint8_t fileType;
|
|
struct lb_addr parentICBLocation;
|
|
struct lb_addr parentICBLocation;
|
|
__le16 flags;
|
|
__le16 flags;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Strategy Type (ECMA 167r3 4/14.6.2) */
|
|
/* Strategy Type (ECMA 167r3 4/14.6.2) */
|
|
#define ICBTAG_STRATEGY_TYPE_UNDEF 0x0000
|
|
#define ICBTAG_STRATEGY_TYPE_UNDEF 0x0000
|
|
@@ -531,13 +531,13 @@ struct indirectEntry {
|
|
struct tag descTag;
|
|
struct tag descTag;
|
|
struct icbtag icbTag;
|
|
struct icbtag icbTag;
|
|
struct long_ad indirectICB;
|
|
struct long_ad indirectICB;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Terminal Entry (ECMA 167r3 4/14.8) */
|
|
/* Terminal Entry (ECMA 167r3 4/14.8) */
|
|
struct terminalEntry {
|
|
struct terminalEntry {
|
|
struct tag descTag;
|
|
struct tag descTag;
|
|
struct icbtag icbTag;
|
|
struct icbtag icbTag;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* File Entry (ECMA 167r3 4/14.9) */
|
|
/* File Entry (ECMA 167r3 4/14.9) */
|
|
struct fileEntry {
|
|
struct fileEntry {
|
|
@@ -563,7 +563,7 @@ struct fileEntry {
|
|
__le32 lengthAllocDescs;
|
|
__le32 lengthAllocDescs;
|
|
uint8_t extendedAttr[0];
|
|
uint8_t extendedAttr[0];
|
|
uint8_t allocDescs[0];
|
|
uint8_t allocDescs[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Permissions (ECMA 167r3 4/14.9.5) */
|
|
/* Permissions (ECMA 167r3 4/14.9.5) */
|
|
#define FE_PERM_O_EXEC 0x00000001U
|
|
#define FE_PERM_O_EXEC 0x00000001U
|
|
@@ -607,7 +607,7 @@ struct extendedAttrHeaderDesc {
|
|
struct tag descTag;
|
|
struct tag descTag;
|
|
__le32 impAttrLocation;
|
|
__le32 impAttrLocation;
|
|
__le32 appAttrLocation;
|
|
__le32 appAttrLocation;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Generic Format (ECMA 167r3 4/14.10.2) */
|
|
/* Generic Format (ECMA 167r3 4/14.10.2) */
|
|
struct genericFormat {
|
|
struct genericFormat {
|
|
@@ -616,7 +616,7 @@ struct genericFormat {
|
|
uint8_t reserved[3];
|
|
uint8_t reserved[3];
|
|
__le32 attrLength;
|
|
__le32 attrLength;
|
|
uint8_t attrData[0];
|
|
uint8_t attrData[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Character Set Information (ECMA 167r3 4/14.10.3) */
|
|
/* Character Set Information (ECMA 167r3 4/14.10.3) */
|
|
struct charSetInfo {
|
|
struct charSetInfo {
|
|
@@ -627,7 +627,7 @@ struct charSetInfo {
|
|
__le32 escapeSeqLength;
|
|
__le32 escapeSeqLength;
|
|
uint8_t charSetType;
|
|
uint8_t charSetType;
|
|
uint8_t escapeSeq[0];
|
|
uint8_t escapeSeq[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Alternate Permissions (ECMA 167r3 4/14.10.4) */
|
|
/* Alternate Permissions (ECMA 167r3 4/14.10.4) */
|
|
struct altPerms {
|
|
struct altPerms {
|
|
@@ -638,7 +638,7 @@ struct altPerms {
|
|
__le16 ownerIdent;
|
|
__le16 ownerIdent;
|
|
__le16 groupIdent;
|
|
__le16 groupIdent;
|
|
__le16 permission;
|
|
__le16 permission;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* File Times Extended Attribute (ECMA 167r3 4/14.10.5) */
|
|
/* File Times Extended Attribute (ECMA 167r3 4/14.10.5) */
|
|
struct fileTimesExtAttr {
|
|
struct fileTimesExtAttr {
|
|
@@ -649,7 +649,7 @@ struct fileTimesExtAttr {
|
|
__le32 dataLength;
|
|
__le32 dataLength;
|
|
__le32 fileTimeExistence;
|
|
__le32 fileTimeExistence;
|
|
uint8_t fileTimes;
|
|
uint8_t fileTimes;
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* FileTimeExistence (ECMA 167r3 4/14.10.5.6) */
|
|
/* FileTimeExistence (ECMA 167r3 4/14.10.5.6) */
|
|
#define FTE_CREATION 0x00000001
|
|
#define FTE_CREATION 0x00000001
|
|
@@ -666,7 +666,7 @@ struct infoTimesExtAttr {
|
|
__le32 dataLength;
|
|
__le32 dataLength;
|
|
__le32 infoTimeExistence;
|
|
__le32 infoTimeExistence;
|
|
uint8_t infoTimes[0];
|
|
uint8_t infoTimes[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Device Specification (ECMA 167r3 4/14.10.7) */
|
|
/* Device Specification (ECMA 167r3 4/14.10.7) */
|
|
struct deviceSpec {
|
|
struct deviceSpec {
|
|
@@ -678,7 +678,7 @@ struct deviceSpec {
|
|
__le32 majorDeviceIdent;
|
|
__le32 majorDeviceIdent;
|
|
__le32 minorDeviceIdent;
|
|
__le32 minorDeviceIdent;
|
|
uint8_t impUse[0];
|
|
uint8_t impUse[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Implementation Use Extended Attr (ECMA 167r3 4/14.10.8) */
|
|
/* Implementation Use Extended Attr (ECMA 167r3 4/14.10.8) */
|
|
struct impUseExtAttr {
|
|
struct impUseExtAttr {
|
|
@@ -689,7 +689,7 @@ struct impUseExtAttr {
|
|
__le32 impUseLength;
|
|
__le32 impUseLength;
|
|
struct regid impIdent;
|
|
struct regid impIdent;
|
|
uint8_t impUse[0];
|
|
uint8_t impUse[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Application Use Extended Attribute (ECMA 167r3 4/14.10.9) */
|
|
/* Application Use Extended Attribute (ECMA 167r3 4/14.10.9) */
|
|
struct appUseExtAttr {
|
|
struct appUseExtAttr {
|
|
@@ -700,7 +700,7 @@ struct appUseExtAttr {
|
|
__le32 appUseLength;
|
|
__le32 appUseLength;
|
|
struct regid appIdent;
|
|
struct regid appIdent;
|
|
uint8_t appUse[0];
|
|
uint8_t appUse[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
#define EXTATTR_CHAR_SET 1
|
|
#define EXTATTR_CHAR_SET 1
|
|
#define EXTATTR_ALT_PERMS 3
|
|
#define EXTATTR_ALT_PERMS 3
|
|
@@ -716,7 +716,7 @@ struct unallocSpaceEntry {
|
|
struct icbtag icbTag;
|
|
struct icbtag icbTag;
|
|
__le32 lengthAllocDescs;
|
|
__le32 lengthAllocDescs;
|
|
uint8_t allocDescs[0];
|
|
uint8_t allocDescs[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Space Bitmap Descriptor (ECMA 167r3 4/14.12) */
|
|
/* Space Bitmap Descriptor (ECMA 167r3 4/14.12) */
|
|
struct spaceBitmapDesc {
|
|
struct spaceBitmapDesc {
|
|
@@ -724,7 +724,7 @@ struct spaceBitmapDesc {
|
|
__le32 numOfBits;
|
|
__le32 numOfBits;
|
|
__le32 numOfBytes;
|
|
__le32 numOfBytes;
|
|
uint8_t bitmap[0];
|
|
uint8_t bitmap[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Partition Integrity Entry (ECMA 167r3 4/14.13) */
|
|
/* Partition Integrity Entry (ECMA 167r3 4/14.13) */
|
|
struct partitionIntegrityEntry {
|
|
struct partitionIntegrityEntry {
|
|
@@ -735,7 +735,7 @@ struct partitionIntegrityEntry {
|
|
uint8_t reserved[175];
|
|
uint8_t reserved[175];
|
|
struct regid impIdent;
|
|
struct regid impIdent;
|
|
uint8_t impUse[256];
|
|
uint8_t impUse[256];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Short Allocation Descriptor (ECMA 167r3 4/14.14.1) */
|
|
/* Short Allocation Descriptor (ECMA 167r3 4/14.14.1) */
|
|
|
|
|
|
@@ -753,7 +753,7 @@ struct partitionIntegrityEntry {
|
|
struct logicalVolHeaderDesc {
|
|
struct logicalVolHeaderDesc {
|
|
__le64 uniqueID;
|
|
__le64 uniqueID;
|
|
uint8_t reserved[24];
|
|
uint8_t reserved[24];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* Path Component (ECMA 167r3 4/14.16.1) */
|
|
/* Path Component (ECMA 167r3 4/14.16.1) */
|
|
struct pathComponent {
|
|
struct pathComponent {
|
|
@@ -761,7 +761,7 @@ struct pathComponent {
|
|
uint8_t lengthComponentIdent;
|
|
uint8_t lengthComponentIdent;
|
|
__le16 componentFileVersionNum;
|
|
__le16 componentFileVersionNum;
|
|
dstring componentIdent[0];
|
|
dstring componentIdent[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
/* File Entry (ECMA 167r3 4/14.17) */
|
|
/* File Entry (ECMA 167r3 4/14.17) */
|
|
struct extendedFileEntry {
|
|
struct extendedFileEntry {
|
|
@@ -791,6 +791,6 @@ struct extendedFileEntry {
|
|
__le32 lengthAllocDescs;
|
|
__le32 lengthAllocDescs;
|
|
uint8_t extendedAttr[0];
|
|
uint8_t extendedAttr[0];
|
|
uint8_t allocDescs[0];
|
|
uint8_t allocDescs[0];
|
|
-} __attribute__ ((packed));
|
|
|
|
|
|
+} __packed;
|
|
|
|
|
|
#endif /* _ECMA_167_H */
|
|
#endif /* _ECMA_167_H */
|