42 unsigned char seed[16];
43 static int inited = 0;
67 GetSystemTimeAsFileTime((FILETIME*)&time);
75 (
unsigned __int64)(1000 * 1000 * 10)
76 * (
unsigned __int64)(60 * 60 * 24)
77 * (
unsigned __int64)(17 + 30 + 31 + 365 * 18 + 5);
78 *uuid_time = time.QuadPart;
84 for (i = 0; i < 16; i++) {
87 seed[i] = (
unsigned char)number;
101 (
uuid_time_t)tp.tv_usec * 10 + 0x01B21DD213814000L;
104constexpr int HOSTNAME_LENGTH{255};
111 char hostname[HOSTNAME_LENGTH + 1];
116 memset(&r, 0,
sizeof r);
120 gethostname(r.hostname, HOSTNAME_LENGTH);
124 MD5Update(&c, (
unsigned char*)&r,
sizeof r);
int gettimeofday(struct timeval *tv, struct timezone *tz)
Get time of day.
void MD5Update(MD5_CTX *, const void *, size_t)
MD5 Update.
void MD5Init(MD5_CTX *)
MD5 Initialisation.
void MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX *ctx)
MD5 Final.
Specifications to be portable with sockets between different platforms.
void get_random_info(unsigned char seed[16])
Get random information.
void get_ieee_node_identifier(uuid_node_t *node)
System dependent call to get IEEE node identifier.
void get_system_time(uuid_time_t *uuid_time)
System dependent call to get the current system time.
Get some system dependent information.
uint64_t uuid_time_t
UUID time.