xref: /freebsd/sys/contrib/openzfs/lib/libzfsbootenv/lzbe_util.c (revision 2c48331d28f16c0efce5a72a81e7d71668c4a158)
1*2c48331dSMatt Macy /*
2*2c48331dSMatt Macy  * This file and its contents are supplied under the terms of the
3*2c48331dSMatt Macy  * Common Development and Distribution License ("CDDL"), version 1.0.
4*2c48331dSMatt Macy  * You may only use this file in accordance with the terms of version
5*2c48331dSMatt Macy  * 1.0 of the CDDL.
6*2c48331dSMatt Macy  *
7*2c48331dSMatt Macy  * A full copy of the text of the CDDL should have accompanied this
8*2c48331dSMatt Macy  * source.  A copy of the CDDL is also available via the Internet at
9*2c48331dSMatt Macy  * http://www.illumos.org/license/CDDL.
10*2c48331dSMatt Macy  */
11*2c48331dSMatt Macy /*
12*2c48331dSMatt Macy  * Copyright 2020 Toomas Soome <tsoome@me.com>
13*2c48331dSMatt Macy  */
14*2c48331dSMatt Macy 
15*2c48331dSMatt Macy #include <sys/types.h>
16*2c48331dSMatt Macy #include <string.h>
17*2c48331dSMatt Macy #include <libzfs.h>
18*2c48331dSMatt Macy #include <libzfsbootenv.h>
19*2c48331dSMatt Macy 
20*2c48331dSMatt Macy /*
21*2c48331dSMatt Macy  * Output bootenv information.
22*2c48331dSMatt Macy  */
23*2c48331dSMatt Macy int
lzbe_bootenv_print(const char * pool,const char * nvlist,FILE * of)24*2c48331dSMatt Macy lzbe_bootenv_print(const char *pool, const char *nvlist, FILE *of)
25*2c48331dSMatt Macy {
26*2c48331dSMatt Macy 	nvlist_t *nv;
27*2c48331dSMatt Macy 	int rv = -1;
28*2c48331dSMatt Macy 
29*2c48331dSMatt Macy 	if (pool == NULL || *pool == '\0' || of == NULL)
30*2c48331dSMatt Macy 		return (rv);
31*2c48331dSMatt Macy 
32*2c48331dSMatt Macy 	rv = lzbe_nvlist_get(pool, nvlist, (void **)&nv);
33*2c48331dSMatt Macy 	if (rv == 0) {
34*2c48331dSMatt Macy 		nvlist_print(of, nv);
35*2c48331dSMatt Macy 		nvlist_free(nv);
36*2c48331dSMatt Macy 	}
37*2c48331dSMatt Macy 
38*2c48331dSMatt Macy 	return (rv);
39*2c48331dSMatt Macy }
40