chiark / gitweb /
delete vol_id and require util-linux-ng's blkid
[elogind.git] / extras / volume_id / lib / libvolume_id-private.h
index 356d899209b35573a5baa79e15ca34d3b86611af..046a1e39ed65255243b41c30b40f8f3b5c4eb479 100644 (file)
 #ifndef _LIBVOLUME_ID_PRIVATE_H_
 #define _LIBVOLUME_ID_PRIVATE_H_
 
-#include <stdint.h>
 #include <stddef.h>
 #include <endian.h>
+#include <stdint.h>
+#include <inttypes.h>
 #include <byteswap.h>
 #include <syslog.h>
 
@@ -93,11 +94,9 @@ enum endian {
 
 enum volume_id_usage {
        VOLUME_ID_UNUSED,
-       VOLUME_ID_UNPROBED,
        VOLUME_ID_OTHER,
        VOLUME_ID_FILESYSTEM,
        VOLUME_ID_RAID,
-       VOLUME_ID_DISKLABEL,
        VOLUME_ID_CRYPTO,
 };
 
@@ -108,6 +107,9 @@ struct volume_id {
        uint8_t         uuid_raw[VOLUME_ID_UUID_SIZE];
        size_t          uuid_raw_len;
        char            uuid[VOLUME_ID_UUID_SIZE+1];
+       uint8_t         uuid_sub_raw[VOLUME_ID_UUID_SIZE];
+       size_t          uuid_sub_raw_len;
+       char            uuid_sub[VOLUME_ID_UUID_SIZE+1];
        enum            volume_id_usage usage_id;
        char            *usage;
        char            *type;
@@ -119,6 +121,7 @@ struct volume_id {
        uint8_t         *seekbuf;
        uint64_t        seekbuf_off;
        size_t          seekbuf_len;
+       int             force_unique_result;
 };
 
 /* utils */
@@ -129,6 +132,7 @@ extern void volume_id_set_label_raw(struct volume_id *id, const uint8_t *buf, si
 extern void volume_id_set_label_string(struct volume_id *id, const uint8_t *buf, size_t count);
 extern void volume_id_set_label_unicode16(struct volume_id *id, const uint8_t *buf, enum endian endianess, size_t count);
 extern void volume_id_set_uuid(struct volume_id *id, const uint8_t *buf, size_t len, enum uuid_format format);
+extern void volume_id_set_uuid_sub(struct volume_id *id, const uint8_t *buf, size_t len, enum uuid_format format);
 extern uint8_t *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t len);
 extern void volume_id_free_buffer(struct volume_id *id);