nvme_ipaddrs_eq;
nvme_nbft_free;
nvme_nbft_read;
+ nvme_root_get_application;
+ nvme_root_set_application;
nvme_subsystem_get_application;
nvme_subsystem_set_application;
};
return json_dump_tree(r);
}
+const char *nvme_root_get_application(nvme_root_t r)
+{
+ return r->application;
+}
+
+void nvme_root_set_application(nvme_root_t r, const char *a)
+{
+ if (r->application)
+ free(r->application);
+ if (a)
+ r->application = strdup(a);
+}
+
nvme_host_t nvme_first_host(nvme_root_t r)
{
return list_top(&r->hosts, struct nvme_host, entry);
__nvme_free_host(h);
if (r->config_file)
free(r->config_file);
+ if (r->application)
+ free(r->application);
free(r);
}
free(s->firmware);
if (s->subsystype)
free(s->subsystype);
+ if (s->application)
+ free(s->application);
free(s);
}
*/
nvme_root_t nvme_create_root(FILE *fp, int log_level);
+/**
+ * nvme_root_set_application - Specify managing application
+ * @r: &nvme_root_t object
+ * @a: Application string
+ *
+ * Sets the managing application string for @r.
+ */
+void nvme_root_set_application(nvme_root_t r, const char *a);
+
+/**
+ * nvme_root_get_application - Get managing application
+ * @r: &nvme_root_t object
+ *
+ * Returns the managing application string for @r or NULL if not set.
+ */
+const char *nvme_root_get_application(nvme_root_t r);
+
/**
* nvme_free_tree() - Free root object
* @r: &nvme_root_t object