| /* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| * |
| * Access to portions of the GBB using the region API. |
| */ |
| |
| #ifndef VBOOT_REFERENCE_GBB_ACCESS_H_ |
| #define VBOOT_REFERENCE_GBB_ACCESS_H_ |
| |
| #include "vboot_api.h" |
| |
| struct vb2_context; |
| struct VbPublicKey; |
| |
| /** |
| * Read the root key from the GBB |
| * |
| * @param ctx Vboot context |
| * @param keyp Returns a pointer to the key. The caller must call |
| * free() on the key when finished with it. |
| * @return VBERROR_... error, VBERROR_SUCCESS on success, |
| */ |
| VbError_t VbGbbReadRootKey(struct vb2_context *ctx, |
| struct VbPublicKey **keyp); |
| |
| /** |
| * Read the recovery key from the GBB |
| * |
| * @param ctx Vboot context |
| * @param keyp Returns a pointer to the key. The caller must call |
| * free() on the key when finished with it. |
| * @return VBERROR_... error, VBERROR_SUCCESS on success, |
| */ |
| VbError_t VbGbbReadRecoveryKey(struct vb2_context *ctx, |
| struct VbPublicKey **keyp); |
| |
| /** |
| * Read the hardware ID from the GBB |
| * |
| * @param ctx Vboot context |
| * @param hwid Place to put HWID, which will be null-terminated |
| * @param max_size Maximum size of HWID including terminated null |
| * character (suggest 256). If this size is too small |
| * then VBERROR_INVALID_PARAMETER is returned. |
| * @return VBERROR_... error, VBERROR_SUCCESS on success, |
| */ |
| VbError_t VbGbbReadHWID(struct vb2_context *ctx, char *hwid, uint32_t max_size); |
| |
| #endif |