| OLD | NEW |
| 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
| 3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
| 4 * | 4 * |
| 5 * Data structure definitions for verified boot, for on-disk / in-eeprom | 5 * Data structure definitions for verified boot, for on-disk / in-eeprom |
| 6 * data. | 6 * data. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #ifndef VBOOT_REFERENCE_VBOOT_STRUCT_H_ | 9 #ifndef VBOOT_REFERENCE_VBOOT_STRUCT_H_ |
| 10 #define VBOOT_REFERENCE_VBOOT_STRUCT_H_ | 10 #define VBOOT_REFERENCE_VBOOT_STRUCT_H_ |
| 11 | 11 |
| 12 #include "sysincludes.h" | 12 #include "sysincludes.h" |
| 13 | 13 |
| 14 #ifdef _MSC_VER | 14 __pragma(pack(push, 1)) /* Support packing for MSVC. */ |
| 15 #pragma pack(push, 1) /* Support packing for MSVC. */ | |
| 16 #endif | |
| 17 | 15 |
| 18 /* Public key data */ | 16 /* Public key data */ |
| 19 typedef struct VbPublicKey { | 17 typedef struct VbPublicKey { |
| 20 uint64_t key_offset; /* Offset of key data from start of this struct */ | 18 uint64_t key_offset; /* Offset of key data from start of this struct */ |
| 21 uint64_t key_size; /* Size of key data in bytes (NOT strength of key | 19 uint64_t key_size; /* Size of key data in bytes (NOT strength of key |
| 22 * in bits) */ | 20 * in bits) */ |
| 23 uint64_t algorithm; /* Signature algorithm used by the key */ | 21 uint64_t algorithm; /* Signature algorithm used by the key */ |
| 24 uint64_t key_version; /* Key version */ | 22 uint64_t key_version; /* Key version */ |
| 25 } __attribute__((packed)) VbPublicKey; | 23 } __attribute__((packed)) VbPublicKey; |
| 26 | 24 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 VbSignature body_signature; /* Signature for the kernel body */ | 124 VbSignature body_signature; /* Signature for the kernel body */ |
| 127 } __attribute__((packed)) VbKernelPreambleHeader; | 125 } __attribute__((packed)) VbKernelPreambleHeader; |
| 128 /* This should be followed by: | 126 /* This should be followed by: |
| 129 * 2) The signature data for the kernel body, pointed to by | 127 * 2) The signature data for the kernel body, pointed to by |
| 130 * body_signature.sig_offset. | 128 * body_signature.sig_offset. |
| 131 * 3) The signature data for (VBFirmwarePreambleHeader + body signature | 129 * 3) The signature data for (VBFirmwarePreambleHeader + body signature |
| 132 * data), pointed to by preamble_signature.sig_offset. */ | 130 * data), pointed to by preamble_signature.sig_offset. */ |
| 133 | 131 |
| 134 #define EXPECTED_VBKERNELPREAMBLEHEADER_SIZE 96 | 132 #define EXPECTED_VBKERNELPREAMBLEHEADER_SIZE 96 |
| 135 | 133 |
| 136 #ifdef _MSC_VER | 134 __pragma(pack(pop)) /* Support packing for MSVC. */ |
| 137 #pragma pack(pop) /* Support packing for MSVC. */ | |
| 138 #endif | |
| 139 | 135 |
| 140 #endif /* VBOOT_REFERENCE_VBOOT_STRUCT_H_ */ | 136 #endif /* VBOOT_REFERENCE_VBOOT_STRUCT_H_ */ |
| OLD | NEW |