]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/openzfs/include/sys/zfs_bootenv.h
MFV 2.0-rc2
[FreeBSD/FreeBSD.git] / sys / contrib / openzfs / include / sys / zfs_bootenv.h
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 #define BE_LINUX_VENDOR         "linux"
33
34 #include <sys/zfs_bootenv_os.h>
35
36 #define GRUB_ENVMAP             BE_GRUB_VENDOR ":" "envmap"
37
38 #define FREEBSD_BOOTONCE        BE_FREEBSD_VENDOR ":" "bootonce"
39 #define FREEBSD_BOOTONCE_USED   BE_FREEBSD_VENDOR ":" "bootonce-used"
40 #define FREEBSD_NVSTORE         BE_FREEBSD_VENDOR ":" "nvstore"
41 #define ILLUMOS_BOOTONCE        BE_ILLUMOS_VENDOR ":" "bootonce"
42 #define ILLUMOS_BOOTONCE_USED   BE_ILLUMOS_VENDOR ":" "bootonce-used"
43 #define ILLUMOS_NVSTORE         BE_ILLUMOS_VENDOR ":" "nvstore"
44
45 #define OS_BOOTONCE             BOOTENV_OS ":" "bootonce"
46 #define OS_BOOTONCE_USED        BOOTENV_OS ":" "bootonce-used"
47 #define OS_NVSTORE              BOOTENV_OS ":" "nvstore"
48
49 #ifdef __cplusplus
50 }
51 #endif
52
53 #endif /* _ZFS_BOOTENV_H */