Lines Matching refs:nvs
2371 nvs_encode_pairs(nvstream_t *nvs, nvlist_t *nvl) in nvs_encode_pairs() argument
2380 if (nvs->nvs_ops->nvs_nvpair(nvs, &curr->nvi_nvp, NULL) != 0) in nvs_encode_pairs()
2383 return (nvs->nvs_ops->nvs_nvl_fini(nvs)); in nvs_encode_pairs()
2387 nvs_decode_pairs(nvstream_t *nvs, nvlist_t *nvl) in nvs_decode_pairs() argument
2397 while ((err = nvs->nvs_ops->nvs_nvpair(nvs, NULL, &nvsize)) == 0) { in nvs_decode_pairs()
2408 if ((err = nvs->nvs_ops->nvs_nvp_op(nvs, nvp)) != 0) { in nvs_decode_pairs()
2431 nvs_getsize_pairs(nvstream_t *nvs, nvlist_t *nvl, size_t *buflen) in nvs_getsize_pairs() argument
2442 if (nvs->nvs_ops->nvs_nvp_size(nvs, &curr->nvi_nvp, &size) != 0) in nvs_getsize_pairs()
2454 nvs_operation(nvstream_t *nvs, nvlist_t *nvl, size_t *buflen) in nvs_operation() argument
2464 if ((err = nvs->nvs_ops->nvs_nvlist(nvs, nvl, buflen)) != 0) in nvs_operation()
2467 switch (nvs->nvs_op) { in nvs_operation()
2469 err = nvs_encode_pairs(nvs, nvl); in nvs_operation()
2473 err = nvs_decode_pairs(nvs, nvl); in nvs_operation()
2477 err = nvs_getsize_pairs(nvs, nvl, buflen); in nvs_operation()
2488 nvs_embedded(nvstream_t *nvs, nvlist_t *embedded) in nvs_embedded() argument
2490 switch (nvs->nvs_op) { in nvs_embedded()
2494 if (nvs->nvs_recursion >= nvpair_max_recursion) in nvs_embedded()
2496 nvs->nvs_recursion++; in nvs_embedded()
2497 err = nvs_operation(nvs, embedded, NULL); in nvs_embedded()
2498 nvs->nvs_recursion--; in nvs_embedded()
2508 if ((priv = nv_priv_alloc_embedded(nvs->nvs_priv)) == NULL) in nvs_embedded()
2513 if (nvs->nvs_recursion >= nvpair_max_recursion) { in nvs_embedded()
2517 nvs->nvs_recursion++; in nvs_embedded()
2518 if ((err = nvs_operation(nvs, embedded, NULL)) != 0) in nvs_embedded()
2520 nvs->nvs_recursion--; in nvs_embedded()
2531 nvs_embedded_nvl_array(nvstream_t *nvs, nvpair_t *nvp, size_t *size) in nvs_embedded_nvl_array() argument
2537 switch (nvs->nvs_op) { in nvs_embedded_nvl_array()
2540 if (nvs_embedded(nvs, nvlp[i]) != 0) in nvs_embedded_nvl_array()
2550 if (nvs_embedded(nvs, embedded) != 0) { in nvs_embedded_nvl_array()
2565 if (nvs_operation(nvs, nvlp[i], &nvp_sz) != 0) in nvs_embedded_nvl_array()
2594 nvstream_t nvs; in nvlist_common() local
2606 (nvs.nvs_priv = (nvpriv_t *)(uintptr_t)nvl->nvl_priv) == NULL) in nvlist_common()
2609 nvs.nvs_op = nvs_op; in nvlist_common()
2610 nvs.nvs_recursion = 0; in nvlist_common()
2663 err = nvs_native(&nvs, nvl, buf, buflen); in nvlist_common()
2666 err = nvs_xdr(&nvs, nvl, buf, buflen); in nvlist_common()
2791 nvs_native_create(nvstream_t *nvs, nvs_native_t *native, char *buf, in nvs_native_create() argument
2794 switch (nvs->nvs_op) { in nvs_native_create()
2797 nvs->nvs_private = native; in nvs_native_create()
2804 nvs->nvs_private = native; in nvs_native_create()
2814 nvs_native_destroy(nvstream_t *nvs) in nvs_native_destroy() argument
2816 nvs->nvs_private = NULL; in nvs_native_destroy()
2820 native_cp(nvstream_t *nvs, void *buf, size_t size) in native_cp() argument
2822 nvs_native_t *native = (nvs_native_t *)nvs->nvs_private; in native_cp()
2831 switch (nvs->nvs_op) { in native_cp()
2850 nvs_native_nvlist(nvstream_t *nvs, nvlist_t *nvl, size_t *size) in nvs_native_nvlist() argument
2852 nvs_native_t *native = nvs->nvs_private; in nvs_native_nvlist()
2854 switch (nvs->nvs_op) { in nvs_native_nvlist()
2863 if (native_cp(nvs, &nvl->nvl_version, sizeof (int32_t)) != 0 || in nvs_native_nvlist()
2864 native_cp(nvs, &nvl->nvl_nvflag, sizeof (int32_t)) != 0) in nvs_native_nvlist()
2892 nvs_native_nvl_fini(nvstream_t *nvs) in nvs_native_nvl_fini() argument
2894 if (nvs->nvs_op == NVS_OP_ENCODE) { in nvs_native_nvl_fini()
2895 nvs_native_t *native = (nvs_native_t *)nvs->nvs_private; in nvs_native_nvl_fini()
2911 nvpair_native_embedded(nvstream_t *nvs, nvpair_t *nvp) in nvpair_native_embedded() argument
2913 if (nvs->nvs_op == NVS_OP_ENCODE) { in nvpair_native_embedded()
2914 nvs_native_t *native = (nvs_native_t *)nvs->nvs_private; in nvpair_native_embedded()
2926 return (nvs_embedded(nvs, EMBEDDED_NVL(nvp))); in nvpair_native_embedded()
2930 nvpair_native_embedded_array(nvstream_t *nvs, nvpair_t *nvp) in nvpair_native_embedded_array() argument
2932 if (nvs->nvs_op == NVS_OP_ENCODE) { in nvpair_native_embedded_array()
2933 nvs_native_t *native = (nvs_native_t *)nvs->nvs_private; in nvpair_native_embedded_array()
2955 return (nvs_embedded_nvl_array(nvs, nvp, NULL)); in nvpair_native_embedded_array()
2959 nvpair_native_string_array(nvstream_t *nvs, nvpair_t *nvp) in nvpair_native_string_array() argument
2961 switch (nvs->nvs_op) { in nvpair_native_string_array()
2963 nvs_native_t *native = (nvs_native_t *)nvs->nvs_private; in nvpair_native_string_array()
2989 nvs_native_nvp_op(nvstream_t *nvs, nvpair_t *nvp) in nvs_native_nvp_op() argument
3000 switch (nvs->nvs_op) { in nvs_native_nvp_op()
3003 if (native_cp(nvs, nvp, nvp->nvp_size) != 0) in nvs_native_nvp_op()
3029 ret = nvpair_native_embedded(nvs, nvp); in nvs_native_nvp_op()
3032 ret = nvpair_native_embedded_array(nvs, nvp); in nvs_native_nvp_op()
3035 nvpair_native_string_array(nvs, nvp); in nvs_native_nvp_op()
3045 nvs_native_nvp_size(nvstream_t *nvs, nvpair_t *nvp, size_t *size) in nvs_native_nvp_size() argument
3053 if (nvs_operation(nvs, EMBEDDED_NVL(nvp), &nvsize) != 0) in nvs_native_nvp_size()
3062 if (nvs_embedded_nvl_array(nvs, nvp, &nvsize) != 0) in nvs_native_nvp_size()
3081 nvs_native_nvpair(nvstream_t *nvs, nvpair_t *nvp, size_t *size) in nvs_native_nvpair() argument
3083 switch (nvs->nvs_op) { in nvs_native_nvpair()
3085 return (nvs_native_nvp_op(nvs, nvp)); in nvs_native_nvpair()
3088 nvs_native_t *native = (nvs_native_t *)nvs->nvs_private; in nvs_native_nvpair()
3129 nvs_native(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen) in nvs_native() argument
3134 nvs->nvs_ops = &nvs_native_ops; in nvs_native()
3136 if ((err = nvs_native_create(nvs, &native, buf + sizeof (nvs_header_t), in nvs_native()
3140 err = nvs_operation(nvs, nvl, buflen); in nvs_native()
3142 nvs_native_destroy(nvs); in nvs_native()
3168 nvs_xdr_create(nvstream_t *nvs, XDR *xdr, char *buf, size_t buflen) in nvs_xdr_create() argument
3174 switch (nvs->nvs_op) { in nvs_xdr_create()
3177 nvs->nvs_private = xdr; in nvs_xdr_create()
3181 nvs->nvs_private = xdr; in nvs_xdr_create()
3184 nvs->nvs_private = NULL; in nvs_xdr_create()
3192 nvs_xdr_destroy(nvstream_t *nvs) in nvs_xdr_destroy() argument
3194 switch (nvs->nvs_op) { in nvs_xdr_destroy()
3197 nvs->nvs_private = NULL; in nvs_xdr_destroy()
3205 nvs_xdr_nvlist(nvstream_t *nvs, nvlist_t *nvl, size_t *size) in nvs_xdr_nvlist() argument
3207 switch (nvs->nvs_op) { in nvs_xdr_nvlist()
3210 XDR *xdr = nvs->nvs_private; in nvs_xdr_nvlist()
3232 nvs_xdr_nvl_fini(nvstream_t *nvs) in nvs_xdr_nvl_fini() argument
3234 if (nvs->nvs_op == NVS_OP_ENCODE) { in nvs_xdr_nvl_fini()
3235 XDR *xdr = nvs->nvs_private; in nvs_xdr_nvl_fini()
3298 nvs_xdr_nvp_op(nvstream_t *nvs, nvpair_t *nvp) in nvs_xdr_nvp_op() argument
3300 ASSERT(nvs != NULL && nvp != NULL); in nvs_xdr_nvp_op()
3308 XDR *xdr = nvs->nvs_private; in nvs_xdr_nvp_op()
3351 if (nvs_embedded(nvs, (void *)buf) == 0) in nvs_xdr_nvp_op()
3356 if (nvs_embedded_nvl_array(nvs, nvp, NULL) == 0) in nvs_xdr_nvp_op()
3456 if (nvs->nvs_op == NVS_OP_DECODE) in nvs_xdr_nvp_op()
3469 if (nvs->nvs_op == NVS_OP_DECODE) in nvs_xdr_nvp_op()
3484 nvs_xdr_nvp_size(nvstream_t *nvs, nvpair_t *nvp, size_t *size) in nvs_xdr_nvp_size() argument
3553 int old_nvs_op = nvs->nvs_op; in nvs_xdr_nvp_size()
3556 nvs->nvs_op = NVS_OP_GETSIZE; in nvs_xdr_nvp_size()
3558 err = nvs_operation(nvs, EMBEDDED_NVL(nvp), &nvsize); in nvs_xdr_nvp_size()
3560 err = nvs_embedded_nvl_array(nvs, nvp, &nvsize); in nvs_xdr_nvp_size()
3561 nvs->nvs_op = old_nvs_op; in nvs_xdr_nvp_size()
3611 nvs_xdr_nvpair(nvstream_t *nvs, nvpair_t *nvp, size_t *size) in nvs_xdr_nvpair() argument
3613 XDR *xdr = nvs->nvs_private; in nvs_xdr_nvpair()
3616 switch (nvs->nvs_op) { in nvs_xdr_nvpair()
3620 if (nvs_xdr_nvp_size(nvs, nvp, &nvsize) != 0) in nvs_xdr_nvpair()
3628 return (nvs_xdr_nvp_op(nvs, nvp)); in nvs_xdr_nvpair()
3666 nvs_xdr(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen) in nvs_xdr() argument
3671 nvs->nvs_ops = &nvs_xdr_ops; in nvs_xdr()
3673 if ((err = nvs_xdr_create(nvs, &xdr, buf + sizeof (nvs_header_t), in nvs_xdr()
3677 err = nvs_operation(nvs, nvl, buflen); in nvs_xdr()
3679 nvs_xdr_destroy(nvs); in nvs_xdr()