Home | History | Annotate | Download | only in PeiTransferControl
      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