1 /*
2  * Copyright (c) 2021, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef UEFI_CAPSULE_PARSER_H
9 #define UEFI_CAPSULE_PARSER_H
10 
11 #include <stdint.h>
12 #include "fip_parser/external/uuid.h"
13 #include "flash_layout.h"
14 
15 #define AUTHENTICATED_CAPSULE 1
16 
17 enum uefi_capsule_error_t {
18     UEFI_CAPSULE_PARSER_SUCCESS = 0,
19     UEFI_CAPSULE_PARSER_ERROR = (-1)
20 };
21 
22 typedef struct capsule_image_info {
23     uint32_t nr_image;
24     void *image[NR_OF_IMAGES_IN_FW_BANK];
25     struct efi_guid guid[NR_OF_IMAGES_IN_FW_BANK];
26     uint32_t size[NR_OF_IMAGES_IN_FW_BANK];
27     uint32_t version[NR_OF_IMAGES_IN_FW_BANK];
28 } capsule_image_info_t;
29 
30 enum uefi_capsule_error_t uefi_capsule_retrieve_images(void* capsule_ptr,
31         capsule_image_info_t* images_info);
32 
33 #endif /* UEFI_CAPSULE_PARSER_H */
34