X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fvolume_id%2Flib%2Flibvolume_id-private.h;h=046a1e39ed65255243b41c30b40f8f3b5c4eb479;hb=14e18278;hp=3326bf371289d16b39f6720374b6689f1d2071e8;hpb=3ab8ebf572cced0a63f8ba915d8494ef1784803d;p=elogind.git diff --git a/extras/volume_id/lib/libvolume_id-private.h b/extras/volume_id/lib/libvolume_id-private.h index 3326bf371..046a1e39e 100644 --- a/extras/volume_id/lib/libvolume_id-private.h +++ b/extras/volume_id/lib/libvolume_id-private.h @@ -20,9 +20,10 @@ #ifndef _LIBVOLUME_ID_PRIVATE_H_ #define _LIBVOLUME_ID_PRIVATE_H_ -#include #include #include +#include +#include #include #include @@ -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); @@ -155,6 +159,7 @@ extern int volume_id_probe_squashfs(struct volume_id *id, uint64_t off, uint64_t extern int volume_id_probe_netware(struct volume_id *id, uint64_t off, uint64_t size); extern int volume_id_probe_gfs(struct volume_id *id, uint64_t off, uint64_t size); extern int volume_id_probe_gfs2(struct volume_id *id, uint64_t off, uint64_t size); +extern int volume_id_probe_btrfs(struct volume_id *id, uint64_t off, uint64_t size); /* special formats */ extern int volume_id_probe_linux_swap(struct volume_id *id, uint64_t off, uint64_t size);