if(vs)
vs(ctrl->vs, root);
+
json_print(root);
}
int i;
__le64 *frs;
- json_object_add_value_int(fwsi, "Active Firmware Slot (afi)",
- fw_log->afi);
+ json_object_add_value_int(fwsi, "Active Firmware Slot (afi)", fw_log->afi);
+
for (i = 0; i < 7; i++) {
if (fw_log->frs[i][0]) {
snprintf(fmt, sizeof(fmt), "Firmware Rev Slot %d",
json_object_add_value_string(fwsi, fmt, str);
}
}
+
json_object_add_value_object(root, devname, fwsi);
json_print(root);
}
json_object_add_value_object(root, devname, nsi);
+
json_print(root);
}
}
json_object_add_value_array(root, "ANA DESC LIST ", desc_list);
+
json_print(root);
}
add:
json_array_add_value_object(valid, valid_attrs);
}
+
json_object_add_value_array(root, "List of Valid Reports", valid);
+
json_print(root);
}
le32_to_cpu(sanitize_log->etcend));
json_object_add_value_object(root, devname, dev);
+
json_print(root);
}
le16_to_cpu(pea_log->entries[i]));
json_array_add_value_object(valid, valid_attrs);
}
+
json_object_add_value_array(root, "list_of_entries", valid);
+
json_print(root);
}
}
json_object_add_value_array(root, "list_of_event_entries", valid);
+
json_print(root);
}
le16_to_cpu(endurance_log->entries[i]));
json_array_add_value_object(valid, valid_attrs);
}
+
json_object_add_value_array(root, "list_of_entries", valid);
+
json_print(root);
}
}
json_object_add_value_array(root, "ns_elements", elements_list);
+
json_print(root);
}
}
json_object_add_value_object(root, "fid_support", fids_list);
+
json_print(root);
}
}
json_object_add_value_object(root, "mi_command_support", mi_cmds_list);
+
json_print(root);
}
}
json_object_add_value_array(root, "mus_list", entries);
+
json_print(root);
}
}
json_object_add_value_array(root, "Capacity Descriptor", cap_list);
+
json_print(root);
}
json_object_add_value_array(host_attrs, "Subsystems", subsystems);
json_array_add_value_object(root, host_attrs);
}
+
json_print(root);
}
json_object_add_value_int(root, "pmrswtp", pmrswtp);
json_object_add_value_uint(root, "pmrmscl", pmrmscl);
json_object_add_value_uint(root, "pmrmscu", pmrmscu);
+
json_print(root);
}
json_array_add_value_object(valid, valid_attrs);
}
}
+
json_object_add_value_array(root, "nsid_list", valid);
+
json_print(root);
}
json_object_add_value_uint(root, "nr_zones", nr_zones);
json_object_add_value_array(root, "zone_list", zone_list);
+
json_print(root);
}
for (i = 0; i <= nr_ranges; i++) {
lbare = json_create_object();
json_array_add_value_object(lbara, lbare);
+
json_object_add_value_int(lbare, "LBA range", i);
+
sprintf(json_str, "%#x", lbrt->entry[i].type);
json_object_add_value_string(lbare, "type", json_str);
+
json_object_add_value_string(lbare, "type description",
nvme_feature_lba_type_to_string(lbrt->entry[i].type));
+
sprintf(json_str, "%#x", lbrt->entry[i].attributes);
json_object_add_value_string(lbare, "attributes", json_str);
+
json_object_add_value_string(lbare, "attribute[0]",
lbrt->entry[i].attributes & 0x0001 ?
"LBA range may be overwritten" :
"LBA range should not be overwritten");
+
json_object_add_value_string(lbare, "attribute[1]",
lbrt->entry[i].attributes & 0x0002 ?
"LBA range should be hidden from the OS/EFI/BIOS" :
"LBA range should be visible from the OS/EFI/BIOS");
+
sprintf(json_str, "%#"PRIx64"", le64_to_cpu(lbrt->entry[i].slba));
json_object_add_value_string(lbare, "slba", json_str);
+
sprintf(json_str, "%#"PRIx64"", le64_to_cpu(lbrt->entry[i].nlb));
json_object_add_value_string(lbare, "nlb", json_str);
+
for (j = 0; j < ARRAY_SIZE(lbrt->entry[i].guid); j++)
sprintf(&json_str[j * 2], "%02x", lbrt->entry[i].guid[j]);
json_object_add_value_string(lbare, "guid", json_str);
}
json_object_add_value_array(root, "ctrl_list", valid);
+
json_print(root);
}
}
json_object_add_value_array(root, "NVMSet", entries);
+
json_print(root);
}
util_uuid_to_string(uuid));
json_array_add_value_object(entries, entry);
}
+
json_object_add_value_array(root, "UUID-list", entries);
+
json_print(root);
}
}
json_object_add_value_array(root, "domain_list", entries);
+
json_print(root);
}
}
json_object_add_value_array(root, "endgrp_list", valid);
+
json_print(root);
}
}
json_object_add_value_object(root, "supported_logs", valid);
+
json_print(root);
}
json_object_add_value_object(hss, "Subsystems", jsslist);
json_array_add_value_object(jdev, hss);
}
+
json_object_add_value_array(jroot, "Devices", jdev);
- json_print_object(jroot, NULL);
- printf("\n");
- json_free_object(jroot);
+
+ json_print(jroot);
}
static struct json_object *json_list_item(nvme_ns_t n)
json_list_item(n));
}
}
+
json_object_add_value_array(jroot, "Devices", jdevices);
- json_print_object(jroot, NULL);
- printf("\n");
- json_free_object(jroot);
+
+ json_print(jroot);
}
static void json_print_list_items(nvme_root_t r)
json_object_add_value_array(host_attrs, "Subsystems", subsystems);
json_array_add_value_object(root, host_attrs);
}
+
json_print(root);
}
}
json_array_add_value_object(entries, entry);
}
+
json_print(root);
}