From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 B54751A1E26 for ; Thu, 29 Sep 2016 00:10:20 -0700 (PDT) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP; 29 Sep 2016 00:10:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,414,1470726000"; d="scan'208,217";a="1063828080" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga002.fm.intel.com with ESMTP; 29 Sep 2016 00:10:20 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 29 Sep 2016 00:10:19 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.15]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.101]) with mapi id 14.03.0248.002; Thu, 29 Sep 2016 15:10:17 +0800 From: "Yao, Jiewen" To: "Ni, Ruiyu" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Tian, Feng" , "Zhang, Chao B" , "Gao, Liming" , "Zeng, Star" Thread-Topic: [edk2] [PATCH 04/45] MdeModulePkg/Include: Add IniParsingLib header. Thread-Index: AQHSE9Pckw3YdFPnHEypNNl2LL829KCPjooAgACK2VA= Date: Thu, 29 Sep 2016 07:10:17 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503869B14A@shsmsx102.ccr.corp.intel.com> References: <1474440326-9292-1-git-send-email-jiewen.yao@intel.com> <1474440326-9292-5-git-send-email-jiewen.yao@intel.com> <734D49CCEBEEF84792F5B80ED585239D58E0E716@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D58E0E716@SHSMSX104.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: [PATCH 04/45] MdeModulePkg/Include: Add IniParsingLib header. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Sep 2016 07:10:20 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Agree. From: Ni, Ruiyu Sent: Thursday, September 29, 2016 2:53 PM To: Yao, Jiewen ; edk2-devel@lists.01.org Cc: Kinney, Michael D ; Tian, Feng ; Zhang, Chao B ; Gao, Liming ; Zeng, Star Subject: RE: [edk2] [PATCH 04/45] MdeModulePkg/Include: Add IniParsingLib h= eader. The function header of OpenDataFile doesn't match the actual prototype of t= his API. And since it's IniParsingLib, how about using OpenIniFile/CloseIniFile? Regards, Ray >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jie= wen Yao >Sent: Wednesday, September 21, 2016 2:45 PM >To: edk2-devel@lists.01.org >Cc: Kinney, Michael D >; Tian, Feng >; = Zhang, Chao B >>; Gao, Liming >; Zeng, Star > >Subject: [edk2] [PATCH 04/45] MdeModulePkg/Include: Add IniParsingLib head= er. > >This library is used to parse the INI configuration file. >The INI configuration file is used in EDKII capsule image to describe >the capsule information. > >The INI file format is: >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >[SectionName] >EntryName=3DEntryValue >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >Cc: Feng Tian > >Cc: Star Zeng > >Cc: Michael D Kinney > >Cc: Liming Gao > >Cc: Chao Zhang > >Contributed-under: TianoCore Contribution Agreement 1.0 >Signed-off-by: Jiewen Yao > >--- > MdeModulePkg/Include/Library/IniParsingLib.h | 153 ++++++++++++++++++++ > 1 file changed, 153 insertions(+) > >diff --git a/MdeModulePkg/Include/Library/IniParsingLib.h b/MdeModulePkg/I= nclude/Library/IniParsingLib.h >new file mode 100644 >index 0000000..e3ed18d >--- /dev/null >+++ b/MdeModulePkg/Include/Library/IniParsingLib.h >@@ -0,0 +1,153 @@ >+/** @file >+ INI configuration parsing library. >+ >+ The INI file format is: >+ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >+ [SectionName] >+ EntryName=3DEntryValue >+ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >+ >+Copyright (c) 2016, Intel Corporation. All rights reserved.
>+This program and the accompanying materials >+are licensed and made available under the terms and conditions of the BSD= License >+which accompanies this distribution. The full text of the license may be= found at >+http://opensource.org/licenses/bsd-license.php >+ >+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, >+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPL= IED. >+ >+**/ >+ >+ >+#ifndef __INI_PARSING_LIB_H__ >+#define __INI_PARSING_LIB_H__ >+ >+/** >+ Open an INI config file and return a context. >+ >+ @param DataBuffer Config raw file buffer. >+ @param BufferSize Size of raw buffer. >+ >+ @retval EFI_SUCCESS Config data buffer is opened and context = is returned. >+ @retval EFI_OUT_OF_RESOURCES No enough memory is allocated. >+**/ >+VOID * >+EFIAPI >+OpenDataFile( >+ IN UINT8 *DataBuffer, >+ IN UINTN BufferSize >+ ); >+ >+/** >+ Get section entry string value. >+ >+ @param Context INI Config file context. >+ @param SectionName Section name. >+ @param EntryName Section entry name. >+ @param EntryValue Point to the got entry string value. >+ >+ @retval EFI_SUCCESS Section entry string value is got. >+ @retval EFI_NOT_FOUND Section is not found. >+**/ >+EFI_STATUS >+EFIAPI >+GetStringFromDataFile( >+ IN VOID *Context, >+ IN CHAR8 *SectionName, >+ IN CHAR8 *EntryName, >+ OUT CHAR8 **EntryValue >+ ); >+ >+/** >+ Get section entry GUID value. >+ >+ @param Context INI Config file context. >+ @param SectionName Section name. >+ @param EntryName Section entry name. >+ @param Guid Point to the got GUID value. >+ >+ @retval EFI_SUCCESS Section entry GUID value is got. >+ @retval EFI_NOT_FOUND Section is not found. >+**/ >+EFI_STATUS >+EFIAPI >+GetGuidFromDataFile( >+ IN VOID *Context, >+ IN CHAR8 *SectionName, >+ IN CHAR8 *EntryName, >+ OUT EFI_GUID *Guid >+ ); >+ >+/** >+ Get section entry UINTN value. >+ >+ @param Context INI Config file context. >+ @param SectionName Section name. >+ @param EntryName Section entry name. >+ @param Data Point to the got UINTN value. >+ >+ @retval EFI_SUCCESS Section entry UINTN value is got. >+ @retval EFI_NOT_FOUND Section is not found. >+**/ >+EFI_STATUS >+EFIAPI >+GetDecimalUintnFromDataFile( >+ IN VOID *Context, >+ IN CHAR8 *SectionName, >+ IN CHAR8 *EntryName, >+ OUT UINTN *Data >+ ); >+ >+/** >+ Get section entry heximal UINTN value. >+ >+ @param Context INI Config file context. >+ @param SectionName Section name. >+ @param EntryName Section entry name. >+ @param Data Point to the got heximal UINTN value. >+ >+ @retval EFI_SUCCESS Section entry heximal UINTN value is got. >+ @retval EFI_NOT_FOUND Section is not found. >+**/ >+EFI_STATUS >+EFIAPI >+GetHexUintnFromDataFile( >+ IN VOID *Context, >+ IN CHAR8 *SectionName, >+ IN CHAR8 *EntryName, >+ OUT UINTN *Data >+ ); >+ >+/** >+ Get section entry heximal UINT64 value. >+ >+ @param Context INI Config file context. >+ @param SectionName Section name. >+ @param EntryName Section entry name. >+ @param Data Point to the got heximal UINT64 value. >+ >+ @retval EFI_SUCCESS Section entry heximal UINT64 value is got. >+ @retval EFI_NOT_FOUND Section is not found. >+**/ >+EFI_STATUS >+EFIAPI >+GetHexUint64FromDataFile( >+ IN VOID *Context, >+ IN CHAR8 *SectionName, >+ IN CHAR8 *EntryName, >+ OUT UINT64 *Data >+ ); >+ >+/** >+ Close an INI config file and free the context. >+ >+ @param Context INI Config file context. >+**/ >+VOID >+EFIAPI >+CloseDataFile( >+ IN VOID *Context >+ ); >+ >+#endif >+ >-- >2.7.4.windows.1 > >_______________________________________________ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel