1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License ("CDDL"), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 
12 /*
13  * Copyright 2020 Toomas Soome <tsoome@me.com>
14  */
15 
16 #ifndef _ZFS_BOOTENV_H
17 #define	_ZFS_BOOTENV_H
18 
19 /*
20  * Define macros for label bootenv nvlist pair keys.
21  */
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #define	BOOTENV_VERSION		"version"
28 
29 #define	BE_ILLUMOS_VENDOR	"illumos"
30 #define	BE_FREEBSD_VENDOR	"freebsd"
31 #define	BE_GRUB_VENDOR		"grub"
32 
33 #define	BOOTENV_OS		BE_ILLUMOS_VENDOR
34 
35 #define	GRUB_ENVMAP		BE_GRUB_VENDOR ":" "envmap"
36 
37 #define	FREEBSD_BOOTONCE	BE_FREEBSD_VENDOR ":" "bootonce"
38 #define	FREEBSD_BOOTONCE_USED	BE_FREEBSD_VENDOR ":" "bootonce-used"
39 #define	ILLUMOS_BOOTONCE	BE_ILLUMOS_VENDOR ":" "bootonce"
40 #define	ILLUMOS_BOOTONCE_USED	BE_ILLUMOS_VENDOR ":" "bootonce-used"
41 #define	FREEBSD_NVSTORE		BE_FREEBSD_VENDOR ":" "nvstore"
42 #define	ILLUMOS_NVSTORE		BE_ILLUMOS_VENDOR ":" "nvstore"
43 
44 #define	OS_BOOTONCE		BOOTENV_OS ":" "bootonce"
45 #define	OS_BOOTONCE_USED	BOOTENV_OS ":" "bootonce-used"
46 #define	OS_NVSTORE		BOOTENV_OS ":" "nvstore"
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif /* _ZFS_BOOTENV_H */
53