/* (C) 2001 by Argonne National Laboratory. See COPYRIGHT in top-level directory. */ #if !defined( _CLOG_UUID ) #define _CLOG_UUID #include "clog_inttypes.h" /* Only CLOG_UUID_NAME_SIZE-1 is useful. The last char in CLOG_UUID_NAME_SIZE is NULL char, the terminating character. #define CLOG_UUID_NAME_SIZE 17 #define CLOG_UUID_SIZE sizeof(CLOG_int32_t)+sizeof(double)+CLOG_UUID_NAME_SIZE-1 typedef struct { CLOG_int32_t rand; double time; char name[CLOG_UUID_NAME_SIZE]; } CLOG_Uuid_t; */ #define CLOG_UUID_NAME_SIZE 20 #define CLOG_UUID_SIZE sizeof(CLOG_int32_t) + sizeof(double) \ + CLOG_UUID_NAME_SIZE /* size of string representation of CLOG_Uuit_t */ #define CLOG_UUID_STR_SIZE 80 typedef char CLOG_Uuid_t[ CLOG_UUID_SIZE ]; void CLOG_Uuid_init( void ); void CLOG_Uuid_finalize( void ); void CLOG_Uuid_generate( CLOG_Uuid_t uuid ); void CLOG_Uuid_sprint( CLOG_Uuid_t uuid, char *str ); int CLOG_Uuid_is_equal( const CLOG_Uuid_t uuid1, const CLOG_Uuid_t uuid2 ); int CLOG_Uuid_compare( const void *obj1, const void *obj2 ); void CLOG_Uuid_copy( const CLOG_Uuid_t src_uuid, CLOG_Uuid_t dest_uuid ); void CLOG_Uuid_swap_bytes( CLOG_Uuid_t uuid ); #endif /* of _CLOG_UUID */