2 The internal definitions of EFI REST Resource JSON to C structure convertor
5 (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
11 #ifndef EFI_REST_JSON_STRUCTURE_INTERNAL_H_
12 #define EFI_REST_JSON_STRUCTURE_INTERNAL_H_
14 #include <Library/BaseLib.h>
15 #include <Library/UefiLib.h>
16 #include <Library/UefiBootServicesTableLib.h>
17 #include <Library/UefiDriverEntryPoint.h>
18 #include <Library/BaseMemoryLib.h>
19 #include <Library/MemoryAllocationLib.h>
22 /// Internal structure to maintain the information of JSON to
23 /// C structure convertor.
25 typedef struct _REST_JSON_STRUCTURE_INSTANCE
{
26 LIST_ENTRY NextRestJsonStructureInstance
; ///< Next convertor instance
27 UINTN NumberOfNameSpaceToConvert
; ///< Number of resource type this convertor supports.
28 EFI_REST_JSON_RESOURCE_TYPE_IDENTIFIER
*SupportedRsrcIndentifier
; ///< The resource type linklist
29 EFI_REST_JSON_STRUCTURE_TO_STRUCTURE JsonToStructure
; ///< JSON to C structure function
30 EFI_REST_JSON_STRUCTURE_TO_JSON StructureToJson
; ///< C structure to JSON function
31 EFI_REST_JSON_STRUCTURE_DESTORY_STRUCTURE DestroyStructure
; ///< Destory C struture function.
32 } REST_JSON_STRUCTURE_INSTANCE
;