1 /** @file 2 Provides services to perform additional actions when a PE/COFF image is loaded 3 or unloaded. This is useful for environment where symbols need to be loaded 4 and unloaded to support source level debugging. 5 6 Copyright (c) 2009, Intel Corporation. All rights reserved.<BR> 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 **/ 16 17 #ifndef __PE_COFF_EXTRA_ACTION_LIB_H__ 18 #define __PE_COFF_EXTRA_ACTION_LIB_H__ 19 20 #include <Library/PeCoffLib.h> 21 22 /** 23 Performs additional actions after a PE/COFF image has been loaded and relocated. 24 25 If ImageContext is NULL, then ASSERT(). 26 27 @param ImageContext Pointer to the image context structure that describes the 28 PE/COFF image that has already been loaded and relocated. 29 30 **/ 31 VOID 32 EFIAPI 33 PeCoffLoaderRelocateImageExtraAction ( 34 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext 35 ); 36 37 /** 38 Performs additional actions just before a PE/COFF image is unloaded. Any resources 39 that were allocated by PeCoffLoaderRelocateImageExtraAction() must be freed. 40 41 If ImageContext is NULL, then ASSERT(). 42 43 @param ImageContext Pointer to the image context structure that describes the 44 PE/COFF image that is being unloaded. 45 46 **/ 47 VOID 48 EFIAPI 49 PeCoffLoaderUnloadImageExtraAction ( 50 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext 51 ); 52 53 #endif 54