#include <byteswap.h>
#include <syslog.h>
+#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
#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,
};
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);