diff options
Diffstat (limited to 'nvme.h')
-rw-r--r-- | nvme.h | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -29,6 +29,7 @@ #include "plugin.h" #include "util/json.h" #include "util/argconfig.h" +#include "util/cleanup.h" enum nvme_print_flags { NORMAL = 0, @@ -100,15 +101,24 @@ int parse_and_open(struct nvme_dev **dev, int argc, char **argv, const char *des void dev_close(struct nvme_dev *dev); +static inline void cleanup_nvme_dev(struct nvme_dev **dev) +{ + if (*dev) + dev_close(*dev); +} +#define _cleanup_nvme_dev_ __cleanup__(cleanup_nvme_dev) + extern const char *output_format; enum nvme_print_flags validate_output_format(const char *format); +bool nvme_is_output_format_json(void); int __id_ctrl(int argc, char **argv, struct command *cmd, struct plugin *plugin, void (*vs)(uint8_t *vs, struct json_object *root)); extern int current_index; -void *nvme_alloc(size_t len, bool *huge); -void nvme_free(void *p, bool huge); +void *nvme_alloc_huge(size_t len, bool *huge); +void nvme_free_huge(void *p, bool huge); + const char *nvme_strerror(int errnum); unsigned long long elapsed_utime(struct timeval start_time, |