Home | History | Annotate | Download | only in GuidedSectionExtraction
      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   GuidedSectionExtraction.h
     15 
     16 Abstract:
     17 
     18   GUIDed section extraction protocol as defined in the Tiano File
     19   Image Format specification.
     20 
     21   This interface provides a means of decoding a GUID defined encapsulation
     22   section. There may be multiple different GUIDs associated with the GUIDed
     23   section extraction protocol. That is, all instances of the GUIDed section
     24   extraction protocol must have the same interface structure.
     25 
     26 --*/
     27 
     28 #ifndef _GUIDED_SECTION_EXTRACTION_PROTOCOL_H
     29 #define _GUIDED_SECTION_EXTRACTION_PROTOCOL_H
     30 
     31 #include "EfiFirmwareFileSystem.h"
     32 
     33 //
     34 // Protocol GUID definition. Each GUIDed section extraction protocol has the
     35 // same interface but with different GUID. All the GUIDs is defined here.
     36 // May add multiple GUIDs here.
     37 //
     38 #define EFI_CRC32_GUIDED_SECTION_EXTRACTION_PROTOCOL_GUID \
     39   { \
     40     0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83} \
     41   }
     42 
     43 //
     44 // Forward reference for pure ANSI compatability
     45 //
     46 EFI_FORWARD_DECLARATION (EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL);
     47 
     48 //
     49 // Protocol member functions
     50 //
     51 typedef
     52 EFI_STATUS
     53 (EFIAPI *EFI_EXTRACT_GUIDED_SECTION) (
     54   IN  EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL          * This,
     55   IN  VOID                                            *InputSection,
     56   OUT VOID                                            **OutputBuffer,
     57   OUT UINTN                                           *OutputSize,
     58   OUT UINT32                                          *AuthenticationStatus
     59   );
     60 
     61 //
     62 // Protocol definition
     63 //
     64 struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL {
     65   EFI_EXTRACT_GUIDED_SECTION  ExtractSection;
     66 };
     67 
     68 //
     69 // may add other GUID here
     70 //
     71 extern EFI_GUID gEfiCrc32GuidedSectionExtractionProtocolGuid;
     72 
     73 #endif
     74