The function header of OpenDataFile doesn't match the actual prototype of this 
API.

And since it's IniParsingLib, how about using OpenIniFile/CloseIniFile? 

Regards,
Ray

>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Jiewen 
>Yao
>Sent: Wednesday, September 21, 2016 2:45 PM
>To: edk2-devel@lists.01.org
>Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Tian, Feng 
><feng.t...@intel.com>; Zhang, Chao B
><chao.b.zh...@intel.com>; Gao, Liming <liming....@intel.com>; Zeng, Star 
><star.z...@intel.com>
>Subject: [edk2] [PATCH 04/45] MdeModulePkg/Include: Add IniParsingLib header.
>
>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:
>================
>[SectionName]
>EntryName=EntryValue
>================
>
>Cc: Feng Tian <feng.t...@intel.com>
>Cc: Star Zeng <star.z...@intel.com>
>Cc: Michael D Kinney <michael.d.kin...@intel.com>
>Cc: Liming Gao <liming....@intel.com>
>Cc: Chao Zhang <chao.b.zh...@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Jiewen Yao <jiewen....@intel.com>
>---
> MdeModulePkg/Include/Library/IniParsingLib.h | 153 ++++++++++++++++++++
> 1 file changed, 153 insertions(+)
>
>diff --git a/MdeModulePkg/Include/Library/IniParsingLib.h 
>b/MdeModulePkg/Include/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:
>+    ================
>+    [SectionName]
>+    EntryName=EntryValue
>+    ================
>+
>+Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
>+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 IMPLIED.
>+
>+**/
>+
>+
>+#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
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to