TianoCore EDK2 master
Loading...
Searching...
No Matches
IniParsingLib.h File Reference

Go to the source code of this file.

Functions

VOID *EFIAPI OpenIniFile (IN UINT8 *DataBuffer, IN UINTN BufferSize)
 
EFI_STATUS EFIAPI GetStringFromDataFile (IN VOID *Context, IN CHAR8 *SectionName, IN CHAR8 *EntryName, OUT CHAR8 **EntryValue)
 
EFI_STATUS EFIAPI GetGuidFromDataFile (IN VOID *Context, IN CHAR8 *SectionName, IN CHAR8 *EntryName, OUT EFI_GUID *Guid)
 
EFI_STATUS EFIAPI GetDecimalUintnFromDataFile (IN VOID *Context, IN CHAR8 *SectionName, IN CHAR8 *EntryName, OUT UINTN *Data)
 
EFI_STATUS EFIAPI GetHexUintnFromDataFile (IN VOID *Context, IN CHAR8 *SectionName, IN CHAR8 *EntryName, OUT UINTN *Data)
 
EFI_STATUS EFIAPI GetHexUint64FromDataFile (IN VOID *Context, IN CHAR8 *SectionName, IN CHAR8 *EntryName, OUT UINT64 *Data)
 
VOID EFIAPI CloseIniFile (IN VOID *Context)
 

Detailed Description

INI configuration parsing library.

The INI file format is:

[SectionName]

EntryName=EntryValue

Where: 1) SectionName is an ASCII string. The valid format is [A-Za-z0-9_]+ 2) EntryName is an ASCII string. The valid format is [A-Za-z0-9_]+ 3) EntryValue can be: 3.1) an ASCII String. The valid format is [A-Za-z0-9_]+ 3.2) a GUID. The valid format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, where x is [A-Fa-f0-9] 3.3) a decimal value. The valid format is [0-9]+ 3.4) a hexadecimal value. The valid format is 0x[A-Fa-f0-9]+ 4) '#' or ';' can be used as comment at anywhere. 5) TAB(0x20) or SPACE(0x9) can be used as separator. 6) LF(
, 0xA) or CR(\r, 0xD) can be used as line break.

Copyright (c) 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file IniParsingLib.h.

Function Documentation

◆ CloseIniFile()

VOID EFIAPI CloseIniFile ( IN VOID *  Context)

Close an INI config file and free the context.

Parameters
[in]ContextINI Config file context.

Definition at line 1326 of file IniParsingLib.c.

◆ GetDecimalUintnFromDataFile()

EFI_STATUS EFIAPI GetDecimalUintnFromDataFile ( IN VOID *  Context,
IN CHAR8 *  SectionName,
IN CHAR8 *  EntryName,
OUT UINTN Data 
)

Get section entry decimal UINTN value.

Parameters
[in]ContextINI Config file context.
[in]SectionNameSection name.
[in]EntryNameSection entry name.
[out]DataPoint to the got decimal UINTN value.
Return values
EFI_SUCCESSSection entry decimal UINTN value is got.
EFI_NOT_FOUNDSection is not found.

Definition at line 1194 of file IniParsingLib.c.

◆ GetGuidFromDataFile()

EFI_STATUS EFIAPI GetGuidFromDataFile ( IN VOID *  Context,
IN CHAR8 *  SectionName,
IN CHAR8 *  EntryName,
OUT EFI_GUID Guid 
)

Get section entry GUID value.

Parameters
[in]ContextINI Config file context.
[in]SectionNameSection name.
[in]EntryNameSection entry name.
[out]GuidPoint to the got GUID value.
Return values
EFI_SUCCESSSection entry GUID value is got.
EFI_NOT_FOUNDSection is not found.

Definition at line 1147 of file IniParsingLib.c.

◆ GetHexUint64FromDataFile()

EFI_STATUS EFIAPI GetHexUint64FromDataFile ( IN VOID *  Context,
IN CHAR8 *  SectionName,
IN CHAR8 *  EntryName,
OUT UINT64 *  Data 
)

Get section entry hexadecimal UINT64 value.

Parameters
[in]ContextINI Config file context.
[in]SectionNameSection name.
[in]EntryNameSection entry name.
[out]DataPoint to the got hexadecimal UINT64 value.
Return values
EFI_SUCCESSSection entry hexadecimal UINT64 value is got.
EFI_NOT_FOUNDSection is not found.

Definition at line 1286 of file IniParsingLib.c.

◆ GetHexUintnFromDataFile()

EFI_STATUS EFIAPI GetHexUintnFromDataFile ( IN VOID *  Context,
IN CHAR8 *  SectionName,
IN CHAR8 *  EntryName,
OUT UINTN Data 
)

Get section entry hexadecimal UINTN value.

Parameters
[in]ContextINI Config file context.
[in]SectionNameSection name.
[in]EntryNameSection entry name.
[out]DataPoint to the got hexadecimal UINTN value.
Return values
EFI_SUCCESSSection entry hexadecimal UINTN value is got.
EFI_NOT_FOUNDSection is not found.

Definition at line 1240 of file IniParsingLib.c.

◆ GetStringFromDataFile()

EFI_STATUS EFIAPI GetStringFromDataFile ( IN VOID *  Context,
IN CHAR8 *  SectionName,
IN CHAR8 *  EntryName,
OUT CHAR8 **  EntryValue 
)

Get section entry string value.

Parameters
[in]ContextINI Config file context.
[in]SectionNameSection name.
[in]EntryNameSection entry name.
[out]EntryValuePoint to the got entry string value.
Return values
EFI_SUCCESSSection entry string value is got.
EFI_NOT_FOUNDSection is not found.

Definition at line 1108 of file IniParsingLib.c.

◆ OpenIniFile()

VOID *EFIAPI OpenIniFile ( IN UINT8 *  DataBuffer,
IN UINTN  BufferSize 
)

Open an INI config file and return a context.

Parameters
[in]DataBufferConfig raw file buffer.
[in]BufferSizeSize of raw buffer.
Returns
Config data buffer is opened and context is returned.
Return values
NULLNo enough memory is allocated.
NULLConfig data buffer is invalid.

Definition at line 1058 of file IniParsingLib.c.