--- uuid.h 2004/01/18 19:22:54 1.12
+++ uuid.h 2004/01/18 19:59:12 1.13
@@ -51,7 +51,8 @@
UUID_RC_ARG = 1,
UUID_RC_MEM = 2,
UUID_RC_SYS = 3,
- UUID_RC_INT = 4
+ UUID_RC_INT = 4,
+ UUID_RC_IMP = 5
} uuid_rc_t;
/* generation mode flags */
@@ -62,6 +63,13 @@
UUID_MCASTRND = (1 << 3)
};
+/* import/export formats */
+typedef enum {
+ UUID_FMT_BIN = 0, /* import/export */
+ UUID_FMT_STR = 1, /* import/export */
+ UUID_FMT_TXT = 2 /* export only */
+} uuid_fmt_t;
+
/* abstract data type */
struct uuid_st;
typedef struct uuid_st uuid_t;
@@ -69,25 +77,20 @@
/* object handling */
extern uuid_rc_t uuid_create (uuid_t **_uuid);
extern uuid_rc_t uuid_destroy (uuid_t *_uuid);
+
+/* UUID generation */
extern uuid_rc_t uuid_nil (uuid_t *_uuid);
+extern uuid_rc_t uuid_generate (uuid_t *_uuid, unsigned int _mode, ...);
/* UUID comparison */
extern uuid_rc_t uuid_isnil (uuid_t *_uuid, int *_result);
extern uuid_rc_t uuid_compare (uuid_t *_uuid, uuid_t *_uuid2, int *_result);
-/* UUID binary representation handling */
-extern uuid_rc_t uuid_unpack (uuid_t *_uuid, const void *_buf);
-extern uuid_rc_t uuid_pack (uuid_t *_uuid, void **_buf);
-
-/* UUID string representation handling */
-extern uuid_rc_t uuid_parse (uuid_t *_uuid, const char *_str);
-extern uuid_rc_t uuid_format (uuid_t *_uuid, char **_str);
-
-/* UUID generation and dumping */
-extern uuid_rc_t uuid_generate (uuid_t *_uuid, unsigned int _mode, ...);
-extern uuid_rc_t uuid_dump (uuid_t *_uuid, char **_str);
+/* UUID import/export */
+extern uuid_rc_t uuid_import (uuid_t *_uuid, uuid_fmt_t _fmt, const void *_data_ptr, size_t _data_len);
+extern uuid_rc_t uuid_export (uuid_t *_uuid, uuid_fmt_t _fmt, void **_data_ptr, size_t *_data_len);
-/* error handling */
+/* library error handling */
extern char *uuid_error (uuid_rc_t _rc);
DECLARATION_END
|