X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fvolume_id%2Flib%2Futil.h;h=e3c766d4ab66f947381d3298c70839f43475184e;hb=064360cde8f35d8ac6faf418ddfa39b9f3da4347;hp=1206116ce2e26e7c261401f1a3900f5f33b3dbde;hpb=13361e47049d14eeb76234ad14403f4d86fc8ba5;p=elogind.git diff --git a/extras/volume_id/lib/util.h b/extras/volume_id/lib/util.h index 1206116ce..e3c766d4a 100644 --- a/extras/volume_id/lib/util.h +++ b/extras/volume_id/lib/util.h @@ -23,6 +23,8 @@ #include #include +#define ALLOWED_CHARS "#+-.:=@_" + #ifndef PACKED #define PACKED __attribute__((packed)) #endif @@ -69,7 +71,8 @@ enum uuid_format { UUID_DOS, UUID_64BIT_LE, UUID_64BIT_BE, - UUID_FOURINT, + UUID_MD, + UUID_LVM, }; enum endian { @@ -77,7 +80,8 @@ enum endian { BE = 1 }; -extern void volume_id_set_unicode16(char *str, size_t len, const uint8_t *buf, enum endian endianess, size_t count); +extern int volume_id_utf8_encoded_valid_unichar(const char *str); +extern size_t volume_id_set_unicode16(uint8_t *str, size_t len, const uint8_t *buf, enum endian endianess, size_t count); extern void volume_id_set_usage(struct volume_id *id, enum volume_id_usage usage_id); extern void volume_id_set_label_raw(struct volume_id *id, const uint8_t *buf, size_t count); extern void volume_id_set_label_string(struct volume_id *id, const uint8_t *buf, size_t count);