From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web08.50943.1660879211775403674 for ; Thu, 18 Aug 2022 20:20:12 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Ey7HVeBj; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: jian.j.wang@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660879211; x=1692415211; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jzclD3q8WSJKBQRou42swiyy7Y46CtORPQh56NFYVlQ=; b=Ey7HVeBjdz96c6RRCRE0z55Pi38bA1udyYgzplfSKPrh/EEj4Q05Jj9r aUcrZEOEz9C1574h9oE5ZQSG/pD3jdYXErPpCVuArIV2r2USaAfXD1o8H znoItpHRzzvOPSKll/0w7O8ZwnpyjrKpR4EbZop/oZ2Kv5en9q1NvsoM+ Vqou/igEDLIqaKFWbnv8KyhQK8s1O7trelYq6wrg6rgM1qnw2Znuj28B1 oCuSpae/WxtPXcZlUz+dqNW7ff+EbyAZUkME+m9HpM7cjOAvWK/axr7fS 8GINeVfpUpU9WtK1DsziKHGcogxXr5zbtoDmQnnPLGZj4914Vqa+4gbgU w==; X-IronPort-AV: E=McAfee;i="6500,9779,10443"; a="275969475" X-IronPort-AV: E=Sophos;i="5.93,247,1654585200"; d="scan'208";a="275969475" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Aug 2022 20:20:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,247,1654585200"; d="scan'208";a="750358927" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP; 18 Aug 2022 20:20:11 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug 2022 20:20:10 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug 2022 20:20:10 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Thu, 18 Aug 2022 20:20:10 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Thu, 18 Aug 2022 20:20:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B55M7o3dmzm4sWNQ09WU6ZyeY7G9rsuWvxHOb7JblODr0olqBF0TqRTogNrxgDR3nxBOr3Ga2nrPKb8qngxg3hIVMJX2qexgBc7pmoRCgos0Oa+Z9OS9rW3IEh2SckkDC1+FIq7lC1g1WI0qo6iEgQKzYlsyXEJlv65EG2MUjrj1NlG5ziX1iIA/889tdLxKrB0MgxEpktwqcL3CuI/JAKWPRSn32uysXzr1A0ga+A3NAm4bSucA8GmLmo0SX+rAQilDBAz/mnNgsSpoi41zYDVpRm37O02nmhBAlfWp5thCmOmUrui+oa+I8b9R5Oy9J5DyT7OL9tO6cyyhsvhUyw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=T08x0mJ8WGkPXlWMaBfXLXVLx3ens+k2wI5ud8bNLZo=; b=bNhQuRQy/ALoliIOSJe3uM/9uodO7Bdcd1AG1aXpZwBu3e/nXySb+dfmlPsyc2bOLKoV46ltuwIAlbkMqMzf5mJAkqXT3GG7SohxdoAVXnG/QY/yuLGLTVQnzwExH+TnEkd6pnm9YghZ4lwU6Wqb2QSOpDMJd8enuwJKMRTKpF0FWuGOq0rJvfUhUhWGuRSEOFUU4UHbFnoUC37LsQ9skOqgvMG0aciV/FKyj/MExbxGmuQbwO6QDgwlPR+O5gM3BHNr4Lk7NIB/U2WbuP9ZbxPm8uNbbOsQDX+kFtJ9k1efoWNiohqo1NET7CkdwPLXemeTEewIy8djVrEGjLwJWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4945.namprd11.prod.outlook.com (2603:10b6:303:9c::8) by MW4PR11MB6739.namprd11.prod.outlook.com (2603:10b6:303:20b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 19 Aug 2022 03:20:02 +0000 Received: from CO1PR11MB4945.namprd11.prod.outlook.com ([fe80::ece8:740d:999a:e17d]) by CO1PR11MB4945.namprd11.prod.outlook.com ([fe80::ece8:740d:999a:e17d%4]) with mapi id 15.20.5525.019; Fri, 19 Aug 2022 03:20:01 +0000 From: "Wang, Jian J" To: "Vang, Judah" , "devel@edk2.groups.io" CC: "Gao, Liming" , "Mistry, Nishant C" Subject: Re: [PATCH v4 06/28] MdeModulePkg: Add Null ProtectedVariable Library Thread-Topic: [PATCH v4 06/28] MdeModulePkg: Add Null ProtectedVariable Library Thread-Index: AQHYrU8sypOMo3hchkKhjQ/44/UkOK21mnTw Date: Fri, 19 Aug 2022 03:20:01 +0000 Message-ID: References: <20220811065337.2068-1-judah.vang@intel.com> <20220811065337.2068-7-judah.vang@intel.com> In-Reply-To: <20220811065337.2068-7-judah.vang@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 033ca328-dafd-446f-9d0d-08da8191b420 x-ms-traffictypediagnostic: MW4PR11MB6739:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SJmvM4iScSllJOfnYf9/72xihZBcKbz5jUicTR0CbJcaDKmoIpx4E7CidvalAIYX/7ofMvGZdpepLY38nC9thWhnCi4JiogZOoTQsvKMjjWtr34LVIKIa5JPs2rWyw/Ta/f9IR6f8iE3FqmDOGxE5EIzFZ56kOsJoGFa3/FCWr0OVR35PM4gTsuLB+6DgV7ZPdc9EqCSLAIRVwnnqxAfFr5MGGIQVsl3IjT+W8Zbp+29kd38g/xb/VoLPzAiisrakYIZPktV7LEmK4qSpsoVVXIaXDispafqyPDDDBIg2ryT5vt4Dznhe1PfDVOOMZ79sU3zKBEfRXq3srdwVYksFoRAHvINYmgxuIDyvNmtTopMfCk3niaY31BYg7KZJIC4c7k3yrVBrIu6ZzYH0dPHBdkm9W2eXzjYSvl3fu12lDozeCjtA1I17K1VrzRAH1H7eoG9q2Tp0jEofhFZwlEZmgSYTMT3dklw5DZfpDK7gTdHmxrtrxK02d75cCuznIlO0NqOt8H4tTZCEEYRzc/GMukvF89Xpl76Bbi8PTxud/DdGnpt3TVQu7i3QMXdC3nnwY9VCu6MM12vtUv5sWqASetlNBdpK8GxFH6ofwPjGuXz/pAoLGdqLfTBofYq7JWzJBZJ4+15EN5FFJx349K+9NQ8lJ2BjqeXvFz2NCmOP5lNKXjP18+x3yE0hnNaEJOr/0e59YO9CL+j3GEYSlb94nh3NnaKHf0Y/Nob/hqt2wXForW3ohWBozuxzYRjlaHR9SElO5UuK0Fhz7BOE7eD+zGv5zd5p/ct8rIWp6ikSKo= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4945.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(136003)(39860400002)(396003)(366004)(6506007)(66476007)(9686003)(66556008)(107886003)(8676002)(64756008)(26005)(66946007)(83380400001)(76116006)(2906002)(66446008)(53546011)(33656002)(38100700002)(186003)(7696005)(8936002)(5660300002)(86362001)(52536014)(41300700001)(966005)(55016003)(71200400001)(4326008)(478600001)(122000001)(54906003)(82960400001)(30864003)(38070700005)(316002)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?YAi+SwpxZihKvtiYrdnxDvx+hsHRZ38ka21wOUO9uNlAY5rMVTON0E0oL4Qo?= =?us-ascii?Q?74cTxuFCj3Viv0uw8fLt0382idDQXsMLu5DRoCQG3KZ1LFW43whQWaPgNJMn?= =?us-ascii?Q?2YaEvqGmRL6CfHF9jg8CImN7anceiyRuhM6MfcKwPX8z0e9vUQjbl5pWXbkl?= =?us-ascii?Q?yWlEp0nBHGujiybc/qTU9ta0UiBgzCl3Jku/lN/48Ok3ZO9q36XZl5Rz0/TK?= =?us-ascii?Q?aJiachQlCAjzcxo98y/hoHlcGiEJAuFhK+3Uny7ItadHm+U0Jf/S1cD+G7Xa?= =?us-ascii?Q?ylj4NBJg1GrICh443WsUQxbXAOVD0tdnXu4y+pEkwsnZO/X8EkudghbYJH3R?= =?us-ascii?Q?iSMaEtBJDSGhFiOjuYPBl9veAWckaw0wueqvZXQ3ELK8QBd12gc5rMPKhVZU?= =?us-ascii?Q?CDUHhJXmFKUSXb1xLaxVUWofgLOubUSJ0OUfLJhLF9cPj8MSG+5N72GZ6404?= =?us-ascii?Q?opD+1WyJ3AdmyDfkfMt5YLtI6a7+zbyO7GoPKGUWrpRHy9mNMAa6VldFKjKw?= =?us-ascii?Q?ekQaWG639duZBCYr8gryu5n1tE+Ne1iywtK2VzUzgumSA+eCVsQyT72eVIE5?= =?us-ascii?Q?lv8VGXJ3d5SHjx9IQPxsEfZnxTPHZ2xlMueca2gpmJAhB5GKa2/mxKV5B1eV?= =?us-ascii?Q?cZy23v7ZdJ6Ss1hn3P2s5HGjhgF0kcUk0NIlen6OtkEIYCX2U/Avaf+/G5cf?= =?us-ascii?Q?G6bgxPNwoCz5Ptg27CmG+0rI0ES18pLLOmuUqD8AGpso2Kgv0eLdCVZuPWLy?= =?us-ascii?Q?u0/OICChSdmBEjrBPyrzLbvNrnV+uTWR5xluo5qZmVUaSZAx2pEVTxwhZY6E?= =?us-ascii?Q?ahemAhhW7vQnlPzJwLPI8LWIk+4GubprpQB9SrMW3XsatpXqOAJpLf5aMvFC?= =?us-ascii?Q?7SZwQjioN6GMkl81ZBBqMcmbXYw+3SPMkaFHIvRnzUCEFZGUpJf3zWUIsGOc?= =?us-ascii?Q?iFgOzkDSdJWy/dIX6QeebgUrnm4tmuCHuvtsj17nVSniLGlcbGDFDKOwMX++?= =?us-ascii?Q?b7RtMeHsLBQloHgibyyqWfR1no9VQAK7cBtvZJFLAsrXeWxto2mejw42sdi2?= =?us-ascii?Q?0BVJUhFU0qY9TYyVIb061+O/sr5IiuBDFtAfkPVXUqRfflfz1guFznSx1psG?= =?us-ascii?Q?u7yDv6I93vgNdoqCQa8Pp49H4Y1bQjfl+AT7hE9Kpou6OeGzLYBuFSPQVVMM?= =?us-ascii?Q?l/hKRiI4qkf4FMESCAgaZZ4xP6mpUqRxl+8yv4N3Pl/SBL5t4G/PeDOt+9KV?= =?us-ascii?Q?OK+mCljEi5+izzOVFpKi1DOlpAZxQXc8y6dkUHQRbiI8aaXbMLH3gL9fpRfK?= =?us-ascii?Q?xKMoVauhDmpMv+eeDOVkKPUSNajzJZAeg1BgojKPDkaabRgq9LbcB4a6RbFp?= =?us-ascii?Q?n0mD6aWGDJa54+9ZvfdfLws2X9hPPM2Q3nencsrl1kWzaA1pf7LhZjHfC06A?= =?us-ascii?Q?ogfmJsao981H3WrlFq3dTgdpx/AGgydcRQlBqvftJODRAO4ueZ+AqBnqtNpL?= =?us-ascii?Q?viUsGQ22QS98Y1I01tg61Xn3a5BHgrFu/A9+aS/8W7Xypt0XvMvZsQDIB708?= =?us-ascii?Q?b5C1Og5+H88jW4p9mmp7Sb4xlhzepWcGkiNgN3d6?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4945.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 033ca328-dafd-446f-9d0d-08da8191b420 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2022 03:20:01.8141 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cNN0Mfn2HmVPU3+y0pGnfCohyS4JCD4qjoeHBUZHy6GzH3n0syxHO/forQCyaYJ2z2SbecOjVEJriBwjU6ucEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB6739 Return-Path: jian.j.wang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jian J Wang Regards, Jian > -----Original Message----- > From: Vang, Judah > Sent: Thursday, August 11, 2022 2:53 PM > To: devel@edk2.groups.io > Cc: Wang, Jian J ; Gao, Liming > ; Mistry, Nishant C > Subject: [PATCH v4 06/28] MdeModulePkg: Add Null ProtectedVariable Librar= y >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2594 >=20 > V4: Applied code review comments - removed APIs that are not being > used. >=20 > V1: Add Null versions of the ProtectedVariable Library. > This will be the default libraries for platforms that > do not support ProtectedVariable. >=20 > Cc: Jian J Wang > Cc: Liming Gao > Cc: Nishant C Mistry > Signed-off-by: Jian J Wang > Signed-off-by: Nishant C Mistry > Signed-off-by: Judah Vang > --- > MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariableLibNull.i= nf > | 34 ++ > MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariable.c = | > 336 ++++++++++++++++++++ > 2 files changed, 370 insertions(+) >=20 > diff --git > a/MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariableLibNull.= in > f > b/MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariableLibNull.= in > f > new file mode 100644 > index 000000000000..6a17191c4e1e > --- /dev/null > +++ > b/MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariableLibNull.= in > f > @@ -0,0 +1,34 @@ > +## @file > +# Provides null version of protected variable services. > +# > +# Copyright (c) 2022, Intel Corporation. All rights reserved.
> +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +## > + > +[Defines] > + INF_VERSION =3D 0x00010029 > + BASE_NAME =3D ProtectedVariableLibNull > + FILE_GUID =3D 352C6A1B-403A-4E37-8517-FAA50BC4525= 1 > + MODULE_TYPE =3D BASE > + VERSION_STRING =3D 0.1 > + LIBRARY_CLASS =3D ProtectedVariableLib > + > +# > +# The following information is for reference only and not required by th= e build > tools. > +# > +# VALID_ARCHITECTURES =3D IA32 X64 > +# > + > +[Sources] > + ProtectedVariable.c > + > +[Packages] > + MdePkg/MdePkg.dec > + MdeModulePkg/MdeModulePkg.dec > + > +[LibraryClasses] > + BaseLib > + BaseMemoryLib > + DebugLib > + > diff --git > a/MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariable.c > b/MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariable.c > new file mode 100644 > index 000000000000..074559f84f52 > --- /dev/null > +++ b/MdeModulePkg/Library/ProtectedVariableLibNull/ProtectedVariable.c > @@ -0,0 +1,336 @@ > +/** @file > + NULL version of ProtectedVariableLib used to disable protected variabl= e > services. > + > +Copyright (c) 2022, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include > +#include > + > +#include > +#include > +#include > + > +/** > + > + Initialization for protected varibale services. > + > + @param[in] ContextIn Pointer to variable service context needed by > + protected variable. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibInitialize ( > + IN PROTECTED_VARIABLE_CONTEXT_IN *ContextIn > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Prepare for variable update. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibWriteInit ( > + VOID > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Update a variable with protection provided by this library. > + > + @param[in,out] CurrVariable Variable to be updated. It's NULL = if > + adding a new variable. > + @param[in] CurrVariableInDel In-delete-transiion copy of updati= ng > variable. > + @param[in,out] NewVariable Buffer of new variable data. > + Buffer of "MetaDataHmacVar" and ne= w > + variable (encrypted). > + @param[in,out] NewVariableSize Size of NewVariable. > + Size of (encrypted) NewVariable an= d > + "MetaDataHmacVar". > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibUpdate ( > + IN OUT VARIABLE_HEADER *CurrVariable, > + IN VARIABLE_HEADER *CurrVariableInDel, > + IN OUT VARIABLE_HEADER *NewVariable, > + IN OUT UINTN *NewVariableSize > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Finalize a variable updating after it's written to NV variable storage > + successfully. > + > + @param[in] NewVariable Buffer of new variables and > MetaDataHmacVar. > + @param[in] VariableSize Size of buffer pointed by NewVariabl= e. > + @param[in] StoreIndex New index of the variable in store. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibWriteFinal ( > + IN VARIABLE_HEADER *NewVariable, > + IN UINTN VariableSize, > + IN UINT64 StoreIndex > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Retrieve plain data, if encrypted, of given variable. > + > + @param[in] Variable Pointer to header of a Variable. > + @param[in,out] Data Pointer to plain data of the given = variable. > + @param[in,out] DataSize Size of data returned or data buffe= r needed. > + @param[in] AuthFlag Auth-variable indicator. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibGetData ( > + IN VARIABLE_HEADER *Variable, > + IN OUT VOID *Data, > + IN OUT UINT32 *DataSize, > + IN BOOLEAN AuthFlag > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Get the specified protected variable. > + > + @param[in] VariableName Pointer to variable name. > + @param[in] VariableGuid Pointer to vairable GUID. > + @param[out] Attributes Pointer to attributes. > + @param[in,out] DataSize Pointer to data size. > + @param[out] Data Pointer to data. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibGet ( > + IN CONST CHAR16 *VariableName, > + IN CONST EFI_GUID *VariableGuid, > + OUT UINT32 *Attributes, > + IN OUT UINTN *DataSize, > + OUT VOID *Data OPTIONAL > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Find the protected variable. > + > + @param[in,out] VarInfo Pointer to structure containing variab= le > information. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibFind ( > + IN OUT PROTECTED_VARIABLE_INFO *VarInfo > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Find next protected variable. > + > + @param[in,out] VariableNameSize Pointer to size of variable na= me. > + @param[in,out] VariableName Pointer to variable name. > + @param[in,out] VariableGuid Pointer to vairable GUID. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibFindNext ( > + IN OUT UINTN *VariableNameSize, > + IN OUT CHAR16 *VariableName, > + IN OUT EFI_GUID *VariableGuid > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Find next protected variable stub. > + > + @param[in,out] VarInfo Pointer to structure containing variab= le > information. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibFindNextEx ( > + IN OUT PROTECTED_VARIABLE_INFO *VarInfo > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Get protected variable by information. > + > + @param[in,out] VarInfo Pointer to structure containing variab= le > information. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibGetByInfo ( > + IN OUT PROTECTED_VARIABLE_INFO *VarInfo > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Get protected variable by name. > + > + @param[in] VariableName Pointer to variable name. > + @param[in] VariableGuid Pointer to vairable GUID. > + @param[out] Attributes Pointer to attributes. > + @param[in,out] DataSize Pointer to data size. > + @param[out] Data Pointer to data. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibGetByName ( > + IN CONST CHAR16 *VariableName, > + IN CONST EFI_GUID *VariableGuid, > + OUT UINT32 *Attributes, > + IN OUT UINTN *DataSize, > + OUT VOID *Data OPTIONAL > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Get protected variable by name. > + > + @param[in] Variable Pointer to variable name. > + @param[in,out] Data Pointer to variable data. > + @param[in,out] DataSize Pointer to data size. > + @param[in] AuthFlag Authenticate flag. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibGetByBuffer ( > + IN VARIABLE_HEADER *Variable, > + IN OUT VOID *Data, > + IN OUT UINT32 *DataSize, > + IN BOOLEAN AuthFlag > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + Refresh variable information changed by variable service. > + > + @param[in] Variable Pointer to buffer of the updated variable= . > + @param[in] VariableSize Size of variable pointed by Variable. > + @param[in] StoreIndex New index of the variable in store. > + @param[in] RefreshData Flag to indicate if the variable has been= updated. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibRefresh ( > + IN VARIABLE_HEADER *Variable, > + IN UINTN VariableSize, > + IN UINT64 StoreIndex, > + IN BOOLEAN RefreshData > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Get sorted protected variable list. > + > + @param[in,out] Buffer Pointer to buffer. > + @param[in,out] NumElements Pointer to number of elements. > + > + @retval EFI_UNSUPPORTED Unsupported to process protected var= iable. > + > +**/ > +EFI_STATUS > +EFIAPI > +ProtectedVariableLibGetSortedList ( > + IN OUT EFI_PHYSICAL_ADDRESS **Buffer, > + IN OUT UINTN *NumElements > + ) > +{ > + return EFI_UNSUPPORTED; > +} > + > +/** > + > + Determine if the variable is the HMAC variable. > + > + @param[in] VariableName Pointer to variable name. > + > + @return FALSE Variable is not HMAC variable > + > +**/ > +BOOLEAN > +ProtectedVariableLibIsHmac ( > + IN CHAR16 *VariableName > + ) > +{ > + return FALSE; > +} > -- > 2.35.1.windows.2