75 lines
1.8 KiB
C
75 lines
1.8 KiB
C
|
/* Copyright 2015 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.
|
||
|
*
|
||
|
* We centralize option parsing but may split operations into multiple files,
|
||
|
* so let's declare the option structures in a single place (here).
|
||
|
*/
|
||
|
|
||
|
#ifndef VBOOT_REFERENCE_FUTILITY_OPTIONS_H_
|
||
|
#define VBOOT_REFERENCE_FUTILITY_OPTIONS_H_
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
#include "2rsa.h"
|
||
|
#include "file_type.h"
|
||
|
#include "vboot_common.h"
|
||
|
|
||
|
struct vb2_private_key;
|
||
|
struct vb21_packed_key;
|
||
|
|
||
|
struct show_option_s {
|
||
|
struct vb2_public_key *k;
|
||
|
uint8_t *fv;
|
||
|
uint64_t fv_size;
|
||
|
uint32_t padding;
|
||
|
int strict;
|
||
|
int t_flag;
|
||
|
enum futil_file_type type;
|
||
|
struct vb21_packed_key *pkey;
|
||
|
uint32_t sig_size;
|
||
|
};
|
||
|
extern struct show_option_s show_option;
|
||
|
|
||
|
struct sign_option_s {
|
||
|
struct vb2_private_key *signprivate;
|
||
|
struct vb2_keyblock *keyblock;
|
||
|
struct vb2_packed_key *kernel_subkey;
|
||
|
struct vb2_private_key *devsignprivate;
|
||
|
struct vb2_keyblock *devkeyblock;
|
||
|
uint32_t version;
|
||
|
int version_specified;
|
||
|
uint32_t flags;
|
||
|
int flags_specified;
|
||
|
char *loemdir;
|
||
|
char *loemid;
|
||
|
uint8_t *bootloader_data;
|
||
|
uint64_t bootloader_size;
|
||
|
uint8_t *config_data;
|
||
|
uint32_t config_size;
|
||
|
enum arch_t arch;
|
||
|
int fv_specified;
|
||
|
uint32_t kloadaddr;
|
||
|
uint32_t padding;
|
||
|
int vblockonly;
|
||
|
char *outfile;
|
||
|
int create_new_outfile;
|
||
|
int inout_file_count;
|
||
|
char *pem_signpriv;
|
||
|
int pem_algo_specified;
|
||
|
uint32_t pem_algo;
|
||
|
char *pem_external;
|
||
|
enum futil_file_type type;
|
||
|
enum vb2_hash_algorithm hash_alg;
|
||
|
uint32_t ro_size, rw_size;
|
||
|
uint32_t ro_offset, rw_offset;
|
||
|
uint32_t data_size, sig_size;
|
||
|
struct vb2_private_key *prikey;
|
||
|
};
|
||
|
extern struct sign_option_s sign_option;
|
||
|
|
||
|
/* Return true if hash_alg was identified, either by name or number */
|
||
|
int vb2_lookup_hash_alg(const char *str, enum vb2_hash_algorithm *alg);
|
||
|
|
||
|
#endif /* VBOOT_REFERENCE_FUTILITY_OPTIONS_H_ */
|