aboutsummaryrefslogtreecommitdiff
path: root/lib/libzfsbootenv
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libzfsbootenv')
-rw-r--r--lib/libzfsbootenv/.gitignore1
-rw-r--r--lib/libzfsbootenv/Makefile.am29
-rw-r--r--lib/libzfsbootenv/libzfsbootenv.abi584
-rw-r--r--lib/libzfsbootenv/libzfsbootenv.pc.in12
-rw-r--r--lib/libzfsbootenv/libzfsbootenv.suppr2
-rw-r--r--lib/libzfsbootenv/lzbe_device.c164
-rw-r--r--lib/libzfsbootenv/lzbe_pair.c349
-rw-r--r--lib/libzfsbootenv/lzbe_util.c40
8 files changed, 0 insertions, 1181 deletions
diff --git a/lib/libzfsbootenv/.gitignore b/lib/libzfsbootenv/.gitignore
deleted file mode 100644
index 3fea5c642d02..000000000000
--- a/lib/libzfsbootenv/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/libzfsbootenv.pc
diff --git a/lib/libzfsbootenv/Makefile.am b/lib/libzfsbootenv/Makefile.am
deleted file mode 100644
index 118f154821fc..000000000000
--- a/lib/libzfsbootenv/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-libzfsbootenv_la_CFLAGS = $(AM_CFLAGS) $(LIBRARY_CFLAGS)
-libzfsbootenv_la_CFLAGS += -fvisibility=hidden
-
-lib_LTLIBRARIES += libzfsbootenv.la
-CPPCHECKTARGETS += libzfsbootenv.la
-
-libzfsbootenv_la_CPPFLAGS = $(AM_CPPFLAGS)
-libzfsbootenv_la_CPPFLAGS += -I$(srcdir)/include/os/@ac_system_l@/zfs
-
-dist_libzfsbootenv_la_SOURCES = \
- %D%/lzbe_device.c \
- %D%/lzbe_pair.c \
- %D%/lzbe_util.c
-
-libzfsbootenv_la_LIBADD = \
- libzfs.la \
- libnvpair.la
-
-libzfsbootenv_la_LDFLAGS =
-
-if !ASAN_ENABLED
-libzfsbootenv_la_LDFLAGS += -Wl,-z,defs
-endif
-
-libzfsbootenv_la_LDFLAGS += -version-info 1:0:0
-
-pkgconfig_DATA += %D%/libzfsbootenv.pc
-
-dist_noinst_DATA += %D%/libzfsbootenv.abi %D%/libzfsbootenv.suppr
diff --git a/lib/libzfsbootenv/libzfsbootenv.abi b/lib/libzfsbootenv/libzfsbootenv.abi
deleted file mode 100644
index bf866b0fa61b..000000000000
--- a/lib/libzfsbootenv/libzfsbootenv.abi
+++ /dev/null
@@ -1,584 +0,0 @@
-<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libzfsbootenv.so.1'>
- <elf-needed>
- <dependency name='libzfs.so.6'/>
- <dependency name='libnvpair.so.3'/>
- <dependency name='libc.so.6'/>
- </elf-needed>
- <elf-function-symbols>
- <elf-symbol name='lzbe_add_pair' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_bootenv_print' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_get_boot_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_nvlist_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_nvlist_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_nvlist_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_remove_pair' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='lzbe_set_boot_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- </elf-function-symbols>
- <abi-instr address-size='64' path='lib/libzfsbootenv/lzbe_device.c' language='LANG_C99'>
- <type-decl name='char' size-in-bits='8' id='a84c031d'/>
- <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
- <subrange length='1' type-id='7359adad' id='52f813b4'/>
- </array-type-def>
- <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
- <subrange length='20' type-id='7359adad' id='fdca39cf'/>
- </array-type-def>
- <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
- <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
- <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
- <class-decl name='libzfs_handle' is-struct='yes' visibility='default' is-declaration-only='yes' id='c8a9d9d8'/>
- <class-decl name='zpool_handle' is-struct='yes' visibility='default' is-declaration-only='yes' id='67002a8a'/>
- <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
- <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
- <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
- <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
- <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
- <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
- <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
- <type-decl name='variadic parameter type' id='2c1145c5'/>
- <type-decl name='void' id='48b5725f'/>
- <typedef-decl name='zpool_handle_t' type-id='67002a8a' id='b1efc708'/>
- <typedef-decl name='libzfs_handle_t' type-id='c8a9d9d8' id='95942d0c'/>
- <enum-decl name='lzbe_flags' id='2b77720b'>
- <underlying-type type-id='9cac1fee'/>
- <enumerator name='lzbe_add' value='0'/>
- <enumerator name='lzbe_replace' value='1'/>
- </enum-decl>
- <typedef-decl name='lzbe_flags_t' type-id='2b77720b' id='a1936f04'/>
- <class-decl name='nvlist' size-in-bits='192' is-struct='yes' visibility='default' id='ac266fd9'>
- <data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='nvl_version' type-id='3ff5601b' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='32'>
- <var-decl name='nvl_nvflag' type-id='8f92235e' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='64'>
- <var-decl name='nvl_priv' type-id='9c313c2d' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='128'>
- <var-decl name='nvl_flag' type-id='8f92235e' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='160'>
- <var-decl name='nvl_pad' type-id='3ff5601b' visibility='default'/>
- </data-member>
- </class-decl>
- <typedef-decl name='nvlist_t' type-id='ac266fd9' id='8e8d4be3'/>
- <enum-decl name='boolean_t' naming-typedef-id='c19b74c3' id='f58c8277'>
- <underlying-type type-id='9cac1fee'/>
- <enumerator name='B_FALSE' value='0'/>
- <enumerator name='B_TRUE' value='1'/>
- </enum-decl>
- <typedef-decl name='boolean_t' type-id='f58c8277' id='c19b74c3'/>
- <typedef-decl name='int32_t' type-id='33f57a65' id='3ff5601b'/>
- <typedef-decl name='uint32_t' type-id='62f1140c' id='8f92235e'/>
- <typedef-decl name='uint64_t' type-id='8910171f' id='9c313c2d'/>
- <typedef-decl name='__int32_t' type-id='95e97e5e' id='33f57a65'/>
- <typedef-decl name='__uint32_t' type-id='f0981eeb' id='62f1140c'/>
- <typedef-decl name='__uint64_t' type-id='7359adad' id='8910171f'/>
- <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
- <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
- <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
- <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
- <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
- <data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='64'>
- <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='128'>
- <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='192'>
- <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='256'>
- <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='320'>
- <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='384'>
- <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='448'>
- <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='512'>
- <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='576'>
- <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='640'>
- <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='704'>
- <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='768'>
- <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='832'>
- <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='896'>
- <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='928'>
- <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='960'>
- <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1024'>
- <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1040'>
- <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1048'>
- <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1088'>
- <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1152'>
- <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1216'>
- <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1280'>
- <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1344'>
- <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1408'>
- <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1472'>
- <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1536'>
- <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='1568'>
- <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
- </data-member>
- </class-decl>
- <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
- <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
- <qualified-type-def type-id='822cd80b' restrict='yes' id='e75a27e9'/>
- <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
- <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
- <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
- <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
- <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
- <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
- <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
- <qualified-type-def type-id='9b23c9ad' restrict='yes' id='8c85230f'/>
- <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
- <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
- <qualified-type-def type-id='80f4b756' restrict='yes' id='9d26089a'/>
- <pointer-type-def type-id='80f4b756' size-in-bits='64' id='7d3cd834'/>
- <qualified-type-def type-id='8e8d4be3' const='yes' id='693c3853'/>
- <pointer-type-def type-id='693c3853' size-in-bits='64' id='22cce67b'/>
- <pointer-type-def type-id='95942d0c' size-in-bits='64' id='b0382bb3'/>
- <pointer-type-def type-id='8e8d4be3' size-in-bits='64' id='5ce45b60'/>
- <pointer-type-def type-id='5ce45b60' size-in-bits='64' id='857bb57e'/>
- <pointer-type-def type-id='9c313c2d' size-in-bits='64' id='5d6479ae'/>
- <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
- <pointer-type-def type-id='b1efc708' size-in-bits='64' id='4c81de99'/>
- <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
- <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
- <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
- <class-decl name='libzfs_handle' is-struct='yes' visibility='default' is-declaration-only='yes' id='c8a9d9d8'/>
- <class-decl name='zpool_handle' is-struct='yes' visibility='default' is-declaration-only='yes' id='67002a8a'/>
- <function-decl name='libzfs_init' visibility='default' binding='global' size-in-bits='64'>
- <return type-id='b0382bb3'/>
- </function-decl>
- <function-decl name='libzfs_fini' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='b0382bb3'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='libzfs_error_description' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='b0382bb3'/>
- <return type-id='80f4b756'/>
- </function-decl>
- <function-decl name='zpool_open' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='b0382bb3'/>
- <parameter type-id='80f4b756'/>
- <return type-id='4c81de99'/>
- </function-decl>
- <function-decl name='zpool_close' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='4c81de99'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='zpool_set_bootenv' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='4c81de99'/>
- <parameter type-id='22cce67b'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='zpool_get_bootenv' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='4c81de99'/>
- <parameter type-id='857bb57e'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_free' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='nvlist_lookup_uint64' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='22cce67b'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='5d6479ae'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_lookup_string' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='22cce67b'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='7d3cd834'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_exists' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='22cce67b'/>
- <parameter type-id='80f4b756'/>
- <return type-id='c19b74c3'/>
- </function-decl>
- <function-decl name='fnvlist_alloc' visibility='default' binding='global' size-in-bits='64'>
- <return type-id='5ce45b60'/>
- </function-decl>
- <function-decl name='fnvlist_free' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='fnvlist_add_uint64' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='9c313c2d'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='fnvlist_add_string' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='80f4b756'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='fnvlist_remove' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='free' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='eaa32e2f'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='strncmp' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='80f4b756'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='b59d7dce'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='strdup' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='80f4b756'/>
- <return type-id='26a90f95'/>
- </function-decl>
- <function-decl name='strlen' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='80f4b756'/>
- <return type-id='b59d7dce'/>
- </function-decl>
- <function-decl name='__fprintf_chk' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='e75a27e9'/>
- <parameter type-id='95e97e5e'/>
- <parameter type-id='9d26089a'/>
- <parameter is-variadic='yes'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='__asprintf_chk' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='8c85230f'/>
- <parameter type-id='95e97e5e'/>
- <parameter type-id='9d26089a'/>
- <parameter is-variadic='yes'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='lzbe_set_boot_device' mangled-name='lzbe_set_boot_device' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_set_boot_device'>
- <parameter type-id='80f4b756' name='pool'/>
- <parameter type-id='a1936f04' name='flag'/>
- <parameter type-id='80f4b756' name='device'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='lzbe_get_boot_device' mangled-name='lzbe_get_boot_device' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_get_boot_device'>
- <parameter type-id='80f4b756' name='pool'/>
- <parameter type-id='9b23c9ad' name='device'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- </abi-instr>
- <abi-instr address-size='64' path='lib/libzfsbootenv/lzbe_pair.c' language='LANG_C99'>
- <type-decl name='short int' size-in-bits='16' id='a2185560'/>
- <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
- <typedef-decl name='uchar_t' type-id='002ac4a6' id='d8bf0010'/>
- <typedef-decl name='uint_t' type-id='f0981eeb' id='3502e3ff'/>
- <typedef-decl name='int8_t' type-id='2171a512' id='ee31ee44'/>
- <typedef-decl name='int16_t' type-id='03896e23' id='23bd8cb5'/>
- <typedef-decl name='int64_t' type-id='0c9942d2' id='9da381c4'/>
- <typedef-decl name='uint8_t' type-id='c51d6389' id='b96825af'/>
- <typedef-decl name='uint16_t' type-id='253c2d2a' id='149c6638'/>
- <typedef-decl name='__int8_t' type-id='28577a57' id='2171a512'/>
- <typedef-decl name='__uint8_t' type-id='002ac4a6' id='c51d6389'/>
- <typedef-decl name='__int16_t' type-id='a2185560' id='03896e23'/>
- <typedef-decl name='__uint16_t' type-id='8efea9e5' id='253c2d2a'/>
- <typedef-decl name='__int64_t' type-id='bd54fe1a' id='0c9942d2'/>
- <qualified-type-def type-id='c19b74c3' const='yes' id='12373e33'/>
- <pointer-type-def type-id='12373e33' size-in-bits='64' id='c5f6c15b'/>
- <qualified-type-def type-id='80f4b756' const='yes' id='b99c00c9'/>
- <pointer-type-def type-id='b99c00c9' size-in-bits='64' id='13956559'/>
- <qualified-type-def type-id='23bd8cb5' const='yes' id='75f7b0c5'/>
- <pointer-type-def type-id='75f7b0c5' size-in-bits='64' id='a3eb883d'/>
- <qualified-type-def type-id='3ff5601b' const='yes' id='922df12b'/>
- <pointer-type-def type-id='922df12b' size-in-bits='64' id='1f526493'/>
- <qualified-type-def type-id='9da381c4' const='yes' id='f07b7694'/>
- <pointer-type-def type-id='f07b7694' size-in-bits='64' id='505bed1a'/>
- <qualified-type-def type-id='ee31ee44' const='yes' id='721c32d4'/>
- <pointer-type-def type-id='721c32d4' size-in-bits='64' id='a06445da'/>
- <qualified-type-def type-id='22cce67b' const='yes' id='d2816df0'/>
- <pointer-type-def type-id='d2816df0' size-in-bits='64' id='3bbfee2e'/>
- <qualified-type-def type-id='d8bf0010' const='yes' id='a9125480'/>
- <pointer-type-def type-id='a9125480' size-in-bits='64' id='d1db479e'/>
- <qualified-type-def type-id='149c6638' const='yes' id='b01a5ac8'/>
- <pointer-type-def type-id='b01a5ac8' size-in-bits='64' id='1b7d11c6'/>
- <qualified-type-def type-id='8f92235e' const='yes' id='b9930aae'/>
- <pointer-type-def type-id='b9930aae' size-in-bits='64' id='a6798dcc'/>
- <qualified-type-def type-id='9c313c2d' const='yes' id='c3b7ba7d'/>
- <pointer-type-def type-id='c3b7ba7d' size-in-bits='64' id='713a56f5'/>
- <qualified-type-def type-id='b96825af' const='yes' id='2b61797f'/>
- <pointer-type-def type-id='2b61797f' size-in-bits='64' id='9f7200cf'/>
- <pointer-type-def type-id='eaa32e2f' size-in-bits='64' id='63e171df'/>
- <function-decl name='nvlist_alloc' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='857bb57e'/>
- <parameter type-id='3502e3ff'/>
- <parameter type-id='95e97e5e'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_dup' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='22cce67b'/>
- <parameter type-id='857bb57e'/>
- <parameter type-id='95e97e5e'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_boolean_value' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='c19b74c3'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_byte' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='d8bf0010'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int8' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='ee31ee44'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint8' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='b96825af'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int16' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='23bd8cb5'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint16' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='149c6638'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int32' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='3ff5601b'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint32' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='8f92235e'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int64' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='9da381c4'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint64' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='9c313c2d'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_string' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='80f4b756'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_nvlist' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='22cce67b'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_boolean_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='c5f6c15b'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_byte_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='d1db479e'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int8_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='a06445da'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint8_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='9f7200cf'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int16_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='a3eb883d'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint16_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='1b7d11c6'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int32_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='1f526493'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint32_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='a6798dcc'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_int64_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='505bed1a'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_uint64_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='713a56f5'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_string_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='13956559'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_add_nvlist_array' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='3bbfee2e'/>
- <parameter type-id='3502e3ff'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_remove_all' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='nvlist_lookup_nvlist' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='5ce45b60'/>
- <parameter type-id='80f4b756'/>
- <parameter type-id='857bb57e'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='strcmp' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='80f4b756'/>
- <parameter type-id='80f4b756'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='lzbe_nvlist_get' mangled-name='lzbe_nvlist_get' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_nvlist_get'>
- <parameter type-id='80f4b756' name='pool'/>
- <parameter type-id='80f4b756' name='key'/>
- <parameter type-id='63e171df' name='ptr'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='lzbe_nvlist_set' mangled-name='lzbe_nvlist_set' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_nvlist_set'>
- <parameter type-id='80f4b756' name='pool'/>
- <parameter type-id='80f4b756' name='key'/>
- <parameter type-id='eaa32e2f' name='ptr'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='lzbe_nvlist_free' mangled-name='lzbe_nvlist_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_nvlist_free'>
- <parameter type-id='eaa32e2f' name='ptr'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='lzbe_add_pair' mangled-name='lzbe_add_pair' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_add_pair'>
- <parameter type-id='eaa32e2f' name='ptr'/>
- <parameter type-id='80f4b756' name='key'/>
- <parameter type-id='80f4b756' name='type'/>
- <parameter type-id='eaa32e2f' name='value'/>
- <parameter type-id='b59d7dce' name='size'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='lzbe_remove_pair' mangled-name='lzbe_remove_pair' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_remove_pair'>
- <parameter type-id='eaa32e2f' name='ptr'/>
- <parameter type-id='80f4b756' name='key'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- </abi-instr>
- <abi-instr address-size='64' path='lib/libzfsbootenv/lzbe_util.c' language='LANG_C99'>
- <function-decl name='nvlist_print' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='822cd80b'/>
- <parameter type-id='5ce45b60'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='lzbe_bootenv_print' mangled-name='lzbe_bootenv_print' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_bootenv_print'>
- <parameter type-id='80f4b756' name='pool'/>
- <parameter type-id='80f4b756' name='nvlist'/>
- <parameter type-id='822cd80b' name='of'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- </abi-instr>
-</abi-corpus>
diff --git a/lib/libzfsbootenv/libzfsbootenv.pc.in b/lib/libzfsbootenv/libzfsbootenv.pc.in
deleted file mode 100644
index 986286d9bc8c..000000000000
--- a/lib/libzfsbootenv/libzfsbootenv.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: libzfsbootenv
-Description: LibZFSBootENV library
-Version: @VERSION@
-URL: https://github.com/openzfs/zfs
-Requires: libzfs
-Cflags: -I${includedir}
-Libs: -L${libdir} -lzfsbootenv
diff --git a/lib/libzfsbootenv/libzfsbootenv.suppr b/lib/libzfsbootenv/libzfsbootenv.suppr
deleted file mode 100644
index f4db8a49e4f2..000000000000
--- a/lib/libzfsbootenv/libzfsbootenv.suppr
+++ /dev/null
@@ -1,2 +0,0 @@
-[suppress_type]
- name = FILE*
diff --git a/lib/libzfsbootenv/lzbe_device.c b/lib/libzfsbootenv/lzbe_device.c
deleted file mode 100644
index f155960bfea0..000000000000
--- a/lib/libzfsbootenv/lzbe_device.c
+++ /dev/null
@@ -1,164 +0,0 @@
-// SPDX-License-Identifier: CDDL-1.0
-/*
- * This file and its contents are supplied under the terms of the
- * Common Development and Distribution License ("CDDL"), version 1.0.
- * You may only use this file in accordance with the terms of version
- * 1.0 of the CDDL.
- *
- * A full copy of the text of the CDDL should have accompanied this
- * source. A copy of the CDDL is also available via the Internet at
- * http://www.illumos.org/license/CDDL.
- */
-/*
- * Copyright 2020 Toomas Soome <tsoome@me.com>
- */
-
-#include <sys/types.h>
-#include <string.h>
-#include <libzfs.h>
-#include <libzfsbootenv.h>
-#include <sys/zfs_bootenv.h>
-#include <sys/vdev_impl.h>
-
-/*
- * Store device name to zpool label bootenv area.
- * This call will set bootenv version to VB_NVLIST, if bootenv currently
- * does contain other version, then old data will be replaced.
- */
-int
-lzbe_set_boot_device(const char *pool, lzbe_flags_t flag, const char *device)
-{
- libzfs_handle_t *hdl;
- zpool_handle_t *zphdl;
- nvlist_t *nv;
- char *descriptor;
- uint64_t version;
- int rv = -1;
-
- if (pool == NULL || *pool == '\0')
- return (rv);
-
- if ((hdl = libzfs_init()) == NULL)
- return (rv);
-
- zphdl = zpool_open(hdl, pool);
- if (zphdl == NULL) {
- libzfs_fini(hdl);
- return (rv);
- }
-
- switch (flag) {
- case lzbe_add:
- rv = zpool_get_bootenv(zphdl, &nv);
- if (rv == 0) {
- /*
- * We got the nvlist, check for version.
- * if version is missing or is not VB_NVLIST,
- * create new list.
- */
- rv = nvlist_lookup_uint64(nv, BOOTENV_VERSION,
- &version);
- if (rv == 0 && version == VB_NVLIST)
- break;
-
- /* Drop this nvlist */
- fnvlist_free(nv);
- }
- zfs_fallthrough;
- case lzbe_replace:
- nv = fnvlist_alloc();
- break;
- default:
- return (rv);
- }
-
- /* version is mandatory */
- fnvlist_add_uint64(nv, BOOTENV_VERSION, VB_NVLIST);
-
- rv = 0;
- /*
- * If device name is empty, remove boot device configuration.
- */
- if ((device == NULL || *device == '\0')) {
- if (nvlist_exists(nv, OS_BOOTONCE))
- fnvlist_remove(nv, OS_BOOTONCE);
- } else {
- /*
- * Use device name directly if it does start with
- * prefix "zfs:". Otherwise, add prefix and suffix.
- */
- if (strncmp(device, "zfs:", 4) == 0) {
- fnvlist_add_string(nv, OS_BOOTONCE, device);
- } else {
- if (asprintf(&descriptor, "zfs:%s:", device) > 0) {
- fnvlist_add_string(nv, OS_BOOTONCE, descriptor);
- free(descriptor);
- } else
- rv = ENOMEM;
- }
- }
- if (rv == 0)
- rv = zpool_set_bootenv(zphdl, nv);
- if (rv != 0)
- fprintf(stderr, "%s\n", libzfs_error_description(hdl));
-
- fnvlist_free(nv);
- zpool_close(zphdl);
- libzfs_fini(hdl);
- return (rv);
-}
-
-/*
- * Return boot device name from bootenv, if set.
- */
-int
-lzbe_get_boot_device(const char *pool, char **device)
-{
- libzfs_handle_t *hdl;
- zpool_handle_t *zphdl;
- nvlist_t *nv;
- const char *val;
- int rv = -1;
-
- if (pool == NULL || *pool == '\0' || device == NULL)
- return (rv);
-
- if ((hdl = libzfs_init()) == NULL)
- return (rv);
-
- zphdl = zpool_open(hdl, pool);
- if (zphdl == NULL) {
- libzfs_fini(hdl);
- return (rv);
- }
-
- rv = zpool_get_bootenv(zphdl, &nv);
- if (rv == 0) {
- rv = nvlist_lookup_string(nv, OS_BOOTONCE, &val);
- if (rv == 0) {
- /*
- * zfs device descriptor is in form of "zfs:dataset:",
- * we only do need dataset name.
- */
- if (strncmp(val, "zfs:", 4) == 0) {
- char *tmp = strdup(val + 4);
- if (tmp != NULL) {
- size_t len = strlen(tmp);
-
- if (tmp[len - 1] == ':')
- tmp[len - 1] = '\0';
- *device = tmp;
- } else {
- rv = ENOMEM;
- }
- } else {
- rv = EINVAL;
- }
- }
- nvlist_free(nv);
- }
-
- zpool_close(zphdl);
- libzfs_fini(hdl);
- return (rv);
-}
diff --git a/lib/libzfsbootenv/lzbe_pair.c b/lib/libzfsbootenv/lzbe_pair.c
deleted file mode 100644
index 3f576a569f28..000000000000
--- a/lib/libzfsbootenv/lzbe_pair.c
+++ /dev/null
@@ -1,349 +0,0 @@
-// SPDX-License-Identifier: CDDL-1.0
-/*
- * This file and its contents are supplied under the terms of the
- * Common Development and Distribution License ("CDDL"), version 1.0.
- * You may only use this file in accordance with the terms of version
- * 1.0 of the CDDL.
- *
- * A full copy of the text of the CDDL should have accompanied this
- * source. A copy of the CDDL is also available via the Internet at
- * http://www.illumos.org/license/CDDL.
- */
-/*
- * Copyright 2020 Toomas Soome <tsoome@me.com>
- */
-
-#include <sys/types.h>
-#include <string.h>
-#include <libzfs.h>
-#include <libzfsbootenv.h>
-#include <sys/zfs_bootenv.h>
-#include <sys/vdev_impl.h>
-
-/*
- * Get or create nvlist. If key is not NULL, get nvlist from bootenv,
- * otherwise return bootenv.
- */
-int
-lzbe_nvlist_get(const char *pool, const char *key, void **ptr)
-{
- libzfs_handle_t *hdl;
- zpool_handle_t *zphdl;
- nvlist_t *nv;
- int rv = -1;
-
- if (pool == NULL || *pool == '\0')
- return (rv);
-
- if ((hdl = libzfs_init()) == NULL) {
- return (rv);
- }
-
- zphdl = zpool_open(hdl, pool);
- if (zphdl == NULL) {
- libzfs_fini(hdl);
- return (rv);
- }
-
- rv = zpool_get_bootenv(zphdl, &nv);
- if (rv == 0) {
- nvlist_t *nvl, *dup;
-
- if (key != NULL) {
- rv = nvlist_lookup_nvlist(nv, key, &nvl);
- if (rv == 0) {
- rv = nvlist_dup(nvl, &dup, 0);
- nvlist_free(nv);
- if (rv == 0)
- nv = dup;
- else
- nv = NULL;
- } else {
- nvlist_free(nv);
- rv = nvlist_alloc(&nv, NV_UNIQUE_NAME, 0);
- }
- }
- *ptr = nv;
- }
-
- zpool_close(zphdl);
- libzfs_fini(hdl);
- return (rv);
-}
-
-int
-lzbe_nvlist_set(const char *pool, const char *key, void *ptr)
-{
- libzfs_handle_t *hdl;
- zpool_handle_t *zphdl;
- nvlist_t *nv;
- uint64_t version;
- int rv = -1;
-
- if (pool == NULL || *pool == '\0')
- return (rv);
-
- if ((hdl = libzfs_init()) == NULL) {
- return (rv);
- }
-
- zphdl = zpool_open(hdl, pool);
- if (zphdl == NULL) {
- libzfs_fini(hdl);
- return (rv);
- }
-
- if (key != NULL) {
- rv = zpool_get_bootenv(zphdl, &nv);
- if (rv == 0) {
- /*
- * We got the nvlist, check for version.
- * if version is missing or is not VB_NVLIST,
- * create new list.
- */
- rv = nvlist_lookup_uint64(nv, BOOTENV_VERSION,
- &version);
- if (rv != 0 || version != VB_NVLIST) {
- /* Drop this nvlist */
- fnvlist_free(nv);
- /* Create and prepare new nvlist */
- nv = fnvlist_alloc();
- fnvlist_add_uint64(nv, BOOTENV_VERSION,
- VB_NVLIST);
- }
- rv = nvlist_add_nvlist(nv, key, ptr);
- if (rv == 0)
- rv = zpool_set_bootenv(zphdl, nv);
- nvlist_free(nv);
- }
- } else {
- rv = zpool_set_bootenv(zphdl, ptr);
- }
-
- zpool_close(zphdl);
- libzfs_fini(hdl);
- return (rv);
-}
-
-/*
- * free nvlist we got via lzbe_nvlist_get()
- */
-void
-lzbe_nvlist_free(void *ptr)
-{
- nvlist_free(ptr);
-}
-
-static const char *typenames[] = {
- "DATA_TYPE_UNKNOWN",
- "DATA_TYPE_BOOLEAN",
- "DATA_TYPE_BYTE",
- "DATA_TYPE_INT16",
- "DATA_TYPE_UINT16",
- "DATA_TYPE_INT32",
- "DATA_TYPE_UINT32",
- "DATA_TYPE_INT64",
- "DATA_TYPE_UINT64",
- "DATA_TYPE_STRING",
- "DATA_TYPE_BYTE_ARRAY",
- "DATA_TYPE_INT16_ARRAY",
- "DATA_TYPE_UINT16_ARRAY",
- "DATA_TYPE_INT32_ARRAY",
- "DATA_TYPE_UINT32_ARRAY",
- "DATA_TYPE_INT64_ARRAY",
- "DATA_TYPE_UINT64_ARRAY",
- "DATA_TYPE_STRING_ARRAY",
- "DATA_TYPE_HRTIME",
- "DATA_TYPE_NVLIST",
- "DATA_TYPE_NVLIST_ARRAY",
- "DATA_TYPE_BOOLEAN_VALUE",
- "DATA_TYPE_INT8",
- "DATA_TYPE_UINT8",
- "DATA_TYPE_BOOLEAN_ARRAY",
- "DATA_TYPE_INT8_ARRAY",
- "DATA_TYPE_UINT8_ARRAY"
-};
-
-static int
-nvpair_type_from_name(const char *name)
-{
- unsigned i;
-
- for (i = 0; i < ARRAY_SIZE(typenames); i++) {
- if (strcmp(name, typenames[i]) == 0)
- return (i);
- }
- return (0);
-}
-
-/*
- * Add pair defined by key, type and value into nvlist.
- */
-int
-lzbe_add_pair(void *ptr, const char *key, const char *type, void *value,
- size_t size)
-{
- nvlist_t *nv = ptr;
- data_type_t dt;
- int rv = 0;
-
- if (ptr == NULL || key == NULL || value == NULL)
- return (rv);
-
- if (type == NULL)
- type = "DATA_TYPE_STRING";
- dt = nvpair_type_from_name(type);
- if (dt == DATA_TYPE_UNKNOWN)
- return (EINVAL);
-
- switch (dt) {
- case DATA_TYPE_BYTE:
- if (size != sizeof (uint8_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_byte(nv, key, *(uint8_t *)value);
- break;
-
- case DATA_TYPE_INT16:
- if (size != sizeof (int16_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_int16(nv, key, *(int16_t *)value);
- break;
-
- case DATA_TYPE_UINT16:
- if (size != sizeof (uint16_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_uint16(nv, key, *(uint16_t *)value);
- break;
-
- case DATA_TYPE_INT32:
- if (size != sizeof (int32_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_int32(nv, key, *(int32_t *)value);
- break;
-
- case DATA_TYPE_UINT32:
- if (size != sizeof (uint32_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_uint32(nv, key, *(uint32_t *)value);
- break;
-
- case DATA_TYPE_INT64:
- if (size != sizeof (int64_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_int64(nv, key, *(int64_t *)value);
- break;
-
- case DATA_TYPE_UINT64:
- if (size != sizeof (uint64_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_uint64(nv, key, *(uint64_t *)value);
- break;
-
- case DATA_TYPE_STRING:
- rv = nvlist_add_string(nv, key, value);
- break;
-
- case DATA_TYPE_BYTE_ARRAY:
- rv = nvlist_add_byte_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_INT16_ARRAY:
- rv = nvlist_add_int16_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_UINT16_ARRAY:
- rv = nvlist_add_uint16_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_INT32_ARRAY:
- rv = nvlist_add_int32_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_UINT32_ARRAY:
- rv = nvlist_add_uint32_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_INT64_ARRAY:
- rv = nvlist_add_int64_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_UINT64_ARRAY:
- rv = nvlist_add_uint64_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_STRING_ARRAY:
- rv = nvlist_add_string_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_NVLIST:
- rv = nvlist_add_nvlist(nv, key, (nvlist_t *)value);
- break;
-
- case DATA_TYPE_NVLIST_ARRAY:
- rv = nvlist_add_nvlist_array(nv, key, (const nvlist_t **)value,
- size);
- break;
-
- case DATA_TYPE_BOOLEAN_VALUE:
- if (size != sizeof (boolean_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_boolean_value(nv, key, *(boolean_t *)value);
- break;
-
- case DATA_TYPE_INT8:
- if (size != sizeof (int8_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_int8(nv, key, *(int8_t *)value);
- break;
-
- case DATA_TYPE_UINT8:
- if (size != sizeof (uint8_t)) {
- rv = EINVAL;
- break;
- }
- rv = nvlist_add_uint8(nv, key, *(uint8_t *)value);
- break;
-
- case DATA_TYPE_BOOLEAN_ARRAY:
- rv = nvlist_add_boolean_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_INT8_ARRAY:
- rv = nvlist_add_int8_array(nv, key, value, size);
- break;
-
- case DATA_TYPE_UINT8_ARRAY:
- rv = nvlist_add_uint8_array(nv, key, value, size);
- break;
-
- default:
- return (ENOTSUP);
- }
-
- return (rv);
-}
-
-int
-lzbe_remove_pair(void *ptr, const char *key)
-{
-
- return (nvlist_remove_all(ptr, key));
-}
diff --git a/lib/libzfsbootenv/lzbe_util.c b/lib/libzfsbootenv/lzbe_util.c
deleted file mode 100644
index fc60f698f3bc..000000000000
--- a/lib/libzfsbootenv/lzbe_util.c
+++ /dev/null
@@ -1,40 +0,0 @@
-// SPDX-License-Identifier: CDDL-1.0
-/*
- * This file and its contents are supplied under the terms of the
- * Common Development and Distribution License ("CDDL"), version 1.0.
- * You may only use this file in accordance with the terms of version
- * 1.0 of the CDDL.
- *
- * A full copy of the text of the CDDL should have accompanied this
- * source. A copy of the CDDL is also available via the Internet at
- * http://www.illumos.org/license/CDDL.
- */
-/*
- * Copyright 2020 Toomas Soome <tsoome@me.com>
- */
-
-#include <sys/types.h>
-#include <string.h>
-#include <libzfs.h>
-#include <libzfsbootenv.h>
-
-/*
- * Output bootenv information.
- */
-int
-lzbe_bootenv_print(const char *pool, const char *nvlist, FILE *of)
-{
- nvlist_t *nv;
- int rv = -1;
-
- if (pool == NULL || *pool == '\0' || of == NULL)
- return (rv);
-
- rv = lzbe_nvlist_get(pool, nvlist, (void **)&nv);
- if (rv == 0) {
- nvlist_print(of, nv);
- nvlist_free(nv);
- }
-
- return (rv);
-}