35 # include <arpa/inet.h> 47 if (
rare(UuidCreate(&uuid) != RPC_S_OK)) {
55 uuid.Data1 = htonl(uuid.Data1);
56 uuid.Data2 = htons(uuid.Data2);
57 uuid.Data3 = htons(uuid.Data3);
64 for (
unsigned i = 0; i !=
UUID_SIZE; ++i) {
66 in += ((0x2a8 >> i) & 1) | 2;
73 for (
unsigned i = 0; i !=
UUID_SIZE; ++i) {
74 unsigned char ch = uu[i];
75 *out++ =
"0123456789abcdef"[ch >> 4];
76 *out++ =
"0123456789abcdef"[ch & 0x0f];
int uuid_parse(const char *in, uuid_t uu)
void uuid_unparse_lower(const uuid_t uu, char *out)
void uuid_clear(uuid_t uu)
Hierarchy of classes which Xapian can throw as exceptions.
void uuid_generate(uuid_t uu)
DatabaseCreateError indicates a failure to create a database.
include <winsock2.h> but working around problems.
int uuid_is_null(const uuid_t uu)
Various handy helpers which std::string really should provide.
const size_t UUID_SIZE
The size of a UUID in bytes.