1 /*++ 2 3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR> 4 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 8 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. 11 12 Module Name: 13 14 PeiTransferControl.h 15 16 Abstract: 17 18 GUID for the SetJump()/LongJump() APIs shared between PEI and DXE 19 20 --*/ 21 22 #ifndef _PEI_TRANSFER_CONTROL_H_ 23 #define _PEI_TRANSFER_CONTROL_H_ 24 25 #define EFI_PEI_TRANSFER_CONTROL_GUID \ 26 { 0xd8117d02, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } 27 28 29 EFI_FORWARD_DECLARATION (EFI_PEI_TRANSFER_CONTROL_PROTOCOL); 30 31 typedef 32 EFI_STATUS 33 (EFIAPI *EFI_PEI_TRANSFER_CONTROL_SET_JUMP) ( 34 IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This, 35 OUT VOID *Context 36 ); 37 38 typedef 39 EFI_STATUS 40 (EFIAPI *EFI_PEI_TRANSFER_CONTROL_LONG_JUMP) ( 41 IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This, 42 IN VOID *Context 43 ); 44 45 struct _EFI_PEI_TRANSFER_CONTROL_PROTOCOL { 46 EFI_PEI_TRANSFER_CONTROL_SET_JUMP SetJump; 47 EFI_PEI_TRANSFER_CONTROL_LONG_JUMP LongJump; 48 UINT32 JumpContextSize; 49 }; 50 51 extern EFI_GUID gEfiPeiTransferControlGuid; 52 53 #endif 54