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 host API based SEC
24 #define STACK_SIZE 0x20000
27 EFI_PHYSICAL_ADDRESS Address
;
32 EFI_PHYSICAL_ADDRESS Memory
;
41 VOID
*Pe32Data
, // TODO: add IN/OUT modifier to Pe32Data
42 EFI_PHYSICAL_ADDRESS
*ImageAddress
, // TODO: add IN/OUT modifier to ImageAddress
43 UINT64
*ImageSize
, // TODO: add IN/OUT modifier to ImageSize
44 EFI_PHYSICAL_ADDRESS
*EntryPoint
// TODO: add IN/OUT modifier to EntryPoint
50 TODO: Add function description
54 Pe32Data - TODO: add argument description
55 ImageAddress - TODO: add argument description
56 ImageSize - TODO: add argument description
57 EntryPoint - TODO: add argument description
61 TODO: add return values
70 OUT EFI_PHYSICAL_ADDRESS
*MemoryBase
,
71 OUT UINT64
*MemorySize
77 TODO: Add function description
81 Index - TODO: add argument description
82 MemoryBase - TODO: add argument description
83 MemorySize - TODO: add argument description
87 TODO: add return values
94 SecWinNtWinNtThunkAddress (
101 TODO: Add function description
105 InterfaceSize - TODO: add argument description
106 InterfaceBase - TODO: add argument description
110 TODO: add return values
117 SecWinNtWinNtFwhAddress (
118 IN OUT UINT64
*FwhSize
,
119 IN OUT EFI_PHYSICAL_ADDRESS
*FwhBase
125 TODO: Add function description
129 FwhSize - TODO: add argument description
130 FwhBase - TODO: add argument description
134 TODO: add return values
141 SecPeiReportStatusCode (
142 IN EFI_PEI_SERVICES
**PeiServices
,
143 IN EFI_STATUS_CODE_TYPE CodeType
,
144 IN EFI_STATUS_CODE_VALUE Value
,
146 IN EFI_GUID
* CallerId
,
147 IN EFI_STATUS_CODE_DATA
* Data OPTIONAL
153 TODO: Add function description
157 PeiServices - TODO: add argument description
158 CodeType - TODO: add argument description
159 Value - TODO: add argument description
160 Instance - TODO: add argument description
161 CallerId - TODO: add argument description
162 Data - TODO: add argument description
166 TODO: add return values
182 TODO: Add function description
186 Argc - TODO: add argument description
187 Argv - TODO: add argument description
188 Envp - TODO: add argument description
192 TODO: add return values
199 IN UINTN LargestRegion
,
200 IN UINTN LargestRegionSize
,
201 IN UINTN BootFirmwareVolumeBase
,
208 TODO: Add function description
212 LargestRegion - TODO: add argument description
213 LargestRegionSize - TODO: add argument description
214 BootFirmwareVolumeBase - TODO: add argument description
215 PeiCoreFile - TODO: add argument description
219 TODO: add return values
227 IN EFI_PHYSICAL_ADDRESS
*ImageAddress
,
228 IN UINT64
*ImageSize
,
229 IN EFI_PHYSICAL_ADDRESS
*EntryPoint
235 TODO: Add function description
239 Pe32Data - TODO: add argument description
240 ImageAddress - TODO: add argument description
241 ImageSize - TODO: add argument description
242 EntryPoint - TODO: add argument description
246 TODO: add return values
253 IN EFI_FIRMWARE_VOLUME_HEADER
*FwVolHeader
,
260 TODO: Add function description
264 FwVolHeader - TODO: add argument description
265 Pe32Data - TODO: add argument description
269 TODO: add return values
276 IN EFI_FV_FILETYPE SearchType
,
277 IN EFI_FIRMWARE_VOLUME_HEADER
*FwVolHeader
,
278 IN OUT EFI_FFS_FILE_HEADER
**FileHeader
284 TODO: Add function description
288 SearchType - TODO: add argument description
289 FwVolHeader - TODO: add argument description
290 FileHeader - TODO: add argument description
294 TODO: add return values
300 SecFfsFindSectionData (
301 IN EFI_SECTION_TYPE SectionType
,
302 IN EFI_FFS_FILE_HEADER
*FfsFileHeader
,
303 IN OUT VOID
**SectionData
309 TODO: Add function description
313 SectionType - TODO: add argument description
314 FfsFileHeader - TODO: add argument description
315 SectionData - TODO: add argument description
319 TODO: add return values
326 SecWinNtPeCoffLoaderLoadAsDll (
327 IN CHAR8
*PdbFileName
,
328 IN VOID
**ImageEntryPoint
,
335 TODO: Add function description
339 PdbFileName - TODO: add argument description
340 ImageEntryPoint - TODO: add argument description
341 ModHandle - TODO: add argument description
345 TODO: add return values
352 SecWinNtPeCoffLoaderFreeLibrary (
359 TODO: Add function description
363 ModHandle - TODO: add argument description
367 TODO: add return values
376 IN OUT EFI_PHYSICAL_ADDRESS
*FdBase
,
377 IN OUT UINT64
*FdSize
383 TODO: Add function description
387 Index - TODO: add argument description
388 FdBase - TODO: add argument description
389 FdSize - TODO: add argument description
393 TODO: add return values
399 GetImageReadFunction (
400 IN PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
,
401 IN EFI_PHYSICAL_ADDRESS
*TopOfMemory
407 TODO: Add function description
411 ImageContext - TODO: add argument description
412 TopOfMemory - TODO: add argument description
416 TODO: add return values
426 IN OUT UINTN
*ReadSize
,
433 TODO: Add function description
437 FileHandle - TODO: add argument description
438 FileOffset - TODO: add argument description
439 ReadSize - TODO: add argument description
440 Buffer - TODO: add argument description
444 TODO: add return values
452 IN UINTN
*StrLen OPTIONAL
458 TODO: Add function description
462 Ascii - TODO: add argument description
463 StrLen - TODO: add argument description
467 TODO: add return values
473 CountSeperatorsInString (
474 IN
const CHAR16
*String
,
481 TODO: Add function description
485 String - TODO: add argument description
486 Seperator - TODO: add argument description
490 TODO: add return values
497 SecNt32PeCoffGetImageInfo (
498 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
499 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
504 SecNt32PeCoffLoadImage (
505 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
506 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
511 SecNt32PeCoffRelocateImage (
512 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
513 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
518 SecNt32PeCoffUnloadimage (
519 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL
*This
,
520 IN PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
525 EFI_PEI_PE_COFF_LOADER_PROTOCOL PeCoff
;
527 } EFI_PEI_PE_COFF_LOADER_PROTOCOL_INSTANCE
;
529 extern EFI_UNIX_THUNK_PROTOCOL
*gUnix
;