summaryrefslogtreecommitdiff
path: root/include/sbat.h
blob: ffde202d4268de60856c725fc67c2825a27def77 (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
// SPDX-License-Identifier: BSD-2-Clause-Patent
/*
 * sbat.c - parse SBAT data from the .rsrc section data
 */

#ifndef SBAT_H_
#define SBAT_H_

extern UINTN _sbat, _esbat;

struct sbat_var {
	const CHAR8 *component_name;
	const CHAR8 *component_generation;
	list_t list;
};
extern list_t sbat_var;

EFI_STATUS parse_sbat_var(list_t *entries);
void cleanup_sbat_var(list_t *entries);

struct sbat_entry {
	const CHAR8 *component_name;
	const CHAR8 *component_generation;
	const CHAR8 *vendor_name;
	const CHAR8 *vendor_package_name;
	const CHAR8 *vendor_version;
	const CHAR8 *vendor_url;
};

EFI_STATUS parse_sbat(char *sbat_base, size_t sbat_size, size_t *sbats, struct sbat_entry ***sbat);
void cleanup_sbat_entries(size_t n, struct sbat_entry **entries);

EFI_STATUS verify_sbat(size_t n, struct sbat_entry **entries);

#endif /* !SBAT_H_ */
// vim:fenc=utf-8:tw=75:noet