1 /* 2 * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef MBR_H 8 #define MBR_H 9 10 #define MBR_OFFSET 0 11 12 #define MBR_PRIMARY_ENTRY_OFFSET 0x1be 13 #define MBR_PRIMARY_ENTRY_SIZE 0x10 14 #define MBR_PRIMARY_ENTRY_NUMBER 4 15 #define MBR_CHS_ADDRESS_LEN 3 16 17 #define MBR_SIGNATURE_FIRST 0x55 18 #define MBR_SIGNATURE_SECOND 0xAA 19 20 typedef struct mbr_entry { 21 unsigned char status; 22 unsigned char first_sector[MBR_CHS_ADDRESS_LEN]; 23 unsigned char type; 24 unsigned char last_sector[MBR_CHS_ADDRESS_LEN]; 25 unsigned int first_lba; 26 unsigned int sector_nums; 27 } mbr_entry_t; 28 29 #endif /* MBR_H */ 30