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.web10.7379.1604021609176821646 for ; Thu, 29 Oct 2020 18:33:29 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=fm9a1J1O; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=0572814f16=abner.chang@hpe.com) Received: from pps.filterd (m0150241.ppops.net [127.0.0.1]) by mx0a-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 09U1XJMh011546; Fri, 30 Oct 2020 01:33:19 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=DHPQFvnCYK3FhP8O7HkVI8IS+weLVSyu5b2HNS/8OrE=; b=fm9a1J1O++1cOXfsY0oTuh97wQ5KSHAJ20ZgV4K7oGcvhxbg526fJkaBxLaztoIpw5bb YIkYiyGePKcvl9IKbxvwf3X08m825QvbZj7Ssi312XARS1HcN49YowvjH60pH8YSaEhv 1eTv51t7FH9IDq2Th7cF2qabX03qXS8X1DUJwe4SCBt/jg8PANFuEUohhOe8RFoNoNZO vqnQkNv6AI0z5AsR3H+Ck2t9LRzQJQ0CY6pSjgLTugcO4Mt37P8pcWXQkVz34nc7ZnGm pmO719qeJhNkKQgWRq2Pv8Z8vGS5orueTPX6R1VY1zn7uZUac/avXNQf2+X/0VjBZTz8 9A== Received: from g9t5009.houston.hpe.com (g9t5009.houston.hpe.com [15.241.48.73]) by mx0a-002e3701.pphosted.com with ESMTP id 34f6vxgjv9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 30 Oct 2020 01:33:19 +0000 Received: from G9W8453.americas.hpqcorp.net (g9w8453.houston.hp.com [16.216.160.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g9t5009.houston.hpe.com (Postfix) with ESMTPS id A209863; Fri, 30 Oct 2020 01:33:13 +0000 (UTC) Received: from G9W8454.americas.hpqcorp.net (2002:10d8:a104::10d8:a104) by G9W8453.americas.hpqcorp.net (2002:10d8:a0d3::10d8:a0d3) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 30 Oct 2020 01:32:17 +0000 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (15.241.52.10) by G9W8454.americas.hpqcorp.net (16.216.161.4) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 30 Oct 2020 01:32:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n5QlLQZ2osc+ZDyxGfNlZEte+9SAOVvdoLZuOGwB8fgcpV865WCRGlHzVbfBH7KZiaOP3gFTJqfXHOGgKwpSSP79dDxDeO0Kr62j4PnwEQkWU3nx18xLg7tch74bxCLmxg/neIFChALbtbBLlRKQFSGqXIPEOPBtgJEjI7xFROcvTHSayjKrw3C5S8QehmxdlAs7E7wE6mjyx9T/JyBgZc+29L0g6761zi0arPP4pz+ajeHGDxemNFKbDd2EzMiW/NSa+7QmcQdJhYh/mP9fK6naCSbQ0Mez3sda7/Jl8Q8kj6fxVOaWdjk0OEwDh+ZSBLsqx/Y5abANNXaQpEop5w== 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=DHPQFvnCYK3FhP8O7HkVI8IS+weLVSyu5b2HNS/8OrE=; b=FAH9f5/uODniv6nlyXcVk3XY/Wvy8HkLe4I+tBCE4lkdoFvKT6QajtdBcMVDUTVXfVj4p7OPGXtfvs27xCjTlGLqfkf290N2tO2UPxS3UqRev/RYNT2YkAzQZBzTU8aBBTYLf4aUi7zDISqwwnSOdi5fW42c2qBjgQTZ9BVY1Nymwp/NOmbCnT9PaePVYfsqmvtkW3V3+dgiHoE9s1K1XQm1yBuZZAAsZyTroqTKnvcfwNIVE+mGck3hzsnyoP4EedsfbfIs3cLykte4c9jxYJtq2DKXWXnkDKiRqwqO3jEcrTndXpNi1Zt2uMSWpr5KfWOpeNz9dzVU31rwoWWVbQ== 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 CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7508::16) by CS1PR8401MB0584.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7507::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18; Fri, 30 Oct 2020 01:32:15 +0000 Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::f4a5:2722:be1c:7222]) by CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::f4a5:2722:be1c:7222%6]) with mapi id 15.20.3477.035; Fri, 30 Oct 2020 01:32:15 +0000 From: "Abner Chang" 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 Thread-Topic: [RestJsonStructureDxe PATCH v3 1/3] MdePkg/Include: Definitions of EFI REST JSON Structure Protocol Thread-Index: AQHWoxEEyTyl3GFKqkyXM1+6COUWwamuOVSggAE5I2A= Date: Fri, 30 Oct 2020 01:32:15 +0000 Message-ID: References: <20201015154928.16211-1-abner.chang@hpe.com> <20201015154928.16211-2-abner.chang@hpe.com> In-Reply-To: Accept-Language: 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: [1.34.113.40] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: dbc029a1-4896-49de-2ef8-08d87c73a238 x-ms-traffictypediagnostic: CS1PR8401MB0584: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:158; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dcMUN2elp++cYWttRqFNCI+kkMVSTBho24KdWLqlpO55rcspknyWFzw+N/gsczw3DhrjPisrDo+2daFyYPpiqBzauhvuc4R+3DLswLvfG7lLKcbURG342VFZN43eNcdV24pgAVf+QOuNaBiwnxwDtazcBhZ0aM1jLvVRtQCjZ3dk+mulQN6eMZ5Zo/EOiCgS4y7WG0fPWMWP1YmhWmaxmUe/6UHWqJ5FoUR9lLhWi+bo1F5NLDKl/X0vyQ6F8aQGb6slSu1Jro+42TRXYzEjSXD0QdkoMQeVf2gWvBQywvGRRvI2cDpuNK3IoWv0NOVSrRPUgNek//xXijV/0sRxFDBBANliwjOC20wrkNWVc5eL7y2AjhyqdMZVzzgVR3viGR8g+SS2d2BRmXyoa9glSg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(136003)(396003)(366004)(39860400002)(346002)(376002)(6506007)(4326008)(53546011)(186003)(66446008)(66946007)(66556008)(66476007)(2906002)(64756008)(76116006)(26005)(5660300002)(83380400001)(478600001)(966005)(86362001)(7696005)(55016002)(8936002)(316002)(33656002)(8676002)(71200400001)(52536014)(54906003)(110136005)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: ygEkMyoZwbrROAwhyPMFjSCsqhj2f6zB7GzqwA2262hmHN5DEOerBOq0GvkO1ZoI1g77SB2tqBmfwFY0QIEebYuF506UCuPq/rHArLIuEjLmZTrI/IZD14knUU2b+zY9yZozEj+frfFPhYxN0rHwlRc6q+QNNY+wLJ8DPDaMhURA8e1mfg/vbDQVQ0JL9LwLzhLrTLCNI0sTNdC5w6TViseT/BZLqe5os05roqapGuXmF88k63YB+WnwgirpnjUwYJ0c+ZsXi5iUrr1BuHtXZrQ2oywkAu6WjGZCegyeBqpd9bUVF6++LyhdKcmP/3ebENR7jmkoc4IUHM0Tjr/ROD6++EBijhM7d363zwUxa71Cr+XVVkvLeKG96Xk69gutA9+PLVaLias4pUG/kYzRnpMjK2Zrwk31oGuPWIUOHWEP8M9krKQpX3b3YiUJEmqoKrcJsyYGYmL3+fopVsGer/gJobk/5fMsKi7eBAf9cnIU5iVoDZmhjTf6YevGS3gQxW+PJzFJfU/oLJfcPARGNTsUB332J6iSSLQl7b9k0eYN4ilNj/vy+mWXA4EAvlEzd3Kux1GI0iCgAV9ww39k0EXv65Ier6PyQErcrrsPmjMaCvtsKq0Z80FP2/qDWYwqvfAe/Rvh3w/bNrvU2o9yPQ== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: dbc029a1-4896-49de-2ef8-08d87c73a238 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2020 01:32:15.6760 (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: I/J4g1aRZi3NrpwMaIjlXdes8EjS5oeqnzZshQrkEfxjQ/Sky2LH6vj4U8xpBbKrWJVw0HfOaytIGDAjfot6vw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0584 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-10-29_12:2020-10-29,2020-10-29 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0 phishscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 adultscore=0 mlxlogscore=999 clxscore=1015 lowpriorityscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010300008 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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 Thanks > -----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 >=20 > Hi Abner, >=20 > I found an issue on function header of > EFI_REST_JSON_STRUCTURE_REGISTER that is not follow UEFI spec. >=20 > Thanks, > Nickle >=20 > > -----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 type. > > +} EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER; > > + > > +/// > > +/// List of JSON to C structure conversions which this convertor suppo= rts. > > +/// > > +typedef struct _EFI_REST_JSON_STRUCTURE_SUPPORTED { > > + LIST_ENTRY NextSupportedRsrcInterp; ///< Link= list 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 > > + ///< c= hoice 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 a= nd > > version is given in > > + ResourceJsonText. > > + @param[in] ResourceJsonText REST JSON resource in text format. > > + @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 REST = JSON > > resource to structure. > > + @param[in] ToJson The function to convert REST = JSON > structure > > to JSON in text format. > > + @param[out] DestroyStructure Destroy REST JSON structure > returned > According to UEFI 2.8, this is [in] parameter. >=20 > > 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; ///< R= egister > > 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; ///< T= he > > 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, 0x40a3= , { 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