1 /** @file
2 *
3 *  Copyright (c) 2014, ARM Ltd. All rights reserved.
4 *
5 *  This program and the accompanying materials are licensed and made available
6 *  under the terms and conditions of the BSD License which accompanies this
7 *  distribution. The full text of the license may be found at
8 *  http://opensource.org/licenses/bsd-license.php
9 *
10 *  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
11 *  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 *
13 **/
14 
15 #ifndef __BOOTMON_FS_FILE_INFO_H__
16 #define __BOOTMON_FS_FILE_INFO_H__
17 
18 #define BOOTMON_FS_FILE_INFO_ID \
19   { \
20     0x41e26b9c, 0xada6, 0x45b3, {0x80, 0x8e, 0x23, 0x57, 0xa3, 0x5b, 0x60, 0xd6 } \
21   }
22 
23 // From BootMonFS header file
24 #define BOOTMONFS_IMAGE_DESCRIPTION_REGION_MAX 4
25 
26 typedef struct {
27   // The size of the structure.
28   UINT64    Size;
29 
30   // Subset of properties stored in the file meta-data.
31   UINT32  EntryPoint;
32   UINT32  RegionCount;
33   struct {
34     UINT32 LoadAddress;
35     UINT32 Size;
36     UINT32 Offset;
37     UINT32 Checksum;
38   } Region[BOOTMONFS_IMAGE_DESCRIPTION_REGION_MAX];
39 
40 } BOOTMON_FS_FILE_INFO;
41 
42 #define SIZE_OF_BOOTMON_FS_FILE_INFO \
43   OFFSET_OF (BOOTMON_FS_FILE_INFO, Region[BOOTMONFS_IMAGE_DESCRIPTION_REGION_MAX - 1].Checksum)
44 
45 extern EFI_GUID gArmBootMonFsFileInfoGuid;
46 
47 #endif // __BOOTMON_FS_FILE_INFO_H__
48