summaryrefslogtreecommitdiff
path: root/futility/file_type.inc
blob: 5fd83c2a34cb8dd8de16116d2f63f2df0c642378 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/* -*- mode: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.
 *
 * This declares the file types that we can handle. Note that the order may be
 * important for types with recognizer functions, since we generally want to to
 * look for big things first.
 */

/*
 *        enum              --type           desc
 *        recognizer function
 *        show function
 *        sign function
 */
FILE_TYPE(BIOS_IMAGE,       "bios",          "Chrome OS BIOS image",
	  R_(ft_recognize_bios_image),
	  S_(ft_show_bios),
	  S_(ft_sign_bios))
FILE_TYPE(OLD_BIOS_IMAGE,   "oldbios",       "Cr-48 Chrome OS BIOS image",
	  R_(ft_recognize_bios_image),
	  S_(ft_show_bios),
	  S_(ft_sign_bios))
FILE_TYPE(GBB,              "gbb",           "GBB",
	  R_(ft_recognize_gbb),
	  S_(ft_show_gbb),
	  NONE)
FILE_TYPE(FW_PREAMBLE,      "fw_pre",        "firmware preamble (VBLOCK_A/B)",
	  R_(ft_recognize_vblock1),
	  S_(ft_show_fw_preamble),
	  NONE)
FILE_TYPE(KERN_PREAMBLE,    "kernel",        "kernel preamble/partition",
	  R_(ft_recognize_vblock1),
	  S_(ft_show_kernel_preamble),
	  S_(ft_sign_kern_preamble))
FILE_TYPE(KEYBLOCK,         "keyblock",      "keyblock (signed public key)",
	  R_(ft_recognize_vblock1),
	  S_(ft_show_keyblock),
	  NONE)
FILE_TYPE(PUBKEY,           "pubkey",        "vb1 packed public key (.vbpubk)",
	  R_(ft_recognize_vb1_key),
	  S_(ft_show_pubkey),
	  S_(ft_sign_pubkey))
FILE_TYPE(PRIVKEY,          "prikey",        "vb1 private key (.vbprivk)",
	  R_(ft_recognize_vb1_key),
	  S_(ft_show_privkey),
	  NONE)
FILE_TYPE(VB2_PUBKEY,       "pubkey21",      "vb21 public key (.vbpubk2)",
	  R_(ft_recognize_vb21_key),
	  S_(ft_show_vb21_pubkey),
	  NONE)
FILE_TYPE(VB2_PRIVKEY,	    "prikey21",      "vb21 private key (.vbprik2)",
	  R_(ft_recognize_vb21_key),
	  S_(ft_show_vb21_privkey),
	  NONE)
FILE_TYPE(PEM,		    "pem",           "RSA private key (.pem)",
	  R_(ft_recognize_pem),
	  S_(ft_show_pem),
	  NONE)
FILE_TYPE(RAW_FIRMWARE,     "fwblob",        "raw firmware blob (FW_MAIN_A/B)",
	  NONE,
	  NONE,
	  S_(ft_sign_raw_firmware))
FILE_TYPE(RAW_KERNEL,       "vmlinuz",       "raw linux kernel",
	  NONE,
	  NONE,
	  S_(ft_sign_raw_kernel))
FILE_TYPE(CHROMIUMOS_DISK,  "disk_img",      "chromiumos disk image",
	  R_(ft_recognize_gpt),
	  NONE,
	  NONE)
FILE_TYPE(RWSIG,            "rwsig",         "RW device image",
	  R_(ft_recognize_rwsig),
	  S_(ft_show_rwsig),
	  S_(ft_sign_rwsig))
/* Firmware for USB Type-C power adapters */
FILE_TYPE(USBPD1,           "usbpd1",        "USB-PD charger image (v1.0)",
	  R_(ft_recognize_usbpd1),
	  S_(ft_show_usbpd1),
	  S_(ft_sign_usbpd1))
FILE_TYPE(BDB,           "bdb",        "Common Boot Flow Boot Descriptor Block",
	  R_(ft_recognize_bdb),
	  S_(ft_show_bdb),
	  NONE)