Home | History | Annotate | Download | only in nvpair

Lines Matching defs:nvl

136 static int nvlist_add_common(nvlist_t *nvl, const char *name, data_type_t type,
184 nvlist_lookup_nv_alloc(nvlist_t *nvl)
188 if (nvl == NULL ||
189 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
260 nvlist_init(nvlist_t *nvl, uint32_t nvflag, nvpriv_t *priv)
262 nvl->nvl_version = NV_VERSION;
263 nvl->nvl_nvflag = nvflag & (NV_UNIQUE_NAME|NV_UNIQUE_NAME_TYPE);
264 nvl->nvl_priv = (uint64_t)(uintptr_t)priv;
265 nvl->nvl_flag = 0;
266 nvl->nvl_pad = 0;
310 nvp_buf_alloc(nvlist_t *nvl, size_t len)
312 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
335 nvp_buf_free(nvlist_t *nvl, nvpair_t *nvp)
337 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
347 nvp_buf_link(nvlist_t *nvl, nvpair_t *nvp)
349 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
366 nvp_buf_unlink(nvlist_t *nvl, nvpair_t *nvp)
368 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
559 nvlist_free(nvlist_t *nvl)
564 if (nvl == NULL ||
565 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
577 nvp_buf_free(nvl, nvp);
581 nv_mem_free(priv, nvl, NV_ALIGN(sizeof (nvlist_t)));
583 nvl->nvl_priv = 0;
589 nvlist_contains_nvp(nvlist_t *nvl, nvpair_t *nvp)
591 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
609 nvlist_dup(nvlist_t *nvl, nvlist_t **nvlp, int kmflag)
612 return (nvlist_xdup(nvl, nvlp,
615 return (nvlist_xdup(nvl, nvlp, nv_alloc_nosleep));
620 nvlist_xdup(nvlist_t *nvl, nvlist_t **nvlp, nv_alloc_t *nva)
625 if (nvl == NULL || nvlp == NULL)
628 if ((err = nvlist_xalloc(&ret, nvl->nvl_nvflag, nva)) != 0)
631 if ((err = nvlist_copy_pairs(nvl, ret)) != 0)
643 nvlist_remove_all(nvlist_t *nvl, const char *name)
649 if (nvl == NULL || name == NULL ||
650 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
661 nvp_buf_unlink(nvl, nvp);
663 nvp_buf_free(nvl, nvp);
675 nvlist_remove(nvlist_t *nvl, const char *name, data_type_t type)
680 if (nvl == NULL || name == NULL ||
681 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
689 nvp_buf_unlink(nvl, nvp);
691 nvp_buf_free(nvl, nvp);
702 nvlist_remove_nvpair(nvlist_t *nvl, nvpair_t *nvp)
704 if (nvl == NULL || nvp == NULL)
707 nvp_buf_unlink(nvl, nvp);
709 nvl, nvp);
838 nvlist_copy_embedded(nvlist_t *nvl, nvlist_t *onvl, nvlist_t *emb_nvl)
844 nvl->nvl_priv)) == NULL)
861 nvlist_add_common(nvlist_t *nvl, const char *name,
870 if (name == NULL || nvl == NULL || nvl->nvl_priv == 0)
894 if (data == nvl || data == NULL)
900 if (onvlp[i] == nvl || onvlp[i] == NULL)
914 if ((nvp = nvp_buf_alloc(nvl, nvp_sz)) == NULL)
945 if ((err = nvlist_copy_embedded(nvl, onvl, nnvl)) != 0) {
946 nvp_buf_free(nvl, nvp);
958 if ((err = nvlist_copy_embedded(nvl,
964 nvp_buf_free(nvl, nvp);
977 if (nvl->nvl_nvflag & NV_UNIQUE_NAME)
978 (void) nvlist_remove_all(nvl, name);
979 else if (nvl->nvl_nvflag & NV_UNIQUE_NAME_TYPE)
980 (void) nvlist_remove(nvl, name, type);
982 nvp_buf_link(nvl, nvp);
988 nvlist_add_boolean(nvlist_t *nvl, const char *name)
990 return (nvlist_add_common(nvl, name, DATA_TYPE_BOOLEAN, 0, NULL));
994 nvlist_add_boolean_value(nvlist_t *nvl, const char *name, boolean_t val)
996 return (nvlist_add_common(nvl, name, DATA_TYPE_BOOLEAN_VALUE, 1, &val));
1000 nvlist_add_byte(nvlist_t *nvl, const char *name, uchar_t val)
1002 return (nvlist_add_common(nvl, name, DATA_TYPE_BYTE, 1, &val));
1006 nvlist_add_int8(nvlist_t *nvl, const char *name, int8_t val)
1008 return (nvlist_add_common(nvl, name, DATA_TYPE_INT8, 1, &val));
1012 nvlist_add_uint8(nvlist_t *nvl, const char *name, uint8_t val)
1014 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT8, 1, &val));
1018 nvlist_add_int16(nvlist_t *nvl, const char *name, int16_t val)
1020 return (nvlist_add_common(nvl, name, DATA_TYPE_INT16, 1, &val));
1024 nvlist_add_uint16(nvlist_t *nvl, const char *name, uint16_t val)
1026 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT16, 1, &val));
1030 nvlist_add_int32(nvlist_t *nvl, const char *name, int32_t val)
1032 return (nvlist_add_common(nvl, name, DATA_TYPE_INT32, 1, &val));
1036 nvlist_add_uint32(nvlist_t *nvl, const char *name, uint32_t val)
1038 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT32, 1, &val));
1042 nvlist_add_int64(nvlist_t *nvl, const char *name, int64_t val)
1044 return (nvlist_add_common(nvl, name, DATA_TYPE_INT64, 1, &val));
1048 nvlist_add_uint64(nvlist_t *nvl, const char *name, uint64_t val)
1050 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT64, 1, &val));
1055 nvlist_add_double(nvlist_t *nvl, const char *name, double val)
1057 return (nvlist_add_common(nvl, name, DATA_TYPE_DOUBLE, 1, &val));
1062 nvlist_add_string(nvlist_t *nvl, const char *name, const char *val)
1064 return (nvlist_add_common(nvl, name, DATA_TYPE_STRING, 1, (void *)val));
1068 nvlist_add_boolean_array(nvlist_t *nvl, const char *name,
1071 return (nvlist_add_common(nvl, name, DATA_TYPE_BOOLEAN_ARRAY, n, a));
1075 nvlist_add_byte_array(nvlist_t *nvl, const char *name, uchar_t *a, uint_t n)
1077 return (nvlist_add_common(nvl, name, DATA_TYPE_BYTE_ARRAY, n, a));
1081 nvlist_add_int8_array(nvlist_t *nvl, const char *name, int8_t *a, uint_t n)
1083 return (nvlist_add_common(nvl, name, DATA_TYPE_INT8_ARRAY, n, a));
1087 nvlist_add_uint8_array(nvlist_t *nvl, const char *name, uint8_t *a, uint_t n)
1089 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT8_ARRAY, n, a));
1093 nvlist_add_int16_array(nvlist_t *nvl, const char *name, int16_t *a, uint_t n)
1095 return (nvlist_add_common(nvl, name, DATA_TYPE_INT16_ARRAY, n, a));
1099 nvlist_add_uint16_array(nvlist_t *nvl, const char *name, uint16_t *a, uint_t n)
1101 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT16_ARRAY, n, a));
1105 nvlist_add_int32_array(nvlist_t *nvl, const char *name, int32_t *a, uint_t n)
1107 return (nvlist_add_common(nvl, name, DATA_TYPE_INT32_ARRAY, n, a));
1111 nvlist_add_uint32_array(nvlist_t *nvl, const char *name, uint32_t *a, uint_t n)
1113 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT32_ARRAY, n, a));
1117 nvlist_add_int64_array(nvlist_t *nvl, const char *name, int64_t *a, uint_t n)
1119 return (nvlist_add_common(nvl, name, DATA_TYPE_INT64_ARRAY, n, a));
1123 nvlist_add_uint64_array(nvlist_t *nvl, const char *name, uint64_t *a, uint_t n)
1125 return (nvlist_add_common(nvl, name, DATA_TYPE_UINT64_ARRAY, n, a));
1129 nvlist_add_string_array(nvlist_t *nvl, const char *name,
1132 return (nvlist_add_common(nvl, name, DATA_TYPE_STRING_ARRAY, n, a));
1136 nvlist_add_hrtime(nvlist_t *nvl, const char *name, hrtime_t val)
1138 return (nvlist_add_common(nvl, name, DATA_TYPE_HRTIME, 1, &val));
1142 nvlist_add_nvlist(nvlist_t *nvl, const char *name, nvlist_t *val)
1144 return (nvlist_add_common(nvl, name, DATA_TYPE_NVLIST, 1, val));
1148 nvlist_add_nvlist_array(nvlist_t *nvl, const char *name, nvlist_t **a, uint_t n)
1150 return (nvlist_add_common(nvl, name, DATA_TYPE_NVLIST_ARRAY, n, a));
1155 nvlist_next_nvpair(nvlist_t *nvl, nvpair_t *nvp)
1160 if (nvl == NULL ||
1161 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
1173 else if (priv->nvp_curr == curr || nvlist_contains_nvp(nvl, nvp))
1184 nvlist_prev_nvpair(nvlist_t *nvl, nvpair_t *nvp)
1189 if (nvl == NULL ||
1190 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
1197 else if (priv->nvp_curr == curr || nvlist_contains_nvp(nvl, nvp))
1208 nvlist_empty(nvlist_t *nvl)
1212 if (nvl == NULL ||
1213 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
1328 nvlist_lookup_common(nvlist_t *nvl, const char *name, data_type_t type,
1335 if (name == NULL || nvl == NULL ||
1336 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
1339 if (!(nvl->nvl_nvflag & (NV_UNIQUE_NAME | NV_UNIQUE_NAME_TYPE)))
1353 nvlist_lookup_boolean(nvlist_t *nvl, const char *name)
1355 return (nvlist_lookup_common(nvl, name, DATA_TYPE_BOOLEAN, NULL, NULL));
1359 nvlist_lookup_boolean_value(nvlist_t *nvl, const char *name, boolean_t *val)
1361 return (nvlist_lookup_common(nvl, name,
1366 nvlist_lookup_byte(nvlist_t *nvl, const char *name, uchar_t *val)
1368 return (nvlist_lookup_common(nvl, name, DATA_TYPE_BYTE, NULL, val));
1372 nvlist_lookup_int8(nvlist_t *nvl, const char *name, int8_t *val)
1374 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT8, NULL, val));
1378 nvlist_lookup_uint8(nvlist_t *nvl, const char *name, uint8_t *val)
1380 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT8, NULL, val));
1384 nvlist_lookup_int16(nvlist_t *nvl, const char *name, int16_t *val)
1386 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT16, NULL, val));
1390 nvlist_lookup_uint16(nvlist_t *nvl, const char *name, uint16_t *val)
1392 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT16, NULL, val));
1396 nvlist_lookup_int32(nvlist_t *nvl, const char *name, int32_t *val)
1398 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT32, NULL, val));
1402 nvlist_lookup_uint32(nvlist_t *nvl, const char *name, uint32_t *val)
1404 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT32, NULL, val));
1408 nvlist_lookup_int64(nvlist_t *nvl, const char *name, int64_t *val)
1410 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT64, NULL, val));
1414 nvlist_lookup_uint64(nvlist_t *nvl, const char *name, uint64_t *val)
1416 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT64, NULL, val));
1421 nvl, const char *name, double *val)
1423 return (nvlist_lookup_common(nvl, name, DATA_TYPE_DOUBLE, NULL, val));
1428 nvlist_lookup_string(nvlist_t *nvl, const char *name, char **val)
1430 return (nvlist_lookup_common(nvl, name, DATA_TYPE_STRING, NULL, val));
1434 nvlist_lookup_nvlist(nvlist_t *nvl, const char *name, nvlist_t **val)
1436 return (nvlist_lookup_common(nvl, name, DATA_TYPE_NVLIST, NULL, val));
1440 nvlist_lookup_boolean_array(nvlist_t *nvl, const char *name,
1443 return (nvlist_lookup_common(nvl, name,
1448 nvlist_lookup_byte_array(nvlist_t *nvl, const char *name,
1451 return (nvlist_lookup_common(nvl, name, DATA_TYPE_BYTE_ARRAY, n, a));
1455 nvlist_lookup_int8_array(nvlist_t *nvl, const char *name, int8_t **a, uint_t *n)
1457 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT8_ARRAY, n, a));
1461 nvlist_lookup_uint8_array(nvlist_t *nvl, const char *name,
1464 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT8_ARRAY, n, a));
1468 nvlist_lookup_int16_array(nvlist_t *nvl, const char *name,
1471 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT16_ARRAY, n, a));
1475 nvlist_lookup_uint16_array(nvlist_t *nvl, const char *name,
1478 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT16_ARRAY, n, a));
1482 nvlist_lookup_int32_array(nvlist_t *nvl, const char *name,
1485 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT32_ARRAY, n, a));
1489 nvlist_lookup_uint32_array(nvlist_t *nvl, const char *name,
1492 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT32_ARRAY, n, a));
1496 nvlist_lookup_int64_array(nvlist_t *nvl, const char *name,
1499 return (nvlist_lookup_common(nvl, name, DATA_TYPE_INT64_ARRAY, n, a));
1503 nvlist_lookup_uint64_array(nvlist_t *nvl, const char *name,
1506 return (nvlist_lookup_common(nvl, name, DATA_TYPE_UINT64_ARRAY, n, a));
1510 nvlist_lookup_string_array(nvlist_t *nvl, const char *name,
1513 return (nvlist_lookup_common(nvl, name, DATA_TYPE_STRING_ARRAY, n, a));
1517 nvlist_lookup_nvlist_array(nvlist_t *nvl, const char *name,
1520 return (nvlist_lookup_common(nvl, name, DATA_TYPE_NVLIST_ARRAY, n, a));
1524 nvlist_lookup_hrtime(nvlist_t *nvl, const char *name, hrtime_t *val)
1526 return (nvlist_lookup_common(nvl, name, DATA_TYPE_HRTIME, NULL, val));
1530 nvlist_lookup_pairs(nvlist_t *nvl, int flag, ...)
1545 ret = nvlist_lookup_common(nvl, name, type, NULL, NULL);
1565 ret = nvlist_lookup_common(nvl, name, type, NULL, val);
1582 ret = nvlist_lookup_common(nvl, name, type, nelem, val);
1598 * Find the 'name'ed nvpair in the nvlist 'nvl'. If 'name' found, the function
1613 nvlist_lookup_nvpair_ei_sep(nvlist_t *nvl, const char *name, const char sep,
1629 if ((nvl == NULL) || (name == NULL))
1637 if (!(nvl->nvl_nvflag & NV_UNIQUE_NAME))
1721 for (nvp = nvlist_next_nvpair(nvl, NULL); nvp != NULL;
1722 nvp = nvlist_next_nvpair(nvl, nvp)) {
1751 nvl = EMBEDDED_NVL(nvp);
1758 nvl = nva[idx];
1768 /* search for match of next component in embedded 'nvl' list */
1780 nvlist_lookup_nvpair(nvlist_t *nvl, const char *name, nvpair_t **ret)
1782 return (nvlist_lookup_nvpair_ei_sep(nvl, name, 0, ret, NULL, NULL));
1790 int nvlist_lookup_nvpair_embedded_index(nvlist_t *nvl,
1793 return (nvlist_lookup_nvpair_ei_sep(nvl, name, '.', ret, ip, ep));
1797 nvlist_exists(nvlist_t *nvl, const char *name)
1803 if (name == NULL || nvl == NULL ||
1804 (priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
1979 nvlist_add_nvpair(nvlist_t *nvl, nvpair_t *nvp)
1981 if (nvl == NULL || nvp == NULL)
1984 return (nvlist_add_common(nvl, NVP_NAME(nvp), NVP_TYPE(nvp),
1991 * the values are taken from nvl in the case of duplicates.
1996 nvlist_merge(nvlist_t *dst, nvlist_t *nvl, int flag)
1998 if (nvl == NULL || dst == NULL)
2001 if (dst != nvl)
2002 return (nvlist_copy_pairs(nvl, dst));
2058 nvs_encode_pairs(nvstream_t *nvs, nvlist_t *nvl)
2060 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
2074 nvs_decode_pairs(nvstream_t *nvs, nvlist_t *nvl)
2092 if ((nvp = nvp_buf_alloc(nvl, nvsize)) == NULL)
2096 nvp_buf_free(nvl, nvp);
2102 nvp_buf_free(nvl, nvp);
2106 nvp_buf_link(nvl, nvp);
2112 nvl, size_t *buflen)
2114 nvpriv_t *priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv;
2135 nvs_operation(nvstream_t *nvs, nvlist_t *nvl, size_t *buflen)
2139 if (nvl->nvl_priv == 0)
2145 if ((err = nvs->nvs_ops->nvs_nvlist(nvs, nvl, buflen)) != 0)
2150 err = nvs_encode_pairs(nvs, nvl);
2154 err = nvs_decode_pairs(nvs, nvl);
2158 err = nvs_getsize_pairs(nvs, nvl, buflen);
2258 nvlist_common(nvlist_t *nvl, char *buf, size_t *buflen, int encoding,
2271 if (buflen == NULL || nvl == NULL ||
2272 (nvs.nvs_priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL)
2326 err = nvs_native(&nvs, nvl, buf, buflen);
2329 err = nvs_xdr(&nvs, nvl, buf, buflen);
2340 nvlist_size(nvlist_t *nvl, size_t *size, int encoding)
2342 return (nvlist_common(nvl, NULL, size, encoding, NVS_OP_GETSIZE));
2350 nvlist_pack(nvlist_t *nvl, char **bufp, size_t *buflen, int encoding,
2354 return (nvlist_xpack(nvl, bufp, buflen, encoding,
2357 return (nvlist_xpack(nvl, bufp, buflen, encoding, nv_alloc_nosleep));
2362 nvlist_xpack(nvlist_t *nvl, char **bufp, size_t *buflen, int encoding,
2370 if (nva == NULL || nvl == NULL || bufp == NULL || buflen == NULL)
2374 return (nvlist_common(nvl, *bufp, buflen, encoding,
2391 if ((err = nvlist_size(nvl, &alloc_size, encoding)))
2397 if ((err = nvlist_common(nvl, buf, &alloc_size, encoding,
2426 nvlist_t *nvl;
2432 if ((err = nvlist_xalloc(&nvl, 0, nva)) != 0)
2435 if ((err = nvlist_common(nvl, buf, &buflen, 0, NVS_OP_DECODE)) != 0)
2436 nvlist_free(nvl);
2438 *nvlp = nvl;
2523 nvs_native_nvlist(nvstream_t *nvs, nvlist_t *nvl, size_t *size)
2536 if (native_cp(nvs, &nvl->nvl_version, sizeof (int32_t)) != 0 ||
2537 native_cp(nvs, &nvl->nvl_nvflag, sizeof (int32_t)) != 0)
2802 nvs_native(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen)
2813 err = nvs_operation(nvs, nvl, buflen);
2878 nvs_xdr_nvlist(nvstream_t *nvs, nvlist_t *nvl, size_t *size)
2885 if (!xdr_int(xdr, &nvl->nvl_version) ||
2886 !xdr_u_int(xdr, &nvl->nvl_nvflag))
3291 nvs_xdr(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen)
3302 err = nvs_operation(nvs, nvl, buflen);