*/
#include "includes.h"
+#include "lib/file_id.h"
/*
return True if two file_id structures are equal
}
/*
- a static string for a file_id structure
+ a static-like (on talloc_tos()) string for a file_id structure
*/
const char *file_id_string_tos(const struct file_id *id)
{
return result;
}
+/*
+ an allocated string for a file_id structure
+ */
+const char *file_id_string(TALLOC_CTX *mem_ctx, const struct file_id *id)
+{
+ char *result = talloc_asprintf(mem_ctx, "%llx:%llx:%llx",
+ (unsigned long long)id->devid,
+ (unsigned long long)id->inode,
+ (unsigned long long)id->extid);
+ SMB_ASSERT(result != NULL);
+ return result;
+}
+
/*
push a 16 byte version of a file id into a buffer. This ignores the extid
and is needed when dev/inodes are stored in persistent storage (tdbs).