5d31eca2a5b4970dff07809f92b62c531cea8a81
[mirror_edk2.git] / MdeModulePkg / Universal / Capsule / RuntimeDxe / CapsuleService.h
1 /*++
2
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
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 CapsuleService.h
15
16 Abstract:
17
18 Capsule Runtime Service
19
20 --*/
21
22 #ifndef _CAPSULE_RUNTIME_H_
23 #define _CAPSULE_RUNTIME_H_
24
25 //
26 // The package level header files this module uses
27 //
28 #include <PiDxe.h>
29 //
30 // The protocols, PPI and GUID defintions for this module
31 //
32 #include <Protocol/Capsule.h>
33 #include <Guid/CapsuleVendor.h>
34 //
35 // The Library classes this module consumes
36 //
37 #include <Library/UefiDriverEntryPoint.h>
38 #include <Library/DxeServicesTableLib.h>
39 #include <Library/UefiRuntimeLib.h>
40 #include <Library/DebugLib.h>
41 #include <Library/PcdLib.h>
42 #include <Library/BaseMemoryLib.h>
43 #include <Library/MemoryAllocationLib.h>
44 #include <Library/UefiBootServicesTableLib.h>
45
46 #include <Common/CapsuleName.h>
47
48 extern EFI_GUID gEfiCapsuleGuid;
49
50 EFI_STATUS
51 EFIAPI
52 UpdateCapsule(
53 IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,
54 IN UINTN CapsuleCount,
55 IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
56 );
57
58 EFI_STATUS
59 EFIAPI
60 QueryCapsuleCapabilities(
61 IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,
62 IN UINTN CapsuleCount,
63 OUT UINT64 *MaxiumCapsuleSize,
64 OUT EFI_RESET_TYPE *ResetType
65 );
66
67 #endif
68