libnvme_mi_dep = dependency('libnvme-mi', required: true,
fallback : ['libnvme', 'libnvme_mi_dep'])
-# Check for libuuid availability
-libuuid_dep = dependency('uuid', required: true,
- fallback : ['uuid', 'uuid_dep'])
-conf.set('CONFIG_LIBUUID', libuuid_dep.found(), description: 'Is libuuid available?')
-
# Check for libjson-c availability
json_c_dep = dependency('json-c', required: true, version: '>=0.13',
fallback : ['json-c', 'json_c_dep'])
executable(
'nvme',
sources,
- dependencies: [ libnvme_dep, libnvme_mi_dep, libuuid_dep, json_c_dep, libz_dep,
+ dependencies: [ libnvme_dep, libnvme_mi_dep, json_c_dep, libz_dep,
libhugetlbfs_dep ],
link_args: '-ldl',
include_directories: incdir,
#include <stdlib.h>
#include <time.h>
#include <sys/stat.h>
-#include <uuid/uuid.h>
#include "nvme.h"
#include "libnvme.h"
union {
__u8 eui64[NVME_NIDT_EUI64_LEN];
__u8 nguid[NVME_NIDT_NGUID_LEN];
- uuid_t uuid;
+ __u8 uuid[NVME_UUID_LEN];
__u8 csi;
} desc;
case NVME_NIDT_UUID:
memcpy(desc.uuid, data + off, sizeof(desc.uuid));
- uuid_unparse_lower(desc.uuid, json_str);
+ nvme_uuid_to_string(desc.uuid, json_str);
len = sizeof(desc.uuid);
nidt_name = "uuid";
break;
{
int pos, len = 0;
int i;
- uuid_t uuid;
- char uuid_str[37];
+ __u8 uuid[NVME_UUID_LEN];
+ char uuid_str[NVME_UUID_LEN_STRING];
__u8 eui64[8];
__u8 nguid[16];
__u8 csi;
break;
case NVME_NIDT_UUID:
memcpy(uuid, data + pos + sizeof(*cur), 16);
- uuid_unparse_lower(uuid, uuid_str);
+ nvme_uuid_to_string(uuid, uuid_str);
printf("uuid : %s\n", uuid_str);
len = sizeof(uuid);
break;
entries = json_create_array();
/* The 0th entry is reserved */
for (i = 1; i < NVME_ID_UUID_LIST_MAX; i++) {
- uuid_t uuid;
+ __u8 uuid[NVME_UUID_LEN];
struct json_object *entry = json_create_object();
/* The list is terminated by a zero UUID value */
/* The 0th entry is reserved */
printf("NVME Identify UUID:\n");
for (i = 0; i < NVME_ID_UUID_LIST_MAX; i++) {
- uuid_t uuid;
+ __u8 uuid[NVME_UUID_LEN];
char *association = "";
uint8_t identifier_association = uuid_list->entry[i].header & 0x3;
/* The list is terminated by a zero UUID value */
- if (memcmp(uuid_list->entry[i].uuid, zero_uuid, sizeof(zero_uuid)) == 0)
+ if (memcmp(uuid_list->entry[i].uuid, zero_uuid, NVME_UUID_LEN) == 0)
break;
- memcpy(&uuid, uuid_list->entry[i].uuid, sizeof(uuid));
+ memcpy(&uuid, uuid_list->entry[i].uuid, NVME_UUID_LEN);
if (human) {
switch (identifier_association) {
case 0x0:
#include <unistd.h>
#include <errno.h>
#include <string.h>
-#include <uuid/uuid.h>
#include "common.h"
#include "nvme.h"
unsigned nsid;
struct nvme_id_ctrl ctrl;
struct nvme_id_ns ns;
- uuid_t uuid;
+ unsigned char uuid[NVME_UUID_LEN];
unsigned char log_data[ONTAP_C2_LOG_SIZE];
char dev[265];
};
for (i = 0; i < count; i++) {
netapp_get_ns_size(size, &lba, &devices[i].ns);
- uuid_unparse_lower(devices[i].uuid, uuid_str);
+ nvme_uuid_to_string(devices[i].uuid, uuid_str);
netapp_get_ontap_labels(vsname, nspath, devices[i].log_data);
if (format == NJSON) {
'test-uint128',
['test-uint128.c', '../util/types.c'],
include_directories: [incdir, '..'],
- dependencies: [libuuid_dep],
+ dependencies: [libnvme_dep],
)
test('uint128', test_uint128)
return str + idx;
}
-const char *util_uuid_to_string(uuid_t uuid)
+const char *util_uuid_to_string(unsigned char uuid[NVME_UUID_LEN])
{
- /* large enough to hold uuid str (37) + null-termination byte */
- static char uuid_str[40];
+ static char uuid_str[NVME_UUID_LEN_STRING];
- uuid_unparse_lower(uuid, uuid_str);
+ nvme_uuid_to_string(uuid, uuid_str);
return uuid_str;
}
#include <uuid/uuid.h>
#include <linux/types.h>
+#include <libnvme.h>
+
#define ABSOLUTE_ZERO_CELSIUS -273
static inline long kelvin_to_celsius(long t)
uint64_t int48_to_long(__u8 *data);
char *uint128_t_to_string(nvme_uint128_t val);
-const char *util_uuid_to_string(uuid_t uuid);
+const char *util_uuid_to_string(unsigned char uuid[NVME_UUID_LEN]);
const char *util_fw_to_string(char *c);
#endif /* _MISC_H */