]> git.proxmox.com Git - mirror_edk2.git/blame - InOsEmuPkg/Library/ThunkPpiList/ThunkPpiList.c
Clarify the requirements for the Destination parameter of UnicodeStrToAsciiStr.
[mirror_edk2.git] / InOsEmuPkg / Library / ThunkPpiList / ThunkPpiList.c
CommitLineData
949f388f 1/** @file\r
2 Emulator Thunk to abstract OS services from pure EFI code\r
3\r
4 Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>\r
b8800fc5 5 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
949f388f 6 \r
7 This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which accompanies this distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php\r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14\r
15**/\r
16\r
17#include <PiPei.h>\r
18#include <Library/BaseLib.h>\r
b8800fc5 19#include <Library/MemoryAllocationLib.h>\r
949f388f 20\r
21\r
22UINTN gThunkPpiListSize = 0;\r
23EFI_PEI_PPI_DESCRIPTOR *gThunkPpiList = NULL;\r
24\r
25\r
26\r
27EFI_PEI_PPI_DESCRIPTOR *\r
28GetThunkPpiList (\r
29 VOID\r
30 )\r
31{\r
32 UINTN Index;\r
33 \r
34 if (gThunkPpiList == NULL) {\r
35 return NULL;\r
36 }\r
37\r
38 Index = (gThunkPpiListSize/sizeof (EFI_PEI_PPI_DESCRIPTOR)) - 1;\r
39 gThunkPpiList[Index].Flags |= EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;\r
40 \r
41 return gThunkPpiList;\r
42}\r
43\r
44\r
45EFI_STATUS\r
46EFIAPI\r
47AddThunkPpi (\r
48 IN UINTN Flags,\r
49 IN EFI_GUID *Guid,\r
50 IN VOID *Ppi\r
51 )\r
52{\r
53 UINTN Index;\r
b8800fc5 54\r
55 gThunkPpiList = ReallocatePool (\r
56 gThunkPpiListSize,\r
57 gThunkPpiListSize + sizeof (EFI_PEI_PPI_DESCRIPTOR),\r
58 gThunkPpiList\r
59 );\r
949f388f 60 if (gThunkPpiList == NULL) {\r
61 return EFI_OUT_OF_RESOURCES;\r
62 }\r
63 \r
64 Index = (gThunkPpiListSize/sizeof (EFI_PEI_PPI_DESCRIPTOR));\r
65 gThunkPpiList[Index].Flags = Flags;\r
66 gThunkPpiList[Index].Guid = Guid;\r
67 gThunkPpiList[Index].Ppi = Ppi;\r
68 gThunkPpiListSize += sizeof (EFI_PEI_PPI_DESCRIPTOR);\r
69\r
70 return EFI_SUCCESS;\r
71}\r
72\r
73\r
74\r
75\r
76\r