3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 Include file for Windows API based SEC
24 #define STACK_SIZE 0x20000
27 EFI_PHYSICAL_ADDRESS Address
;
31 #define NT_SYSTEM_MEMORY_FILENAME_SIZE 40
34 CHAR16 FileName
[NT_SYSTEM_MEMORY_FILENAME_SIZE
];
35 EFI_PHYSICAL_ADDRESS Memory
;
40 #define MAX_PDB_NAME_TO_MOD_HANDLE_ARRAY_SIZE 0x100
45 } PDB_NAME_TO_MOD_HANDLE
;
53 VOID
*Pe32Data
, // TODO: add IN/OUT modifier to Pe32Data
54 EFI_PHYSICAL_ADDRESS
*ImageAddress
, // TODO: add IN/OUT modifier to ImageAddress
55 UINT64
*ImageSize
, // TODO: add IN/OUT modifier to ImageSize
56 EFI_PHYSICAL_ADDRESS
*EntryPoint
// TODO: add IN/OUT modifier to EntryPoint
62 TODO: Add function description
66 Pe32Data - TODO: add argument description
67 ImageAddress - TODO: add argument description
68 ImageSize - TODO: add argument description
69 EntryPoint - TODO: add argument description
73 TODO: add return values
82 OUT EFI_PHYSICAL_ADDRESS
*MemoryBase
,
83 OUT UINT64
*MemorySize
89 TODO: Add function description
93 Index - TODO: add argument description
94 MemoryBase - TODO: add argument description
95 MemorySize - TODO: add argument description
99 TODO: add return values
106 SecWinNtWinNtThunkAddress (
113 TODO: Add function description
117 InterfaceSize - TODO: add argument description
118 InterfaceBase - TODO: add argument description
122 TODO: add return values
129 SecWinNtWinNtFwhAddress (
130 IN OUT UINT64
*FwhSize
,
131 IN OUT EFI_PHYSICAL_ADDRESS
*FwhBase
137 TODO: Add function description
141 FwhSize - TODO: add argument description
142 FwhBase - TODO: add argument description
146 TODO: add return values
153 SecPeiReportStatusCode (
154 IN EFI_PEI_SERVICES
**PeiServices
,
155 IN EFI_STATUS_CODE_TYPE CodeType
,
156 IN EFI_STATUS_CODE_VALUE Value
,
158 IN EFI_GUID
* CallerId
,
159 IN EFI_STATUS_CODE_DATA
* Data OPTIONAL
165 TODO: Add function description
169 PeiServices - TODO: add argument description
170 CodeType - TODO: add argument description
171 Value - TODO: add argument description
172 Instance - TODO: add argument description
173 CallerId - TODO: add argument description
174 Data - TODO: add argument description
178 TODO: add return values
194 TODO: Add function description
198 Argc - TODO: add argument description
199 Argv - TODO: add argument description
200 Envp - TODO: add argument description
204 TODO: add return values
213 DWORD CreationDispostion
,
214 EFI_PHYSICAL_ADDRESS
*BaseAddress
,
221 TODO: Add function description
225 FileName - TODO: add argument description
226 MapSize - TODO: add argument description
227 CreationDispostion - TODO: add argument description
228 BaseAddress - TODO: add argument description
229 Length - TODO: add argument description
233 TODO: add return values
240 IN UINTN LargestRegion
,
241 IN UINTN LargestRegionSize
,
242 IN UINTN BootFirmwareVolumeBase
,
249 TODO: Add function description
253 LargestRegion - TODO: add argument description
254 LargestRegionSize - TODO: add argument description
255 BootFirmwareVolumeBase - TODO: add argument description
256 PeiCoreFile - TODO: add argument description
260 TODO: add return values
268 IN EFI_PHYSICAL_ADDRESS
*ImageAddress
,
269 IN UINT64
*ImageSize
,
270 IN EFI_PHYSICAL_ADDRESS
*EntryPoint
276 TODO: Add function description
280 Pe32Data - TODO: add argument description
281 ImageAddress - TODO: add argument description
282 ImageSize - TODO: add argument description
283 EntryPoint - TODO: add argument description
287 TODO: add return values
294 IN EFI_FIRMWARE_VOLUME_HEADER
*FwVolHeader
,
301 TODO: Add function description
305 FwVolHeader - TODO: add argument description
306 Pe32Data - TODO: add argument description
310 TODO: add return values
317 IN EFI_FV_FILETYPE SearchType
,
318 IN EFI_FIRMWARE_VOLUME_HEADER
*FwVolHeader
,
319 IN OUT EFI_FFS_FILE_HEADER
**FileHeader
325 TODO: Add function description
329 SearchType - TODO: add argument description
330 FwVolHeader - TODO: add argument description
331 FileHeader - TODO: add argument description
335 TODO: add return values
341 SecFfsFindSectionData (
342 IN EFI_SECTION_TYPE SectionType
,
343 IN EFI_FFS_FILE_HEADER
*FfsFileHeader
,
344 IN OUT VOID
**SectionData
350 TODO: Add function description
354 SectionType - TODO: add argument description
355 FfsFileHeader - TODO: add argument description
356 SectionData - TODO: add argument description
360 TODO: add return values
367 SecWinNtPeCoffLoaderLoadAsDll (
368 IN CHAR8
*PdbFileName
,
369 IN VOID
**ImageEntryPoint
,
376 TODO: Add function description
380 PdbFileName - TODO: add argument description
381 ImageEntryPoint - TODO: add argument description
382 ModHandle - TODO: add argument description
386 TODO: add return values
393 SecWinNtPeCoffLoaderFreeLibrary (
400 TODO: Add function description
404 ModHandle - TODO: add argument description
408 TODO: add return values
417 IN OUT EFI_PHYSICAL_ADDRESS
*FdBase
,
418 IN OUT UINT64
*FdSize
424 TODO: Add function description
428 Index - TODO: add argument description
429 FdBase - TODO: add argument description
430 FdSize - TODO: add argument description
434 TODO: add return values
440 GetImageReadFunction (
441 IN PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
,
442 IN EFI_PHYSICAL_ADDRESS
*TopOfMemory
448 TODO: Add function description
452 ImageContext - TODO: add argument description
453 TopOfMemory - TODO: add argument description
457 TODO: add return values
467 IN OUT UINTN
*ReadSize
,
474 TODO: Add function description
478 FileHandle - TODO: add argument description
479 FileOffset - TODO: add argument description
480 ReadSize - TODO: add argument description
481 Buffer - TODO: add argument description
485 TODO: add return values
493 IN UINTN
*StrLen OPTIONAL
499 TODO: Add function description
503 Ascii - TODO: add argument description
504 StrLen - TODO: add argument description
508 TODO: add return values
514 CountSeperatorsInString (
515 IN
const CHAR16
*String
,
522 TODO: Add function description
526 String - TODO: add argument description
527 Seperator - TODO: add argument description
531 TODO: add return values
538 SecNt32PeCoffGetImageInfo (
539 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
540 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
545 SecNt32PeCoffLoadImage (
546 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
547 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
552 SecNt32PeCoffRelocateImage (
553 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
554 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
559 SecNt32PeCoffUnloadimage (
560 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
561 IN PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
566 EFI_PEI_PE_COFF_LOADER_PROTOCOL PeCoff
;
568 } EFI_PEI_PE_COFF_LOADER_PROTOCOL_INSTANCE
;
570 extern EFI_WIN_NT_THUNK_PROTOCOL
*gWinNt
;