chiark / gitweb /
volume_id: hfs - calculate proper uuid
[elogind.git] / extras / volume_id / lib / util.h
index 1206116ce2e26e7c261401f1a3900f5f33b3dbde..fe0b56be81e7750df4fd348b8dc05623d41bae45 100644 (file)
@@ -23,6 +23,8 @@
 #include <byteswap.h>
 #include <syslog.h>
 
+#define ALLOWED_CHARS                          "#+-.:=@_"
+
 #ifndef PACKED
 #define PACKED                         __attribute__((packed))
 #endif
@@ -68,8 +70,8 @@ enum uuid_format {
        UUID_DCE,
        UUID_DOS,
        UUID_64BIT_LE,
-       UUID_64BIT_BE,
-       UUID_FOURINT,
+       UUID_MD,
+       UUID_LVM,
 };
 
 enum endian {
@@ -77,7 +79,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);
@@ -87,4 +90,3 @@ extern uint8_t *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t
 extern void volume_id_free_buffer(struct volume_id *id);
 
 #endif /* _VOLUME_ID_UTIL_ */
-