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.web12.4948.1603953919901269722 for ; Wed, 28 Oct 2020 23:45:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=k/dztKPj; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=057147ffc3=nickle.wang@hpe.com) Received: from pps.filterd (m0134420.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 09T6SFY0022938 for ; Thu, 29 Oct 2020 06:45: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=4wnEfjUiwr49hsYARfd+nXScao07BdJE9YPSVfr7u70=; b=k/dztKPjwS9WgSqhiC3zmKWWaxMc9d/cmrmtddBHlZgD9V0oeHtpdL5dmPQr2srlM/t9 lD+CHLdbG0j4QJeFAHwhKDfnwpfEk1fWU2d/URf7sKbJ3DhVns/72Ld2fvKaG//Bq0ui o4L84m7f9zWGDiFDEtrdBmYoF9adoYpSPCWBPDFleIuVzIX3KcwmhmBiVnRXXyjIMi7e 2BXBG2AeJKf4tNZVAi0m6QiUSVEF6QN0jwvuyX1jNk+pZkszDWRvzz6UB5d8DJLt1oGc 9pK1x6XA8kWt5TJBEeqlR8tghuWHJxOSva6bsBBRr1JJ9n15ILgV2/WDbIiha5+Gt0C7 mw== Received: from g4t3425.houston.hpe.com (g4t3425.houston.hpe.com [15.241.140.78]) by mx0b-002e3701.pphosted.com with ESMTP id 34f73b8afs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 29 Oct 2020 06:45:19 +0000 Received: from G2W6311.americas.hpqcorp.net (g2w6311.austin.hp.com [16.197.64.53]) (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 CC354B4 for ; Thu, 29 Oct 2020 06:45:17 +0000 (UTC) Received: from G4W9332.americas.hpqcorp.net (16.208.32.118) by G2W6311.americas.hpqcorp.net (16.197.64.53) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 29 Oct 2020 06:45:09 +0000 Received: from G9W9210.americas.hpqcorp.net (2002:10dc:429b::10dc:429b) by G4W9332.americas.hpqcorp.net (2002:10d0:2076::10d0:2076) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 29 Oct 2020 06:45:09 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (15.241.52.12) by G9W9210.americas.hpqcorp.net (16.220.66.155) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 29 Oct 2020 06:45:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c5nmHr8iFkSeAuMYS/zdc2NniURgqrixmNCBAA/0fcx/DnMrYwAZSOB2RjZ0DRHw2aek8Lu7DUkg5LVuXGmgbhdsxIHdNJCEMu6fMQM1kFJBWxU+T9ohNG45rY/pUW3YaGidrTEx90PFNOOQxIhFagb4RQ/brPODyrQO1AfyyO1VEOmYeQ0dAOVBHxci15gZVPMTeoRYlxVhuI1Ti+KBGBezRTQPkILIA2yZYhcOhYxBSsStnUqc3scJlhSVjVmwB6+v6WoesVmU4ysISsYtIDw6F+PX1AzhdHr4wK33mbuoS14LQDIZ2tNVFSoG3pGnJFS34SrkBwqF0RZc4kndJw== 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=4wnEfjUiwr49hsYARfd+nXScao07BdJE9YPSVfr7u70=; b=dxgPjW+wCYhwzVx++9cjpZ+lmK6T0SSU8iOyABwrmu60vbemKm6QToZcpT7Ai4tdQy9ScTfcII6NmZFSF/FeWfifEdhco6127vrRSL3o5wNz2qk1SycE9s2TW+gnWe4z3TTbTt8Pp+qYQGa7Iy+ImUK2rYEgPyL03zcdC4e21Tr+ud6dZ6cx7u2P4eFztqT22eTCH6Zr0XWY2LPru53twLaZ228g505V1I5CE/GjjNyaVGyU/m5ajhz1HWgHxTP7www/n3pOb2pXT69Umd2FtE1Nji4iA9gYjUaRcfpBSkUvkv8c+VCB2xgYcbPI8vsKw1tBd2NYS9SnbinbzlhDBQ== 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 DF4PR8401MB0508.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.27; Thu, 29 Oct 2020 06:45:07 +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.018; Thu, 29 Oct 2020 06:45:07 +0000 From: "Nickle Wang" To: "Chang, Abner (HPS SW/FW Technologist)" , "devel@edk2.groups.io" CC: Jiaxin Wu , Siyuan Fu , Fan Wang , Jiewen Yao Subject: Re: [Redfish Discover Header File PATCH] RedfishPkg/Include: EFI Redfish Discover Protocol header file Thread-Topic: [Redfish Discover Header File PATCH] RedfishPkg/Include: EFI Redfish Discover Protocol header file Thread-Index: AQHWoSBFKNrdL9QgL0mmLEQ41+GL36muO7fA Date: Thu, 29 Oct 2020 06:45:07 +0000 Message-ID: References: <20201013043343.21356-1-abner.chang@hpe.com> In-Reply-To: <20201013043343.21356-1-abner.chang@hpe.com> 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: [36.224.251.48] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: d656e423-9da0-4323-2db1-08d87bd62c80 x-ms-traffictypediagnostic: DF4PR8401MB0508: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:203; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RVzOw5S5bJYD3+54F3/fLe2T0TPMOs1nkBaV0gTMVk1yD9MYn58qGF+/29oF5dP5l2PuLreEXj7Ldzh2bfFEVtR1kN5nckSMQTJnMFszl63yF4/osE2lTO58ypur6n+Lg+gavZL2yEG7FZpgy5g6Dmn5+bsHi8XQuu0qaj1m7xubd+AU6O2BOg15H65e9dWKYf3ClhapveyTdzA741py+ppZYSs8rGzoMGNA+p/uAx298XtwkC8BjBE/fwTm//+OLWtLHYdB68MzN6HswX9TFNHQupP/oDB54odWaFg5qYgxdyvkUGfBWPeHywrBlj1/9qFYFzBn7rgk/ojcvigPAQ== 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:(366004)(376002)(39860400002)(346002)(136003)(396003)(86362001)(83380400001)(110136005)(55016002)(9686003)(4326008)(2906002)(478600001)(6506007)(53546011)(316002)(8676002)(30864003)(5660300002)(33656002)(54906003)(76116006)(52536014)(186003)(26005)(66446008)(64756008)(66556008)(66476007)(8936002)(66946007)(71200400001)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: r0tAF5KaTThl9oFO8o4bwaazTQq1PUeZTREVFJgt+bhHj8o4AnyDdlELMVZsPe2QA5xmQrGLUDmAxI3UoJtn2clpHX7zhm/noOSfFA9p/LPKD3bYGLEQQbRdd39RmA//e9vU91+2eEEIzOI+Lhikx9LD8ioId/3v925yQpDBS7m565OX8f1vNbrnTuf4QXZLbQ2FWXE1BerRnDUcxDZnmmEn+HWhTuhYR9F+ZdDGjLm4gj41BAO2JwrsM9m/puKtuRCptZJQv07SBm04pwabWdP7mhEIajAi1Z8RIxEuS1dn+A27LQ0pFX22y7NOt0HRlD5cKuR1xcBqa/oskGZDO28c5kuXEW8pCrjjGBjX9RVY6FKJo5Kg/K4uikkva7x7L8cS85Baz9G0T74jste5tRvF6X6zojJuQA66itj+JhtxRlYRKa+kQschnr8Sw+bzyPHs7rmvHxLgK8id0E+jtwxet68y9KH9f8RoWQQ8QFnwcep1hQSaeUVJCCHRtDMbVIsM0Nnp1ZARsE+SDOceJoA7IbX7GAigAeAkiU2nZY6YHzETM/QME/H5dkU+aFS4mP0EGRAa/uAg4A9HNhkBMqTuQ+JvRUh6NpPilUt/QbOsFiW9lmAYvmGRMwr8RTFzqVs7fmSLEYG/IwgEotNRzw== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DF4PR8401MB0812.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d656e423-9da0-4323-2db1-08d87bd62c80 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2020 06:45:07.1511 (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: 9kd3maIeziVMuAKeetxox58bCT84iSU7zbtKnTgbg9TcodGE2diU/E3hr3Mk2P03SqHLOTJlRaDpCQZm7Pq9MA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR8401MB0508 X-OriginatorOrg: hpe.com X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312,18.0.737 definitions=2020-10-29_01:2020-10-29,2020-10-29 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 adultscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 clxscore=1015 priorityscore=1501 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010290046 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nickle Wang > -----Original Message----- > From: Chang, Abner (HPS SW/FW Technologist) > Sent: Tuesday, October 13, 2020 12:34 PM > To: devel@edk2.groups.io > Cc: Jiaxin Wu ; Siyuan Fu ; Fan > Wang ; Jiewen Yao ; Wang, > Nickle (HPS SW) > Subject: [Redfish Discover Header File PATCH] RedfishPkg/Include: EFI > Redfish Discover Protocol header file >=20 > Header file of EFI Redfish Discover Protocol for UEFI spec > v2.8 Section 31.1. >=20 > Signed-off-by: Abner Chang >=20 > Cc: Jiaxin Wu > Cc: Siyuan Fu > Cc: Fan Wang > Cc: Jiewen Yao > Cc: Nickle Wang > --- > RedfishPkg/Include/Protocol/RedfishDiscover.h | 198 > ++++++++++++++++++ > RedfishPkg/RedfishPkg.dec | 7 + > 2 files changed, 205 insertions(+) > create mode 100644 RedfishPkg/Include/Protocol/RedfishDiscover.h >=20 > diff --git a/RedfishPkg/Include/Protocol/RedfishDiscover.h > b/RedfishPkg/Include/Protocol/RedfishDiscover.h > new file mode 100644 > index 0000000000..574d7a16a6 > --- /dev/null > +++ b/RedfishPkg/Include/Protocol/RedfishDiscover.h > @@ -0,0 +1,198 @@ > +/** @file > + This file defines the EFI Redfish Discover Protocol interface. > + > + (C) Copyright 2020 Hewlett Packard Enterprise Development LP
> + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef EFI_REDFISH_DISCOVER_PROTOCOL_H_ > +#define EFI_REDFISH_DISCOVER_PROTOCOL_H_ > + > +#include > +#include > +#include > +#include > + > +// > +// GUID definitions > +// > +#define EFI_REDFISH_DISCOVER_PROTOCOL_GUID \ > + { \ > + 0x5db12509, 0x4550, 0x4347, { 0x96, 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x= 86, > 0x9f } \ > + } > + > +#define REDFISH_DISCOVER_TOKEN_SIGNATURE SIGNATURE_32 ('R', 'F', > 'T', 'S') > + > +typedef UINT32 EFI_REDFISH_DISCOVER_FLAG; > +#define EFI_REDFISH_DISCOVER_HOST_INTERFACE 0x00000001 ///< > Discover Redfish server reported in SMBIOS 42h. > +#define EFI_REDFISH_DISCOVER_SSDP 0x00000002 ///< Discover > Redfish server using UPnP Http search method. > +#define EFI_REDFISH_DISCOVER_SSDP_UDP6 0x00000004 ///< Use UDP > version 6. > +#define EFI_REDFISH_DISCOVER_KEEP_ALIVE 0x00000008 ///< Keep to > send UPnP Search in the duration indicated in > + ///< EFI_REDFISH_= DISCOVER_DURATION_MASK. > +#define EFI_REDFISH_DISCOVER_RENEW 0x00000010 ///< Set this bit > to indicate this function to notify the caller > + ///< a list of al= l Redfish servers it found. > Otherwise, this fucntion > + ///< just notify = the caller new found Redfish > servers. > + ///< > +#define EFI_REDFISH_DISCOVER_VALIDATION 0x80000000 ///< Validate > Redfish service for host interface instance. > +#define EFI_REDFISH_DISCOVER_DURATION_MASK 0x0f000000 ///< 2 to > the Power of Duration. The valid value of duration is between > + ///< 3 to 15. The= corresponding duration is 8 to > 2^15 seconds. > + ///< Duration is = only valid when > EFI_REDFISH_DISCOVER_KEEP_ALIVE > + ///< is set to 1. > +#define EFI_REDFISH_DISCOVER_DURATION_BIT_POS 8 > + > +typedef struct _EFI_REDFISH_DISCOVER_PROTOCOL > EFI_REDFISH_DISCOVER_PROTOCOL; > + > +typedef struct _EFI_REDFISH_DISCOVERED_INFORMATION { > + EFI_HANDLE RedfishRestExHandle; ///< REST EX EFI handle asso= ciated > with this Redfish service. > + BOOLEAN IsUdp6; ///< Indicates it's IP versi= no 6. > + EFI_IP_ADDRESS RedfishHostIpAddress; ///< IP address of Redfish > service. > + UINTN RedfishVersion; ///< Redfish service version= . > + CHAR16 *Location; ///< Redfish service locatio= n. > + CHAR16 *Uuid; ///< Redfish service UUID. > + CHAR16 *OS; ///< Redfish service OS. > + CHAR16 *OSVersion; ///< Redfish service OS vers= ion. > + CHAR16 *Product; ///< Redfish service product= name. > + CHAR16 *ProductVer; ///< Redfish service product= version. > + BOOLEAN UseHttps; ///< Using HTTPS. > +} EFI_REDFISH_DISCOVERED_INFORMATION; > + > +typedef struct { > + EFI_STATUS Status; ///< Status of Redfi= sh service discovery. > + EFI_REDFISH_DISCOVERED_INFORMATION Information; ///< Redfish > service discovered. > +} EFI_REDFISH_DISCOVERED_INSTANCE; > + > +typedef struct { > + UINTN NumberOfServiceFound; ///< Must be 0 when= pass to > Acquire (). > + EFI_REDFISH_DISCOVERED_INSTANCE *RedfishInstances; ///< Must be > NULL when pass to Acquire (). > +} EFI_REDFISH_DISCOVERED_LIST; > + > +typedef struct { > + EFI_MAC_ADDRESS MacAddress; ///< MAC address of ne= twork > interfase to discover Redfish service. > + BOOLEAN IsIpv6; ///< Indicates it's IP= versino 6. > + EFI_IP_ADDRESS SubnetId; ///< Subnet ID. > + UINT8 SubnetPrefixLength; ///< Subnet prefix-len= gth for IPv4 > and IPv6. > + UINT16 VlanId; ///< VLAN ID. > +} EFI_REDFISH_DISCOVER_NETWORK_INSTANCE; > + > +typedef struct { > + UINT32 Signature; ///< Token signature. > + EFI_REDFISH_DISCOVERED_LIST DiscoverList; ///< The memory of > EFI_REDFISH_DISCOVERED_LIST is > + ///< allocated by Acquire() = and freed when caller > invoke Release(). > + EFI_EVENT Event; ///< The TPL_CALLBACK event to be noti= fied > when Redfish services > + ///< are discovered or any errors occu= rred during discovery. > + UINTN Timeout; ///< The timeout value declared in > EFI_REDFISH_DISCOVERED_TOKEN > + ///< determines the seconds to drop di= scover process. > + ///< Basically, the nearby Redfish ser= vices must response > in >=3D1 > + ///< and <=3D 5 seconds. The valid tim= eout value used to > have > + ///< asynchronous discovery is >=3D 1 = and <=3D 5 seconds. Set > the > + ///< timeout to zero means to discover= Redfish service > synchronously. > + ///< Event in token is created by call= er to listen the Reefish > services > + ///< found by Acquire(). > +} EFI_REDFISH_DISCOVERED_TOKEN; > + > +/** > + This function gets the NIC list which Redfish discover protocol > + can discover Redfish service on it. > + > + @param[in] This EFI_REDFISH_DISCOVER_PROTOCOL instance. > + @param[in] ImageHandle EFI Image handle request the NIC list, > + @param[out] NumberOfNetworkInterfaces Number of NICs can do > Redfish service discovery. > + @param[out] NetworkInterfaces NIC instances. It's an array of instan= ce. > The number of entries > + in array is indicated by NumberOfNetworkInt= erfaces. > + Caller has to release the memory > + allocated by Redfish discover protocol. > + > + @retval EFI_SUCCESS REST EX instances of discovered Redfish are > released. > + @retval Others Fail to remove the entry > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EFI_REDFISH_DISCOVER_NETWORK_LIST)( > + IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > + IN EFI_HANDLE ImageHandle, > + OUT UINTN *NumberOfNetworkInterfaces, > + OUT EFI_REDFISH_DISCOVER_NETWORK_INSTANCE **NetworkInterfaces > +); > + > +/** > + This function acquires Redfish services by discovering static Redfish = setting > + according to Redfish Host Interface or through SSDP. Returns a list of= EFI > + handles in EFI_REDFISH_DISCOVERED_LIST. Each of EFI handle has > cooresponding > + EFI REST EX instance installed on it. Each REST EX isntance is a child= instance > which > + created through EFI REST EX serivce protoocl for communicating with > specific > + Redfish service. > + > + @param[in] This EFI_REDFISH_DISCOVER_PROTOCOL instance. > + @param[in] ImageHandle EFI image owns these Redfish service > instances. > + @param[in] TargetNetworkInterface Target NIC to do the discovery. > + NULL means discover Redfish service on all= NICs on platform. > + @param[in] Flags Redfish service discover flags. > + @param[in] Token EFI_REDFISH_DISCOVERED_TOKEN instance. > + The memory of EFI_REDFISH_DISCOVERED_LIST = and the > strings in > + EFI_REDFISH_DISCOVERED_INFORMATION are all= allocated > by Acquire() > + and must be freed when caller invoke Relea= se(). > + > + @retval EFI_SUCCESS REST EX instance of discovered Redfish > services are returned. > + @retval EFI_INVALID_PARAMETERS ImageHandle =3D=3D NULL, Flags =3D=3D = 0, > Token =3D=3D NULL, Token->Timeout > 5, > + or Token->Event =3D=3D NULL. > + @retval Others Fail acquire Redfish services. > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE)( > + IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > + IN EFI_HANDLE ImageHandle, > + IN EFI_REDFISH_DISCOVER_NETWORK_INSTANCE > *TargetNetworkInterface, > + IN EFI_REDFISH_DISCOVER_FLAG Flags, > + IN EFI_REDFISH_DISCOVERED_TOKEN *Token > +); > + > +/** > + This function aborts Redfish service discovery on the given network > interface. > + > + @param[in] This EFI_REDFISH_DISCOVER_PROTOCOL instance. > + @param[in] TargetNetworkInterface Target NIC to do the discover= y. > + > + @retval EFI_SUCCESS REST EX instance of discovered Redfish > services are returned. > + @retval Others Fail to abort Redfish service discover= y. > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EFI_REDFISH_DISCOVER_ABORT_ACQUIRE)( > + IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > + IN EFI_REDFISH_DISCOVER_NETWORK_INSTANCE > *TargetNetworkInterface OPTIONAL > +); > + > +/** > + This function releases Redfish services found by RedfishServiceAcquire= (). > + > + @param[in] This EFI_REDFISH_DISCOVER_PROTOCOL instance. > + @param[in] InstanceList The Redfish service to release. > + > + @retval EFI_SUCCESS REST EX instances of discovered Redfish are > released. > + @retval Others Fail to remove the entry > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EFI_REDFISH_DISCOVER_RELEASE_SERVICE)( > + IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > + IN EFI_REDFISH_DISCOVERED_LIST *InstanceList > +); > + > +typedef struct _EFI_REDFISH_DISCOVER_PROTOCOL { > + EFI_REDFISH_DISCOVER_NETWORK_LIST GetNetworkInterfaceList; > + EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE AcquireRedfishService; > + EFI_REDFISH_DISCOVER_ABORT_ACQUIRE AbortAcquireRedfishService; > + EFI_REDFISH_DISCOVER_RELEASE_SERVICE ReleaseRedfishService; > +} EFI_REDFISH_DISCOVER_PROTOCOL; > + > +extern EFI_GUID gEfiRestExProtocolGuid; > +extern EFI_GUID gEfiRestExServiceBindingProtocolGuid; > +extern EFI_GUID gEfiRedfishDiscoverProtocolGuid; > +#endif > diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec > index e95ec5fe10..d8e174258a 100644 > --- a/RedfishPkg/RedfishPkg.dec > +++ b/RedfishPkg/RedfishPkg.dec > @@ -13,6 +13,13 @@ > PACKAGE_GUID =3D c432b76e-5232-11e7-9010-005056c00008 > PACKAGE_VERSION =3D 1.0 >=20 > +[Includes] > + Include > + > +[Protocols] > + ## Include/Protocol/RedfishDiscover.h > + gEfiRedfishDiscoverProtocolGuid =3D { 0x5db12509, 0x4550, 0x4347,= { 0x96, > 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x86, 0x9f }} > + > [Guids] > gEfiRedfishPkgTokenSpaceGuid =3D { 0x4fdbccb7, 0xe829, 0x4b4c, { = 0x88, > 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }} >=20 > -- > 2.17.1