]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/udf/ecma_167.h
fat: document additional vfat mount options
[linux-2.6-omap-h63xx.git] / fs / udf / ecma_167.h
index 294ce2daa03a741bad355a024130b08fd3f2351f..a0974df82b318b27d2be5e772eb5cf276f6658e1 100644 (file)
@@ -39,8 +39,8 @@
 
 /* Character set specification (ECMA 167r3 1/7.2.1) */
 typedef struct {
-       uint8_t charSetType;
-       uint8_t charSetInfo[63];
+       uint8_t         charSetType;
+       uint8_t         charSetInfo[63];
 } __attribute__ ((packed)) charspec;
 
 /* Character Set Type (ECMA 167r3 1/7.2.1.1) */
@@ -54,35 +54,22 @@ typedef struct {
 #define CHARSPEC_TYPE_CS7              0x07    /* (1/7.2.9) */
 #define CHARSPEC_TYPE_CS8              0x08    /* (1/7.2.10) */
 
-typedef uint8_t dstring;
+typedef uint8_t                dstring;
 
 /* Timestamp (ECMA 167r3 1/7.3) */
 typedef struct {
-       __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;
+       __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;
 } __attribute__ ((packed)) timestamp;
 
-typedef struct {
-       uint16_t typeAndTimezone;
-       int16_t 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;
-} __attribute__ ((packed)) kernel_timestamp;
-
 /* Type and Time Zone (ECMA 167r3 1/7.3.1) */
 #define TIMESTAMP_TYPE_MASK            0xF000
 #define TIMESTAMP_TYPE_CUT             0x0000
@@ -92,9 +79,9 @@ typedef struct {
 
 /* Entity identifier (ECMA 167r3 1/7.4) */
 typedef struct {
-       uint8_t flags;
-       uint8_t ident[23];
-       uint8_t identSuffix[8];
+       uint8_t         flags;
+       uint8_t         ident[23];
+       uint8_t         identSuffix[8];
 } __attribute__ ((packed)) regid;
 
 /* Flags (ECMA 167r3 1/7.4.1) */
@@ -104,10 +91,10 @@ typedef struct {
 /* 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];
+       uint8_t         structType;
+       uint8_t         stdIdent[VSD_STD_ID_LEN];
+       uint8_t         structVersion;
+       uint8_t         structData[2041];
 } __attribute__ ((packed));
 
 /* Standard Identifier (EMCA 167r2 2/9.1.2) */
@@ -123,36 +110,36 @@ struct volStructDesc {
 
 /* 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];
+       uint8_t         structType;
+       uint8_t         stdIdent[VSD_STD_ID_LEN];
+       uint8_t         structVersion;
+       uint8_t         structData[2041];
 } __attribute__ ((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];
+       uint8_t         structType;
+       uint8_t         stdIdent[VSD_STD_ID_LEN];
+       uint8_t         structVersion;
+       uint8_t         structData[2041];
 } __attribute__ ((packed));
 
 /* Boot Descriptor (ECMA 167r3 2/9.4) */
 struct bootDesc {
-       uint8_t structType;
-       uint8_t stdIdent[VSD_STD_ID_LEN];
-       uint8_t structVersion;
-       uint8_t reserved1;
-       regid archType;
-       regid bootIdent;
-       __le32 bootExtLocation;
-       __le32 bootExtLength;
-       __le64 loadAddress;
-       __le64 startAddress;
-       timestamp descCreationDateAndTime;
-       __le16 flags;
-       uint8_t reserved2[32];
-       uint8_t bootUse[1906];
+       uint8_t         structType;
+       uint8_t         stdIdent[VSD_STD_ID_LEN];
+       uint8_t         structVersion;
+       uint8_t         reserved1;
+       regid           archType;
+       regid           bootIdent;
+       __le32          bootExtLocation;
+       __le32          bootExtLength;
+       __le64          loadAddress;
+       __le64          startAddress;
+       timestamp       descCreationDateAndTime;
+       __le16          flags;
+       uint8_t         reserved2[32];
+       uint8_t         bootUse[1906];
 } __attribute__ ((packed));
 
 /* Flags (ECMA 167r3 2/9.4.12) */
@@ -160,25 +147,25 @@ struct bootDesc {
 
 /* Extent Descriptor (ECMA 167r3 3/7.1) */
 typedef struct {
-       __le32 extLength;
-       __le32 extLocation;
+       __le32          extLength;
+       __le32          extLocation;
 } __attribute__ ((packed)) extent_ad;
 
 typedef struct {
-       uint32_t extLength;
-       uint32_t extLocation;
+       uint32_t        extLength;
+       uint32_t        extLocation;
 } kernel_extent_ad;
 
 /* Descriptor Tag (ECMA 167r3 3/7.2) */
 typedef struct {
-       __le16 tagIdent;
-       __le16 descVersion;
-       uint8_t tagChecksum;
-       uint8_t reserved;
-       __le16 tagSerialNum;
-       __le16 descCRC;
-       __le16 descCRCLength;
-       __le32 tagLocation;
+       __le16          tagIdent;
+       __le16          descVersion;
+       uint8_t         tagChecksum;
+       uint8_t         reserved;
+       __le16          tagSerialNum;
+       __le16          descCRC;
+       __le16          descCRCLength;
+       __le32          tagLocation;
 } __attribute__ ((packed)) tag;
 
 /* Tag Identifier (ECMA 167r3 3/7.2.1) */
@@ -194,37 +181,37 @@ typedef struct {
 
 /* NSR Descriptor (ECMA 167r3 3/9.1) */
 struct NSRDesc {
-       uint8_t structType;
-       uint8_t stdIdent[VSD_STD_ID_LEN];
-       uint8_t structVersion;
-       uint8_t reserved;
-       uint8_t structData[2040];
+       uint8_t         structType;
+       uint8_t         stdIdent[VSD_STD_ID_LEN];
+       uint8_t         structVersion;
+       uint8_t         reserved;
+       uint8_t         structData[2040];
 } __attribute__ ((packed));
 
 /* Primary Volume Descriptor (ECMA 167r3 3/10.1) */
 struct primaryVolDesc {
-       tag descTag;
-       __le32 volDescSeqNum;
-       __le32 primaryVolDescNum;
-       dstring volIdent[32];
-       __le16 volSeqNum;
-       __le16 maxVolSeqNum;
-       __le16 interchangeLvl;
-       __le16 maxInterchangeLvl;
-       __le32 charSetList;
-       __le32 maxCharSetList;
-       dstring volSetIdent[128];
-       charspec descCharSet;
-       charspec explanatoryCharSet;
-       extent_ad volAbstract;
-       extent_ad volCopyright;
-       regid appIdent;
-       timestamp recordingDateAndTime;
-       regid impIdent;
-       uint8_t impUse[64];
-       __le32 predecessorVolDescSeqLocation;
-       __le16 flags;
-       uint8_t reserved[22];
+       tag             descTag;
+       __le32          volDescSeqNum;
+       __le32          primaryVolDescNum;
+       dstring         volIdent[32];
+       __le16          volSeqNum;
+       __le16          maxVolSeqNum;
+       __le16          interchangeLvl;
+       __le16          maxInterchangeLvl;
+       __le32          charSetList;
+       __le32          maxCharSetList;
+       dstring         volSetIdent[128];
+       charspec        descCharSet;
+       charspec        explanatoryCharSet;
+       extent_ad       volAbstract;
+       extent_ad       volCopyright;
+       regid           appIdent;
+       timestamp       recordingDateAndTime;
+       regid           impIdent;
+       uint8_t         impUse[64];
+       __le32          predecessorVolDescSeqLocation;
+       __le16          flags;
+       uint8_t         reserved[22];
 } __attribute__ ((packed));
 
 /* Flags (ECMA 167r3 3/10.1.21) */
@@ -232,26 +219,26 @@ struct primaryVolDesc {
 
 /* Anchor Volume Descriptor Pointer (ECMA 167r3 3/10.2) */
 struct anchorVolDescPtr {
-       tag descTag;
-       extent_ad mainVolDescSeqExt;
-       extent_ad reserveVolDescSeqExt;
-       uint8_t reserved[480];
+       tag             descTag;
+       extent_ad       mainVolDescSeqExt;
+       extent_ad       reserveVolDescSeqExt;
+       uint8_t         reserved[480];
 } __attribute__ ((packed));
 
 /* Volume Descriptor Pointer (ECMA 167r3 3/10.3) */
 struct volDescPtr {
-       tag descTag;
-       __le32 volDescSeqNum;
-       extent_ad nextVolDescSeqExt;
-       uint8_t reserved[484];
+       tag             descTag;
+       __le32          volDescSeqNum;
+       extent_ad       nextVolDescSeqExt;
+       uint8_t         reserved[484];
 } __attribute__ ((packed));
 
 /* Implementation Use Volume Descriptor (ECMA 167r3 3/10.4) */
 struct impUseVolDesc {
-       tag descTag;
-       __le32 volDescSeqNum;
-       regid impIdent;
-       uint8_t impUse[460];
+       tag             descTag;
+       __le32          volDescSeqNum;
+       regid           impIdent;
+       uint8_t         impUse[460];
 } __attribute__ ((packed));
 
 /* Partition Descriptor (ECMA 167r3 3/10.5) */
@@ -291,26 +278,26 @@ struct partitionDesc {
 
 /* Logical Volume Descriptor (ECMA 167r3 3/10.6) */
 struct logicalVolDesc {
-       tag descTag;
-       __le32 volDescSeqNum;
-       charspec descCharSet;
-       dstring logicalVolIdent[128];
-       __le32 logicalBlockSize;
-       regid domainIdent;
-       uint8_t logicalVolContentsUse[16];
-       __le32 mapTableLength;
-       __le32 numPartitionMaps;
-       regid impIdent;
-       uint8_t impUse[128];
-       extent_ad integritySeqExt;
-       uint8_t partitionMaps[0];
+       tag             descTag;
+       __le32          volDescSeqNum;
+       charspec        descCharSet;
+       dstring         logicalVolIdent[128];
+       __le32          logicalBlockSize;
+       regid           domainIdent;
+       uint8_t         logicalVolContentsUse[16];
+       __le32          mapTableLength;
+       __le32          numPartitionMaps;
+       regid           impIdent;
+       uint8_t         impUse[128];
+       extent_ad       integritySeqExt;
+       uint8_t         partitionMaps[0];
 } __attribute__ ((packed));
 
 /* Generic Partition Map (ECMA 167r3 3/10.7.1) */
 struct genericPartitionMap {
-       uint8_t partitionMapType;
-       uint8_t partitionMapLength;
-       uint8_t partitionMapping[0];
+       uint8_t         partitionMapType;
+       uint8_t         partitionMapLength;
+       uint8_t         partitionMapping[0];
 } __attribute__ ((packed));
 
 /* Partition Map Type (ECMA 167r3 3/10.7.1.1) */
@@ -320,45 +307,45 @@ struct genericPartitionMap {
 
 /* Type 1 Partition Map (ECMA 167r3 3/10.7.2) */
 struct genericPartitionMap1 {
-       uint8_t partitionMapType;
-       uint8_t partitionMapLength;
-       __le16 volSeqNum;
-       __le16 partitionNum;
+       uint8_t         partitionMapType;
+       uint8_t         partitionMapLength;
+       __le16          volSeqNum;
+       __le16          partitionNum;
 } __attribute__ ((packed));
 
 /* Type 2 Partition Map (ECMA 167r3 3/10.7.3) */
 struct genericPartitionMap2 {
-       uint8_t partitionMapType;
-       uint8_t partitionMapLength;
-       uint8_t partitionIdent[62];
+       uint8_t         partitionMapType;
+       uint8_t         partitionMapLength;
+       uint8_t         partitionIdent[62];
 } __attribute__ ((packed));
 
 /* Unallocated Space Descriptor (ECMA 167r3 3/10.8) */
 struct unallocSpaceDesc {
-       tag descTag;
-       __le32 volDescSeqNum;
-       __le32 numAllocDescs;
-       extent_ad allocDescs[0];
+       tag             descTag;
+       __le32          volDescSeqNum;
+       __le32          numAllocDescs;
+       extent_ad       allocDescs[0];
 } __attribute__ ((packed));
 
 /* Terminating Descriptor (ECMA 167r3 3/10.9) */
 struct terminatingDesc {
-       tag descTag;
-       uint8_t reserved[496];
+       tag             descTag;
+       uint8_t         reserved[496];
 } __attribute__ ((packed));
 
 /* Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10) */
 struct logicalVolIntegrityDesc {
-       tag descTag;
-       timestamp recordingDateAndTime;
-       __le32 integrityType;
-       extent_ad nextIntegrityExt;
-       uint8_t logicalVolContentsUse[32];
-       __le32 numOfPartitions;
-       __le32 lengthOfImpUse;
-       __le32 freeSpaceTable[0];
-       __le32 sizeTable[0];
-       uint8_t impUse[0];
+       tag             descTag;
+       timestamp       recordingDateAndTime;
+       __le32          integrityType;
+       extent_ad       nextIntegrityExt;
+       uint8_t         logicalVolContentsUse[32];
+       __le32          numOfPartitions;
+       __le32          lengthOfImpUse;
+       __le32          freeSpaceTable[0];
+       __le32          sizeTable[0];
+       uint8_t         impUse[0];
 } __attribute__ ((packed));
 
 /* Integrity Type (ECMA 167r3 3/10.10.3) */
@@ -367,48 +354,48 @@ struct logicalVolIntegrityDesc {
 
 /* Recorded Address (ECMA 167r3 4/7.1) */
 typedef struct {
-       __le32 logicalBlockNum;
-       __le16 partitionReferenceNum;
+       __le32          logicalBlockNum;
+       __le16          partitionReferenceNum;
 } __attribute__ ((packed)) lb_addr;
 
 /* ... and its in-core analog */
 typedef struct {
-       uint32_t logicalBlockNum;
-       uint16_t partitionReferenceNum;
+       uint32_t                logicalBlockNum;
+       uint16_t                partitionReferenceNum;
 } kernel_lb_addr;
 
 /* Short Allocation Descriptor (ECMA 167r3 4/14.14.1) */
 typedef struct {
-       __le32 extLength;
-       __le32 extPosition;
+        __le32         extLength;
+        __le32         extPosition;
 } __attribute__ ((packed)) short_ad;
 
 /* Long Allocation Descriptor (ECMA 167r3 4/14.14.2) */
 typedef struct {
-       __le32 extLength;
-       lb_addr extLocation;
-       uint8_t impUse[6];
+       __le32          extLength;
+       lb_addr         extLocation;
+       uint8_t         impUse[6];
 } __attribute__ ((packed)) long_ad;
 
 typedef struct {
-       uint32_t extLength;
-       kernel_lb_addr extLocation;
-       uint8_t impUse[6];
+       uint32_t        extLength;
+       kernel_lb_addr  extLocation;
+       uint8_t         impUse[6];
 } kernel_long_ad;
 
 /* Extended Allocation Descriptor (ECMA 167r3 4/14.14.3) */
 typedef struct {
-       __le32 extLength;
-       __le32 recordedLength;
-       __le32 informationLength;
-       lb_addr extLocation;
+       __le32          extLength;
+       __le32          recordedLength;
+       __le32          informationLength;
+       lb_addr         extLocation;
 } __attribute__ ((packed)) ext_ad;
 
 typedef struct {
-       uint32_t extLength;
-       uint32_t recordedLength;
-       uint32_t informationLength;
-       kernel_lb_addr extLocation;
+       uint32_t        extLength;
+       uint32_t        recordedLength;
+       uint32_t        informationLength;
+       kernel_lb_addr  extLocation;
 } kernel_ext_ad;
 
 /* Descriptor Tag (ECMA 167r3 4/7.2 - See 3/7.2) */
@@ -428,48 +415,48 @@ typedef struct {
 
 /* File Set Descriptor (ECMA 167r3 4/14.1) */
 struct fileSetDesc {
-       tag descTag;
-       timestamp recordingDateAndTime;
-       __le16 interchangeLvl;
-       __le16 maxInterchangeLvl;
-       __le32 charSetList;
-       __le32 maxCharSetList;
-       __le32 fileSetNum;
-       __le32 fileSetDescNum;
-       charspec logicalVolIdentCharSet;
-       dstring logicalVolIdent[128];
-       charspec fileSetCharSet;
-       dstring fileSetIdent[32];
-       dstring copyrightFileIdent[32];
-       dstring abstractFileIdent[32];
-       long_ad rootDirectoryICB;
-       regid domainIdent;
-       long_ad nextExt;
-       long_ad streamDirectoryICB;
-       uint8_t reserved[32];
+       tag             descTag;
+       timestamp       recordingDateAndTime;
+       __le16          interchangeLvl;
+       __le16          maxInterchangeLvl;
+       __le32          charSetList;
+       __le32          maxCharSetList;
+       __le32          fileSetNum;
+       __le32          fileSetDescNum;
+       charspec        logicalVolIdentCharSet;
+       dstring         logicalVolIdent[128];
+       charspec        fileSetCharSet;
+       dstring         fileSetIdent[32];
+       dstring         copyrightFileIdent[32];
+       dstring         abstractFileIdent[32];
+       long_ad         rootDirectoryICB;
+       regid           domainIdent;
+       long_ad         nextExt;
+       long_ad         streamDirectoryICB;
+       uint8_t         reserved[32];
 } __attribute__ ((packed));
 
 /* Partition Header Descriptor (ECMA 167r3 4/14.3) */
 struct partitionHeaderDesc {
-       short_ad unallocSpaceTable;
-       short_ad unallocSpaceBitmap;
-       short_ad partitionIntegrityTable;
-       short_ad freedSpaceTable;
-       short_ad freedSpaceBitmap;
-       uint8_t reserved[88];
+       short_ad        unallocSpaceTable;
+       short_ad        unallocSpaceBitmap;
+       short_ad        partitionIntegrityTable;
+       short_ad        freedSpaceTable;
+       short_ad        freedSpaceBitmap;
+       uint8_t         reserved[88];
 } __attribute__ ((packed));
 
 /* File Identifier Descriptor (ECMA 167r3 4/14.4) */
 struct fileIdentDesc {
-       tag descTag;
-       __le16 fileVersionNum;
-       uint8_t fileCharacteristics;
-       uint8_t lengthFileIdent;
-       long_ad icb;
-       __le16 lengthOfImpUse;
-       uint8_t impUse[0];
-       uint8_t fileIdent[0];
-       uint8_t padding[0];
+       tag             descTag;
+       __le16          fileVersionNum;
+       uint8_t         fileCharacteristics;
+       uint8_t         lengthFileIdent;
+       long_ad         icb;
+       __le16          lengthOfImpUse;
+       uint8_t         impUse[0];
+       uint8_t         fileIdent[0];
+       uint8_t         padding[0];
 } __attribute__ ((packed));
 
 /* File Characteristics (ECMA 167r3 4/14.4.3) */
@@ -481,21 +468,21 @@ struct fileIdentDesc {
 
 /* Allocation Ext Descriptor (ECMA 167r3 4/14.5) */
 struct allocExtDesc {
-       tag descTag;
-       __le32 previousAllocExtLocation;
-       __le32 lengthAllocDescs;
+       tag             descTag;
+       __le32          previousAllocExtLocation;
+       __le32          lengthAllocDescs;
 } __attribute__ ((packed));
 
 /* ICB Tag (ECMA 167r3 4/14.6) */
 typedef struct {
-       __le32 priorRecordedNumDirectEntries;
-       __le16 strategyType;
-       __le16 strategyParameter;
-       __le16 numEntries;
-       uint8_t reserved;
-       uint8_t fileType;
-       lb_addr parentICBLocation;
-       __le16 flags;
+       __le32          priorRecordedNumDirectEntries;
+       __le16          strategyType;
+       __le16          strategyParameter;
+       __le16          numEntries;
+       uint8_t         reserved;
+       uint8_t         fileType;
+       lb_addr         parentICBLocation;
+       __le16          flags;
 } __attribute__ ((packed)) icbtag;
 
 /* Strategy Type (ECMA 167r3 4/14.6.2) */
@@ -541,41 +528,41 @@ typedef struct {
 
 /* Indirect Entry (ECMA 167r3 4/14.7) */
 struct indirectEntry {
-       tag descTag;
-       icbtag icbTag;
-       long_ad indirectICB;
+       tag             descTag;
+       icbtag          icbTag;
+       long_ad         indirectICB;
 } __attribute__ ((packed));
 
 /* Terminal Entry (ECMA 167r3 4/14.8) */
 struct terminalEntry {
-       tag descTag;
-       icbtag icbTag;
+       tag             descTag;
+       icbtag          icbTag;
 } __attribute__ ((packed));
 
 /* File Entry (ECMA 167r3 4/14.9) */
 struct fileEntry {
-       tag descTag;
-       icbtag icbTag;
-       __le32 uid;
-       __le32 gid;
-       __le32 permissions;
-       __le16 fileLinkCount;
-       uint8_t recordFormat;
-       uint8_t recordDisplayAttr;
-       __le32 recordLength;
-       __le64 informationLength;
-       __le64 logicalBlocksRecorded;
-       timestamp accessTime;
-       timestamp modificationTime;
-       timestamp attrTime;
-       __le32 checkpoint;
-       long_ad extendedAttrICB;
-       regid impIdent;
-       __le64 uniqueID;
-       __le32 lengthExtendedAttr;
-       __le32 lengthAllocDescs;
-       uint8_t extendedAttr[0];
-       uint8_t allocDescs[0];
+       tag             descTag;
+       icbtag          icbTag;
+       __le32          uid;
+       __le32          gid;
+       __le32          permissions;
+       __le16          fileLinkCount;
+       uint8_t         recordFormat;
+       uint8_t         recordDisplayAttr;
+       __le32          recordLength;
+       __le64          informationLength;
+       __le64          logicalBlocksRecorded;
+       timestamp       accessTime;
+       timestamp       modificationTime;
+       timestamp       attrTime;
+       __le32          checkpoint;
+       long_ad         extendedAttrICB;
+       regid           impIdent;
+       __le64          uniqueID;
+       __le32          lengthExtendedAttr;
+       __le32          lengthAllocDescs;
+       uint8_t         extendedAttr[0];
+       uint8_t         allocDescs[0];
 } __attribute__ ((packed));
 
 /* Permissions (ECMA 167r3 4/14.9.5) */
@@ -617,51 +604,51 @@ struct fileEntry {
 
 /* Extended Attribute Header Descriptor (ECMA 167r3 4/14.10.1) */
 struct extendedAttrHeaderDesc {
-       tag descTag;
-       __le32 impAttrLocation;
-       __le32 appAttrLocation;
+       tag             descTag;
+       __le32          impAttrLocation;
+       __le32          appAttrLocation;
 } __attribute__ ((packed));
 
 /* Generic Format (ECMA 167r3 4/14.10.2) */
 struct genericFormat {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       uint8_t attrData[0];
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       uint8_t         attrData[0];
 } __attribute__ ((packed));
 
 /* Character Set Information (ECMA 167r3 4/14.10.3) */
 struct charSetInfo {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le32 escapeSeqLength;
-       uint8_t charSetType;
-       uint8_t escapeSeq[0];
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le32          escapeSeqLength;
+       uint8_t         charSetType;
+       uint8_t         escapeSeq[0];
 } __attribute__ ((packed));
 
 /* Alternate Permissions (ECMA 167r3 4/14.10.4) */
 struct altPerms {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le16 ownerIdent;
-       __le16 groupIdent;
-       __le16 permission;
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le16          ownerIdent;
+       __le16          groupIdent;
+       __le16          permission;
 } __attribute__ ((packed));
 
 /* File Times Extended Attribute (ECMA 167r3 4/14.10.5) */
 struct fileTimesExtAttr {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le32 dataLength;
-       __le32 fileTimeExistence;
-       uint8_t fileTimes;
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le32          dataLength;
+       __le32          fileTimeExistence;
+       uint8_t         fileTimes;
 } __attribute__ ((packed));
 
 /* FileTimeExistence (ECMA 167r3 4/14.10.5.6) */
@@ -672,47 +659,47 @@ struct fileTimesExtAttr {
 
 /* Information Times Extended Attribute (ECMA 167r3 4/14.10.6) */
 struct infoTimesExtAttr {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le32 dataLength;
-       __le32 infoTimeExistence;
-       uint8_t infoTimes[0];
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le32          dataLength;
+       __le32          infoTimeExistence;
+       uint8_t         infoTimes[0];
 } __attribute__ ((packed));
 
 /* Device Specification (ECMA 167r3 4/14.10.7) */
 struct deviceSpec {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le32 impUseLength;
-       __le32 majorDeviceIdent;
-       __le32 minorDeviceIdent;
-       uint8_t impUse[0];
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le32          impUseLength;
+       __le32          majorDeviceIdent;
+       __le32          minorDeviceIdent;
+       uint8_t         impUse[0];
 } __attribute__ ((packed));
 
 /* Implementation Use Extended Attr (ECMA 167r3 4/14.10.8) */
 struct impUseExtAttr {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le32 impUseLength;
-       regid impIdent;
-       uint8_t impUse[0];
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le32          impUseLength;
+       regid           impIdent;
+       uint8_t         impUse[0];
 } __attribute__ ((packed));
 
 /* Application Use Extended Attribute (ECMA 167r3 4/14.10.9) */
 struct appUseExtAttr {
-       __le32 attrType;
-       uint8_t attrSubtype;
-       uint8_t reserved[3];
-       __le32 attrLength;
-       __le32 appUseLength;
-       regid appIdent;
-       uint8_t appUse[0];
+       __le32          attrType;
+       uint8_t         attrSubtype;
+       uint8_t         reserved[3];
+       __le32          attrLength;
+       __le32          appUseLength;
+       regid           appIdent;
+       uint8_t         appUse[0];
 } __attribute__ ((packed));
 
 #define EXTATTR_CHAR_SET               1
@@ -725,29 +712,29 @@ struct appUseExtAttr {
 
 /* Unallocated Space Entry (ECMA 167r3 4/14.11) */
 struct unallocSpaceEntry {
-       tag descTag;
-       icbtag icbTag;
-       __le32 lengthAllocDescs;
-       uint8_t allocDescs[0];
+       tag             descTag;
+       icbtag          icbTag;
+       __le32          lengthAllocDescs;
+       uint8_t         allocDescs[0];
 } __attribute__ ((packed));
 
 /* Space Bitmap Descriptor (ECMA 167r3 4/14.12) */
 struct spaceBitmapDesc {
-       tag descTag;
-       __le32 numOfBits;
-       __le32 numOfBytes;
-       uint8_t bitmap[0];
+       tag             descTag;
+       __le32          numOfBits;
+       __le32          numOfBytes;
+       uint8_t         bitmap[0];
 } __attribute__ ((packed));
 
 /* Partition Integrity Entry (ECMA 167r3 4/14.13) */
 struct partitionIntegrityEntry {
-       tag descTag;
-       icbtag icbTag;
-       timestamp recordingDateAndTime;
-       uint8_t integrityType;
-       uint8_t reserved[175];
-       regid impIdent;
-       uint8_t impUse[256];
+       tag             descTag;
+       icbtag          icbTag;
+       timestamp       recordingDateAndTime;
+       uint8_t         integrityType;
+       uint8_t         reserved[175];
+       regid           impIdent;
+       uint8_t         impUse[256];
 } __attribute__ ((packed));
 
 /* Short Allocation Descriptor (ECMA 167r3 4/14.14.1) */
@@ -764,46 +751,46 @@ struct partitionIntegrityEntry {
 
 /* Logical Volume Header Descriptor (ECMA 167r3 4/14.15) */
 struct logicalVolHeaderDesc {
-       __le64 uniqueID;
-       uint8_t reserved[24];
+       __le64          uniqueID;
+       uint8_t         reserved[24];
 } __attribute__ ((packed));
 
 /* Path Component (ECMA 167r3 4/14.16.1) */
 struct pathComponent {
-       uint8_t componentType;
-       uint8_t lengthComponentIdent;
-       __le16 componentFileVersionNum;
-       dstring componentIdent[0];
+       uint8_t         componentType;
+       uint8_t         lengthComponentIdent;
+       __le16          componentFileVersionNum;
+       dstring         componentIdent[0];
 } __attribute__ ((packed));
 
 /* File Entry (ECMA 167r3 4/14.17) */
 struct extendedFileEntry {
-       tag descTag;
-       icbtag icbTag;
-       __le32 uid;
-       __le32 gid;
-       __le32 permissions;
-       __le16 fileLinkCount;
-       uint8_t recordFormat;
-       uint8_t recordDisplayAttr;
-       __le32 recordLength;
-       __le64 informationLength;
-       __le64 objectSize;
-       __le64 logicalBlocksRecorded;
-       timestamp accessTime;
-       timestamp modificationTime;
-       timestamp createTime;
-       timestamp attrTime;
-       __le32 checkpoint;
-       __le32 reserved;
-       long_ad extendedAttrICB;
-       long_ad streamDirectoryICB;
-       regid impIdent;
-       __le64 uniqueID;
-       __le32 lengthExtendedAttr;
-       __le32 lengthAllocDescs;
-       uint8_t extendedAttr[0];
-       uint8_t allocDescs[0];
-} __attribute__ ((packed));
-
-#endif                         /* _ECMA_167_H */
+       tag             descTag;
+       icbtag          icbTag;
+       __le32          uid;
+       __le32          gid;
+       __le32          permissions;
+       __le16          fileLinkCount;
+       uint8_t         recordFormat;
+       uint8_t         recordDisplayAttr;
+       __le32          recordLength;
+       __le64          informationLength;
+       __le64          objectSize;
+       __le64          logicalBlocksRecorded;
+       timestamp       accessTime;
+       timestamp       modificationTime;
+       timestamp       createTime;
+       timestamp       attrTime;
+       __le32          checkpoint;
+       __le32          reserved;
+       long_ad         extendedAttrICB;
+       long_ad         streamDirectoryICB;
+       regid           impIdent;
+       __le64          uniqueID;
+       __le32          lengthExtendedAttr;
+       __le32          lengthAllocDescs;
+       uint8_t         extendedAttr[0];
+       uint8_t         allocDescs[0];
+} __attribute__ ((packed));
+
+#endif /* _ECMA_167_H */