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