| 1246 | } |
| 1247 | |
| 1248 | nvpair_t * |
| 1249 | nvpair_create_nvlist(const char *name, const nvlist_t *value) |
| 1250 | { |
| 1251 | nvlist_t *nvl; |
| 1252 | nvpair_t *nvp; |
| 1253 | |
| 1254 | if (value == NULL) { |
| 1255 | ERRNO_SET(EINVAL); |
| 1256 | return (NULL); |
| 1257 | } |
| 1258 | |
| 1259 | nvl = nvlist_clone(value); |
| 1260 | if (nvl == NULL) |
| 1261 | return (NULL); |
| 1262 | |
| 1263 | nvp = nvpair_allocv(name, NV_TYPE_NVLIST, (uint64_t)(uintptr_t)nvl, 0, |
| 1264 | 0); |
| 1265 | if (nvp == NULL) |
| 1266 | nvlist_destroy(nvl); |
| 1267 | else |
| 1268 | nvlist_set_parent(nvl, nvp); |
| 1269 | |
| 1270 | return (nvp); |
| 1271 | } |
| 1272 | |
| 1273 | #ifndef _KERNEL |
| 1274 | nvpair_t * |
no test coverage detected