From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web08.25992.1604289214981621996 for ; Sun, 01 Nov 2020 19:53:35 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=Zc/tBLI9; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=05758cf7e4=nickle.wang@hpe.com) Received: from pps.filterd (m0134421.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0A23p0D8009761; Mon, 2 Nov 2020 03:53:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=B9VJoci2u20Dgsttwcc9dsw6zeRuxC0jePdW1hmxfh0=; b=Zc/tBLI9EwuJi13PaWYnODBVPkI8pCBE7z0A19BNjqHaSbXuNNhWZJO2BRxHzgldqjPg SdKF7Iqbzbf7/om4FadPu2HmnI5Gf0o1T/vCDzSLrP0IHVvWtgNWDvh0DVysAh1tcKBl 46DKxqNiqxX8cJIZf+hNpfgTHseXlxem9QL5uwQoRJMaFfyCwkXeV/UZV9PhRO+kDjui G4RfAY9tWLsdchnUXobxJ4xkANbG64BwXkrMketrz7d0ks3fiP95wW3tKARnLGeGntRH hcwtolJHXP5Pj4xXDwsuvwSoBVNd6NBQ+PaSy8pvXK93f2aHnkKeZf4IBNGt5y8OedM8 AA== Received: from g4t3425.houston.hpe.com (g4t3425.houston.hpe.com [15.241.140.78]) by mx0b-002e3701.pphosted.com with ESMTP id 34hh9we8hd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 02 Nov 2020 03:53:28 +0000 Received: from G2W6309.americas.hpqcorp.net (g2w6309.austin.hp.com [16.197.64.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3425.houston.hpe.com (Postfix) with ESMTPS id 757918D; Mon, 2 Nov 2020 03:53:28 +0000 (UTC) Received: from G4W9121.americas.hpqcorp.net (2002:10d2:1510::10d2:1510) by G2W6309.americas.hpqcorp.net (2002:10c5:4033::10c5:4033) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 2 Nov 2020 03:53:28 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (15.241.52.11) by G4W9121.americas.hpqcorp.net (16.210.21.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 2 Nov 2020 03:53:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V7kloXmhoNUS799RzCTdtkaDN/sfJULntLML7S5uiNM+CuWEBn6b2skja0jeDhbylIMeFK734g/hGe9DHRg+SVNJ9ryUh7IvJ2WukrU/fp6k/GgTyQ31U6qZcdCqwtEAKQH0OWnl9cDMPE6wlbC91hUqmPntmc9xdqGMqhI5HKNBafP/Vsf/Fa13loP4Ed95RTXgG8pftftHTB9QAibJUJcjHe25CUQ/McMVuJaylfLUyYl6HESvW2WQaid0sx/dGTydMitWIy4Ogpc/JB41JCIhVBTsaBmQ/cy52iJ3sqrkMT/+zBFQ1guh9jqh5jW2q7d38GllD3PQwA/J/6fVgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bYrflwpcrHB2Zhr6MLN8c2x6s8DlfXOVp5YoT/XBfB8=; b=V2qhScQl4ZZ8HC/wtA0hISZGajRFxrzpgmmj4ETlOZ7eLaCwmfAZq0n4bX+udij1i59sDz/TxLR9ynTVanc+ew5NAYiHpTpZzGjKRO1HcIbAUQ6ChzLPway1AoPx3gTBuUN4SF1h9YhRrcxosoPBp81cL7dkzth31Ej9ycgfTBI8Dcxn2Ug76RJnU4SeEjJVR/ddwMgpXJ70XBuIdXn1kxao0nwES4LtpVjGRlUr67eDD1LLjB5TfWGhgI+/c7pyuW+2iR1UYXuU4qHPtZ713OvAWvzTENmpV1HC7TKS2gubBxv2cbkUXK+hIjn1GGlY62aRmsoUv9ZuKFV/c3NlHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from DF4PR8401MB0812.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760d::7) by DF4PR8401MB1001.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7612::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.29; Mon, 2 Nov 2020 03:53:22 +0000 Received: from DF4PR8401MB0812.NAMPRD84.PROD.OUTLOOK.COM ([fe80::c9cf:9c73:a8a5:331b]) by DF4PR8401MB0812.NAMPRD84.PROD.OUTLOOK.COM ([fe80::c9cf:9c73:a8a5:331b%12]) with mapi id 15.20.3499.030; Mon, 2 Nov 2020 03:53:22 +0000 From: "Nickle Wang" To: "Chang, Abner (HPS SW/FW Technologist)" , "devel@edk2.groups.io" CC: Michael D Kinney , Liming Gao , Zhiguang Liu , Jiaxin Wu , Siyuan Fu , Fan Wang , Jiewen Yao Subject: Re: [RestJsonStructureDxe PATCH v3 1/3] MdePkg/Include: Definitions of EFI REST JSON Structure Protocol Thread-Topic: [RestJsonStructureDxe PATCH v3 1/3] MdePkg/Include: Definitions of EFI REST JSON Structure Protocol Thread-Index: AQHWoxEEyTyl3GFKqkyXM1+6COUWwamuOVSggAE5I2CABN6/cA== Date: Mon, 2 Nov 2020 03:53:22 +0000 Message-ID: References: <20201015154928.16211-1-abner.chang@hpe.com> <20201015154928.16211-2-abner.chang@hpe.com> In-Reply-To: Accept-Language: zh-TW, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: hpe.com; dkim=none (message not signed) header.d=none;hpe.com; dmarc=none action=none header.from=hpe.com; x-originating-ip: [61.231.93.25] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: ff19a206-2b0f-46fb-69dd-08d87ee2d846 x-ms-traffictypediagnostic: DF4PR8401MB1001: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:51; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HSFWaTkivv6no+FaDVIj79MhkZ05+DMeS3LkVDMRCrtrAwb38o4gkbf5V5PY+hsjjRtwik3b4Nwp/fCXXV8IIZK6hWdo5H12sO7Ae8tuM7wWUNHtRi8PCDtHTNe6Z5lThx/vJTfV6Y4BY9CQsIxMugg+c7UnGK5LyPt/3SPlOKSZvisBisCfct3553R+xpf60tKj2VEjrCdNK+F+rbZEmqd938icguzWWdRwSPnNBFk0/M0Smqhx5iICVwp0M9m5iA7lkgZt9of1lw2DWCuWULIAcv5LzW01o/v1J2xwTrTK5hG3ggbwZh0lvvsnTvGMOL2jK0R6/cn9DCvHevDal3cxk0ZEjvtdkM9RTAZt4ENNp0r2ogst/ch2mn8wKY1PzNlkBYxdONJ1zJKk/raJXg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DF4PR8401MB0812.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(346002)(39860400002)(366004)(376002)(136003)(396003)(5660300002)(30864003)(478600001)(86362001)(186003)(26005)(52536014)(966005)(7696005)(71200400001)(8936002)(8676002)(2906002)(9686003)(316002)(66556008)(110136005)(76116006)(4326008)(66446008)(54906003)(66946007)(64756008)(33656002)(55016002)(6506007)(53546011)(83380400001)(66476007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: HX0zCQ5yTG1GZwO7d/64MXCHbUGBUVd+KcLF5NjaZg7SrWkoI6BqpRRQmqZNynVfbh5QoaeEI7nK2eaW2AhTge+t7SjLoe7f8vb8kW9Cm/9m1SzPdBWbfnKJB26u9LNBGygX31d8wDsM4CDWFL32f1+/duBwOpYEPto8cMyhd/b7MKvRL6OtVBZsojk0haO/a3ECfEDJTkDcFZ6sQ4TQ6Udsj3KLVoJvPf1E9qGqsKza85EdS8qHrdP17LJgBn303F5fHoMhXJ7AHGUWuLpgwf6ITFAS7kmsiVp51jjN5PO2jvjt6DJs7DortNcCUOX7lwv6bA7f46pnkYDTaytag18o8TRvoG4GzD/WDQ7csTzSU7gRzAN6Art+VikAVFszuVAQuL0Dy+klm701kZbhROZXXM/goTkqqLs/1rXEZ8HzFz0GuQf2W/+OqATN/IvBHj6I+tDmvq58HmtfWOFWu2P0e9Z9g2ZP4w/aKry3q2cxKNql8Cw0NCl/W1Xej6ScW6bZ4UlRatWenDeYhxUOMek7ziFvfSptsthm3ZjKQVCnl4WIQtIJrjZJDRyaV+ehxjZvywFSkSfB7s0giUsMy3Qxwhy9wlHU1w39EM4PFf8Ax1/3nnZzlTicciXnCUOITXWBQqLyFFkynysJm6JE9A== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DF4PR8401MB0812.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: ff19a206-2b0f-46fb-69dd-08d87ee2d846 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2020 03:53:22.7617 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: e6T+FWtKJyk7XffxKWi6HKJWaV5AOu9NHjrcGPATueOsrXRlLDRqMxn9ukzp12pAlVsKAHn8ZkLpGCplbyCBTA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR8401MB1001 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312,18.0.737 definitions=2020-11-02_01:2020-10-30,2020-11-02 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 mlxlogscore=999 priorityscore=1501 adultscore=0 mlxscore=0 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011020030 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I got it. Thanks, Abner. > -----Original Message----- > From: Chang, Abner (HPS SW/FW Technologist) > Sent: Friday, October 30, 2020 9:32 AM > To: Wang, Nickle (HPS SW) ; devel@edk2.groups.io > Cc: Michael D Kinney ; Liming Gao > ; Zhiguang Liu ; Jiaxin > Wu ; Siyuan Fu ; Fan Wang > ; Jiewen Yao > Subject: RE: [RestJsonStructureDxe PATCH v3 1/3] MdePkg/Include: > Definitions of EFI REST JSON Structure Protocol >=20 > Thanks for catching this, Nickle. I will fix this in the separate patch. = BZ was > submitted for this, > https://bugzilla.tianocore.org/show_bug.cgi?id=3D3030 >=20 > Thanks >=20 > > -----Original Message----- > > From: Wang, Nickle (HPS SW) > > Sent: Thursday, October 29, 2020 2:52 PM > > To: Chang, Abner (HPS SW/FW Technologist) ; > > devel@edk2.groups.io > > Cc: Michael D Kinney ; Liming Gao > > ; Zhiguang Liu ; > > Jiaxin Wu ; Siyuan Fu ; Fan > > Wang ; Jiewen Yao > > Subject: RE: [RestJsonStructureDxe PATCH v3 1/3] MdePkg/Include: > > Definitions of EFI REST JSON Structure Protocol > > > > Hi Abner, > > > > I found an issue on function header of > > EFI_REST_JSON_STRUCTURE_REGISTER that is not follow UEFI spec. > > > > Thanks, > > Nickle > > > > > -----Original Message----- > > > From: Chang, Abner (HPS SW/FW Technologist) > > > > Sent: Thursday, October 15, 2020 11:49 PM > > > To: devel@edk2.groups.io > > > Cc: Michael D Kinney ; Liming Gao > > > ; Zhiguang Liu ; > > > Jiaxin Wu ; Siyuan Fu ; > > > Fan Wang ; Jiewen Yao ; > > > Wang, Nickle (HPS SW) > > > Subject: [RestJsonStructureDxe PATCH v3 1/3] MdePkg/Include: > > > Definitions of EFI REST JSON Structure Protocol > > > > > > Add definitions of EFI REST JSON Structure according to UEFI spec > > > 2.8 Section 29.7.3 EFI REST JSON Resource to C Structure Converter. > > > > > > Signed-off-by: Abner Chang > > > > > > Cc: Michael D Kinney > > > Cc: Liming Gao > > > Cc: Zhiguang Liu > > > Cc: Jiaxin Wu > > > Cc: Siyuan Fu > > > Cc: Fan Wang > > > Cc: Jiewen Yao > > > Cc: Nickle Wang > > > Reviewed-by: Liming Gao > > > --- > > > MdePkg/Include/Protocol/RestJsonStructure.h | 161 > > > ++++++++++++++++++++ > > > MdePkg/MdePkg.dec | 3 + > > > 2 files changed, 164 insertions(+) > > > create mode 100644 MdePkg/Include/Protocol/RestJsonStructure.h > > > > > > diff --git a/MdePkg/Include/Protocol/RestJsonStructure.h > > > b/MdePkg/Include/Protocol/RestJsonStructure.h > > > new file mode 100644 > > > index 0000000000..adaf148f71 > > > --- /dev/null > > > +++ b/MdePkg/Include/Protocol/RestJsonStructure.h > > > @@ -0,0 +1,161 @@ > > > +/** @file > > > + This file defines the EFI REST JSON Structure Protocol interface. > > > + > > > + (C) Copyright 2020 Hewlett Packard Enterprise Development LP
> > > + > > > + SPDX-License-Identifier: BSD-2-Clause-Patent > > > + > > > + @par Revision Reference: > > > + This Protocol is introduced in UEFI Specification 2.8 > > > + > > > +**/ > > > + > > > +#ifndef EFI_REST_JSON_STRUCTURE_PROTOCOL_H_ > > > +#define EFI_REST_JSON_STRUCTURE_PROTOCOL_H_ > > > + > > > +/// > > > +/// GUID definitions > > > +/// > > > +#define EFI_REST_JSON_STRUCTURE_PROTOCOL_GUID \ > > > + { \ > > > + 0xa9a048f6, 0x48a0, 0x4714, {0xb7, 0xda, 0xa9, 0xad,0x87, 0xd4, > > > +0xda, > > > 0xc9 } \ > > > + } > > > + > > > +typedef struct _EFI_REST_JSON_STRUCTURE_PROTOCOL > > > EFI_REST_JSON_STRUCTURE_PROTOCOL; > > > +typedef CHAR8 * EFI_REST_JSON_RESOURCE_TYPE_DATATYPE; > > > + > > > +/// > > > +/// Structure defintions of resource name space. > > > +/// > > > +/// The fields declared in this structure define the /// name and > > > +revision of payload delievered throught /// REST API. > > > +/// > > > +typedef struct _EFI_REST_JSON_RESOURCE_TYPE_NAMESPACE { > > > + CHAR8 *ResourceTypeName; ///< Resource type name > > > + CHAR8 *MajorVersion; ///< Resource major version > > > + CHAR8 *MinorVersion; ///< Resource minor version > > > + CHAR8 *ErrataVersion; ///< Resource errata version > > > +} EFI_REST_JSON_RESOURCE_TYPE_NAMESPACE; > > > + > > > +/// > > > +/// REST resource type identifier > > > +/// > > > +/// REST resource type consists of name space and data type. > > > +/// > > > +typedef struct _EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER { > > > + EFI_REST_JSON_RESOURCE_TYPE_NAMESPACE NameSpace; ///< > > > Namespace of this resource type. > > > + EFI_REST_JSON_RESOURCE_TYPE_DATATYPE DataType; ///< Name of > > > data type declared in this > > > + ///< resource typ= e. > > > +} EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER; > > > + > > > +/// > > > +/// List of JSON to C structure conversions which this convertor sup= ports. > > > +/// > > > +typedef struct _EFI_REST_JSON_STRUCTURE_SUPPORTED { > > > + LIST_ENTRY NextSupportedRsrcInterp; ///< Li= nklist to next > > > supported conversion. > > > + EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER RestResourceInterp; > ///< > > > JSON resource type this convertor supports. > > > +} EFI_REST_JSON_STRUCTURE_SUPPORTED; > > > + > > > +/// > > > +/// The header file of JSON C structure /// typedef struct > > > +_EFI_REST_JSON_STRUCTURE_HEADER { > > > + EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER JsonRsrcIdentifier; ///< > > > Resource identifier which use to > > > + ///<= choice the proper interpreter. > > > + ///< Follow by a pointer points to JSON structure, the content in > > > + the ///< JSON structure is implementation-specific according to > > > + converter > > > producer. > > > + VOID *JsonStructurePointer; > > > +} EFI_REST_JSON_STRUCTURE_HEADER; > > > + > > > +/** > > > + JSON-IN C Structure-OUT function. Convert the given REST JSON > > > +resource > > > into structure. > > > + > > > + @param[in] This This is the > > > EFI_REST_JSON_STRUCTURE_PROTOCOL instance. > > > + @param[in] JsonRsrcIdentifier This indicates the resource type= and > > > version is given in > > > + ResourceJsonText. > > > + @param[in] ResourceJsonText REST JSON resource in text forma= t. > > > + @param[out] JsonStructure Pointer to receive the pointer to > > > EFI_REST_JSON_STRUCTURE_HEADER > > > + > > > + @retval EFI_SUCCESS > > > + @retval Others > > > +--*/ > > > +typedef > > > +EFI_STATUS > > > +(EFIAPI *EFI_REST_JSON_STRUCTURE_TO_STRUCTURE)( > > > + IN EFI_REST_JSON_STRUCTURE_PROTOCOL *This, > > > + IN EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER *JsonRsrcIdentifier > > > OPTIONAL, > > > + IN CHAR8 *ResourceJsonText, > > > + OUT EFI_REST_JSON_STRUCTURE_HEADER **JsonStructure > > > +); > > > + > > > +/** > > > + Convert the given REST JSON structure into JSON text. > > > + > > > + @param[in] This This is the > > > EFI_REST_JSON_STRUCTURE_PROTOCOL instance. > > > + @param[in] JsonStructureHeader The point to > > > EFI_REST_JSON_STRUCTURE_HEADER structure. > > > + @param[out] ResourceJsonText Pointer to receive REST JSON > > resource > > > in text format. > > > + > > > + @retval EFI_SUCCESS > > > + @retval Others > > > + > > > +--*/ > > > +typedef > > > +EFI_STATUS > > > +(EFIAPI *EFI_REST_JSON_STRUCTURE_TO_JSON)( > > > + IN EFI_REST_JSON_STRUCTURE_PROTOCOL *This, > > > + IN EFI_REST_JSON_STRUCTURE_HEADER *JsonStructureHeader, > > > + OUT CHAR8 **ResourceJsonText > > > +); > > > + > > > +/** > > > + This function destroys the REST JSON structure. > > > + > > > + @param[in] This This is the > > > EFI_REST_JSON_STRUCTURE_PROTOCOL instance. > > > + @param[in] JsonStructureHeader JSON structure to destroy. > > > + > > > + @retval EFI_SUCCESS > > > + @retval Others > > > + > > > +--*/ > > > +typedef > > > +EFI_STATUS > > > +(EFIAPI *EFI_REST_JSON_STRUCTURE_DESTORY_STRUCTURE)( > > > + IN EFI_REST_JSON_STRUCTURE_PROTOCOL *This, > > > + IN EFI_REST_JSON_STRUCTURE_HEADER *JsonStructureHeader > > > +); > > > +/** > > > + This function provides REST JSON resource to structure converter > > > registration. > > > + > > > + @param[in] This This is the > > > EFI_REST_JSON_STRUCTURE_PROTOCOL instance. > > > + @param[in] JsonStructureSupported The type and version of REST > > JSON > > > resource which this converter > > > + supports. > > > + @param[in] ToStructure The function to convert RES= T JSON > > > resource to structure. > > > + @param[in] ToJson The function to convert RES= T JSON > > structure > > > to JSON in text format. > > > + @param[out] DestroyStructure Destroy REST JSON structure > > returned > > According to UEFI 2.8, this is [in] parameter. > > > > > in ToStructure() function. > > > + > > > + @retval EFI_SUCCESS Register successfully. > > > + @retval Others Fail to register. > > > + > > > +--*/ > > > +typedef > > > +EFI_STATUS > > > +(EFIAPI *EFI_REST_JSON_STRUCTURE_REGISTER)( > > > + IN EFI_REST_JSON_STRUCTURE_PROTOCOL *This, > > > + IN EFI_REST_JSON_STRUCTURE_SUPPORTED > > *JsonStructureSupported, > > > + IN EFI_REST_JSON_STRUCTURE_TO_STRUCTURE ToStructure, > > > + IN EFI_REST_JSON_STRUCTURE_TO_JSON ToJson, > > > + IN EFI_REST_JSON_STRUCTURE_DESTORY_STRUCTURE > > DestroyStructure ); > > > + > > > +/// > > > +/// EFI REST JSON to C structure protocol definition. > > > +/// > > > +struct _EFI_REST_JSON_STRUCTURE_PROTOCOL { > > > + EFI_REST_JSON_STRUCTURE_REGISTER Register; ///< > Register > > > JSON to C structure convertor > > > + EFI_REST_JSON_STRUCTURE_TO_STRUCTURE ToStructure; ///< > > The > > > function to convert JSON to C structure > > > + EFI_REST_JSON_STRUCTURE_TO_JSON ToJson; ///<= The > > > function to convert C structure to JSON > > > + EFI_REST_JSON_STRUCTURE_DESTORY_STRUCTURE DestoryStructure; > > > ///< Destory C structure. > > > +}; > > > + > > > +#endif > > > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index > > > 5205374d62..645f61b80e 100644 > > > --- a/MdePkg/MdePkg.dec > > > +++ b/MdePkg/MdePkg.dec > > > @@ -1855,6 +1855,9 @@ > > > gEfiRestExProtocolGuid =3D { 0x55648b91, 0xe7d, 0x40= a3, { 0xa9, > 0xb3, > > > 0xa8, 0x15, 0xd7, 0xea, 0xdf, 0x97 }} > > > gEfiRestExServiceBindingProtocolGuid =3D { 0x456bbe01, 0x99d0, > > > 0x45ea, { 0xbb, 0x5f, 0x16, 0xd8, 0x4b, 0xed, 0xc5, 0x59 }} > > > > > > + ## Include/Protocol/RestJsonStructure.h > > > + gEfiRestJsonStructureProtocolGuid =3D { 0xa9a048f6, 0x48a0, > > > + 0x4714, {0xb7, > > > 0xda, 0xa9, 0xad,0x87, 0xd4, 0xda, 0xc9 }} > > > + > > > # > > > # Protocols defined in Shell2.0 > > > # > > > -- > > > 2.17.1