MCPcopy Create free account
hub / github.com/F-Stack/f-stack / nvlist_dump

Function nvlist_dump

freebsd/contrib/libnv/nvlist.c:439–626  ·  view source on GitHub ↗

* Dump content of nvlist. */

Source from the content-addressed store, hash-verified

437 * Dump content of nvlist.
438 */
439void
440nvlist_dump(const nvlist_t *nvl, int fd)
441{
442 const nvlist_t *tmpnvl;
443 nvpair_t *nvp, *tmpnvp;
444 void *cookie;
445 int level;
446
447 level = 0;
448 if (nvlist_dump_error_check(nvl, fd, level))
449 return;
450
451 nvp = nvlist_first_nvpair(nvl);
452 while (nvp != NULL) {
453 dprintf(fd, "%*s%s (%s):", level * 4, "", nvpair_name(nvp),
454 nvpair_type_string(nvpair_type(nvp)));
455 switch (nvpair_type(nvp)) {
456 case NV_TYPE_NULL:
457 dprintf(fd, " null\n");
458 break;
459 case NV_TYPE_BOOL:
460 dprintf(fd, " %s\n", nvpair_get_bool(nvp) ?
461 "TRUE" : "FALSE");
462 break;
463 case NV_TYPE_NUMBER:
464 dprintf(fd, " %ju (%jd) (0x%jx)\n",
465 (uintmax_t)nvpair_get_number(nvp),
466 (intmax_t)nvpair_get_number(nvp),
467 (uintmax_t)nvpair_get_number(nvp));
468 break;
469 case NV_TYPE_STRING:
470 dprintf(fd, " [%s]\n", nvpair_get_string(nvp));
471 break;
472 case NV_TYPE_NVLIST:
473 dprintf(fd, "\n");
474 tmpnvl = nvpair_get_nvlist(nvp);
475 if (nvlist_dump_error_check(tmpnvl, fd, level + 1))
476 break;
477 tmpnvp = nvlist_first_nvpair(tmpnvl);
478 if (tmpnvp != NULL) {
479 nvl = tmpnvl;
480 nvp = tmpnvp;
481 level++;
482 continue;
483 }
484 break;
485 case NV_TYPE_DESCRIPTOR:
486 dprintf(fd, " %d\n", nvpair_get_descriptor(nvp));
487 break;
488 case NV_TYPE_BINARY:
489 {
490 const unsigned char *binary;
491 unsigned int ii;
492 size_t size;
493
494 binary = nvpair_get_binary(nvp, &size);
495 dprintf(fd, " %zu ", size);
496 for (ii = 0; ii < size; ii++)

Callers 1

nvlist_fdumpFunction · 0.85

Calls 15

nvlist_dump_error_checkFunction · 0.85
nvlist_first_nvpairFunction · 0.85
nvpair_type_stringFunction · 0.85
nvpair_get_boolFunction · 0.85
nvpair_get_numberFunction · 0.85
nvpair_get_stringFunction · 0.85
nvpair_get_nvlistFunction · 0.85
nvpair_get_descriptorFunction · 0.85
nvpair_get_binaryFunction · 0.85
nvpair_get_bool_arrayFunction · 0.85
nvpair_get_string_arrayFunction · 0.85
nvpair_get_number_arrayFunction · 0.85

Tested by

no test coverage detected