72c5c0a0c7f37c941a872d783ac63a698465a77a
[lttng-tools.git] / src / common / compat / uuid.c
1 /*
2 * Copyright (C) 2018 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License, version 2.1 only,
6 * as published by the Free Software Foundation.
7 *
8 * This library is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this library; if not, write to the Free Software Foundation,
15 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17
18 #include <stdio.h>
19 #include <common/compat/uuid.h>
20 #include <string.h>
21 #include <stddef.h>
22
23 static const lttng_uuid nil_uuid;
24
25 void lttng_uuid_to_str(const lttng_uuid uuid, char *uuid_str)
26 {
27 sprintf(uuid_str,
28 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
29 uuid[0], uuid[1], uuid[2], uuid[3],
30 uuid[4], uuid[5], uuid[6], uuid[7],
31 uuid[8], uuid[9], uuid[10], uuid[11],
32 uuid[12], uuid[13], uuid[14], uuid[15]);
33 }
34
35 bool lttng_uuid_is_equal(const lttng_uuid a, const lttng_uuid b)
36 {
37 return memcmp(a, b, (sizeof(lttng_uuid))) == 0;
38 }
39
40 bool lttng_uuid_is_nil(const lttng_uuid uuid)
41 {
42 return memcmp(nil_uuid, uuid, sizeof(lttng_uuid)) == 0;
43 }
44
45 void lttng_uuid_copy(lttng_uuid dst, const lttng_uuid src)
46 {
47 memcpy(dst, src, sizeof(lttng_uuid));
48 }
This page took 0.029984 seconds and 3 git commands to generate.