chiark / gitweb /
volume_id: add function documentation
[elogind.git] / extras / volume_id / lib / util.h
index 1d1b53bb5753043800f49bcf19e3400cae6521d7..1206116ce2e26e7c261401f1a3900f5f33b3dbde 100644 (file)
 #include <byteswap.h>
 #include <syslog.h>
 
-#define err(format, arg...)    volume_id_log(LOG_ERR, __FILE__, __LINE__, format, ##arg)
-#define info(format, arg...)   volume_id_log(LOG_INFO, __FILE__, __LINE__, format, ##arg)
+#ifndef PACKED
+#define PACKED                         __attribute__((packed))
+#endif
+
+#define err(format, arg...)    volume_id_log_fn(LOG_ERR, __FILE__, __LINE__, format, ##arg)
+#define info(format, arg...)   volume_id_log_fn(LOG_INFO, __FILE__, __LINE__, format, ##arg)
 #ifdef DEBUG
-#define dbg(format, arg...)    volume_id_log(LOG_DEBUG, __FILE__, __LINE__, format, ##arg)
+#define dbg(format, arg...)    volume_id_log_fn(LOG_DEBUG, __FILE__, __LINE__, format, ##arg)
 #else
 #define dbg(format, arg...)    do { } while (0)
 #endif
 #endif /* __BYTE_ORDER */
 
 enum uuid_format {
-       UUID_DCE_STRING,
+       UUID_STRING,
+       UUID_HEX_STRING,
        UUID_DCE,
        UUID_DOS,
-       UUID_NTFS,
-       UUID_HFS,
+       UUID_64BIT_LE,
+       UUID_64BIT_BE,
+       UUID_FOURINT,
 };
 
 enum endian {
@@ -76,7 +82,7 @@ extern void volume_id_set_usage(struct volume_id *id, enum volume_id_usage usage
 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);
 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, enum uuid_format format);
+extern void volume_id_set_uuid(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);