From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 43E7321E94613 for ; Sun, 17 Sep 2017 17:25:49 -0700 (PDT) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Sep 2017 17:28:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,410,1500966000"; d="scan'208";a="312728099" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga004.fm.intel.com with ESMTP; 17 Sep 2017 17:28:51 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 17 Sep 2017 17:28:51 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 17 Sep 2017 17:28:51 -0700 Received: from shsmsx151.ccr.corp.intel.com ([169.254.3.98]) by shsmsx102.ccr.corp.intel.com ([169.254.2.175]) with mapi id 14.03.0319.002; Mon, 18 Sep 2017 08:28:49 +0800 From: "Ni, Ruiyu" To: Paulo Alcantara , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Gao, Liming" , Laszlo Ersek Thread-Topic: [PATCH v2 1/3] MdePkg: Add UDF volume structure definitions Thread-Index: AQHTL7bVJ2MQuz9N006GUJ2eq5KI5KK5yLWw Date: Mon, 18 Sep 2017 00:28:48 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BA4413A@SHSMSX151.ccr.corp.intel.com> References: <37b896c68ff32f81de986b0997f309325bd6ca67.1505653040.git.pcacjr@zytor.com> In-Reply-To: <37b896c68ff32f81de986b0997f309325bd6ca67.1505653040.git.pcacjr@zytor.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2 1/3] MdePkg: Add UDF volume structure definitions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Sep 2017 00:25:49 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable #define _GET_TAG_ID(_Pointer) \ (((UDF_DESCRIPTOR_TAG *)(_Pointer))->TagIdentifier) #define IS_PD(_Pointer) \ ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 5)) #define IS_LVD(_Pointer) \ ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 6)) #define IS_TD(_Pointer) \ ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 8)) #define IS_AVDP(_Pointer) \ ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 2)) Paulo, If you take a look at Pci22.h in the same directory, all macros are started as "IS_PCI_". How about changing the above IS_xxx to IS_UDF_xxx? Shall we change AVDP to AVD, following the same naming style as PD, LVD and= TD? How about changing _Pointer to _Tag or DescriptorTag? Thanks/Ray > -----Original Message----- > From: Paulo Alcantara [mailto:pcacjr@zytor.com] > Sent: Sunday, September 17, 2017 9:13 PM > To: edk2-devel@lists.01.org > Cc: Paulo Alcantara ; Kinney, Michael D > ; Gao, Liming ; Laszlo > Ersek ; Ni, Ruiyu > Subject: [PATCH v2 1/3] MdePkg: Add UDF volume structure definitions >=20 > This patch adds a fewe more UDF structures in order to detect Logical > Volume and Partition descriptors during Main Volume Descriptor Sequence > in Partition driver. >=20 > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Laszlo Ersek > Cc: Ruiyu Ni > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Paulo Alcantara > --- > MdePkg/Include/IndustryStandard/Udf.h | 63 ++++++++++++++++++++ > 1 file changed, 63 insertions(+) >=20 > diff --git a/MdePkg/Include/IndustryStandard/Udf.h > b/MdePkg/Include/IndustryStandard/Udf.h > index 0febb4bcda..6cc42f8543 100644 > --- a/MdePkg/Include/IndustryStandard/Udf.h > +++ b/MdePkg/Include/IndustryStandard/Udf.h > @@ -27,9 +27,19 @@ > #define _GET_TAG_ID(_Pointer) \ > (((UDF_DESCRIPTOR_TAG *)(_Pointer))->TagIdentifier) >=20 > +#define IS_PD(_Pointer) \ > + ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 5)) #define IS_LVD(_Pointer) = \ > + ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 6)) #define IS_TD(_Pointer) \ > + ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 8)) > + > #define IS_AVDP(_Pointer) \ > ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 2)) >=20 > +#define LV_UDF_REVISION(_Lv) \ > + *(UINT16 *)(UINTN)(_Lv)->DomainIdentifier.IdentifierSuffix > + > #pragma pack(1) >=20 > typedef struct { > @@ -55,6 +65,59 @@ typedef struct { > UINT8 Reserved[480]; > } UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER; >=20 > +typedef struct { > + UINT8 CharacterSetType; > + UINT8 CharacterSetInfo[63]; > +} UDF_CHAR_SPEC; > + > +typedef struct { > + UINT8 Flags; > + UINT8 Identifier[23]; > + UINT8 IdentifierSuffix[8]; > +} UDF_ENTITY_ID; > + > +typedef struct { > + UINT32 LogicalBlockNumber; > + UINT16 PartitionReferenceNumber; > +} UDF_LB_ADDR; > + > +typedef struct { > + UINT32 ExtentLength; > + UDF_LB_ADDR ExtentLocation; > + UINT8 ImplementationUse[6]; > +} UDF_LONG_ALLOCATION_DESCRIPTOR; > + > +typedef struct { > + UDF_DESCRIPTOR_TAG DescriptorTag; > + UINT32 VolumeDescriptorSequenceNumber; > + UDF_CHAR_SPEC DescriptorCharacterSet; > + UINT8 LogicalVolumeIdentifier[128]; > + UINT32 LogicalBlockSize; > + UDF_ENTITY_ID DomainIdentifier; > + UDF_LONG_ALLOCATION_DESCRIPTOR LogicalVolumeContentsUse; > + UINT32 MapTableLength; > + UINT32 NumberOfPartitionMaps; > + UDF_ENTITY_ID ImplementationIdentifier; > + UINT8 ImplementationUse[128]; > + UDF_EXTENT_AD IntegritySequenceExtent; > + UINT8 PartitionMaps[6]; > +} UDF_LOGICAL_VOLUME_DESCRIPTOR; > + > +typedef struct { > + UDF_DESCRIPTOR_TAG DescriptorTag; > + UINT32 VolumeDescriptorSequenceNumber; > + UINT16 PartitionFlags; > + UINT16 PartitionNumber; > + UDF_ENTITY_ID PartitionContents; > + UINT8 PartitionContentsUse[128]; > + UINT32 AccessType; > + UINT32 PartitionStartingLocation; > + UINT32 PartitionLength; > + UDF_ENTITY_ID ImplementationIdentifier; > + UINT8 ImplementationUse[128]; > + UINT8 Reserved[156]; > +} UDF_PARTITION_DESCRIPTOR; > + > #pragma pack() >=20 > #endif > -- > 2.11.0