DPDK  20.05.0-rc0
rte_uuid.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
3  */
10 #ifndef _RTE_UUID_H_
11 #define _RTE_UUID_H_
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #include <stdbool.h>
18 
22 typedef unsigned char rte_uuid_t[16];
23 
27 #define RTE_UUID_INIT(a, b, c, d, e) { \
28  ((a) >> 24) & 0xff, ((a) >> 16) & 0xff, \
29  ((a) >> 8) & 0xff, (a) & 0xff, \
30  ((b) >> 8) & 0xff, (b) & 0xff, \
31  ((c) >> 8) & 0xff, (c) & 0xff, \
32  ((d) >> 8) & 0xff, (d) & 0xff, \
33  ((e) >> 40) & 0xff, ((e) >> 32) & 0xff, \
34  ((e) >> 24) & 0xff, ((e) >> 16) & 0xff, \
35  ((e) >> 8) & 0xff, (e) & 0xff \
36 }
37 
46 bool rte_uuid_is_null(const rte_uuid_t uu);
47 
56 static inline void rte_uuid_copy(rte_uuid_t dst, const rte_uuid_t src)
57 {
58  memcpy(dst, src, sizeof(rte_uuid_t));
59 }
60 
72 int rte_uuid_compare(const rte_uuid_t a, const rte_uuid_t b);
73 
84 int rte_uuid_parse(const char *in, rte_uuid_t uu);
85 
96 #define RTE_UUID_STRLEN (36 + 1)
97 void rte_uuid_unparse(const rte_uuid_t uu, char *out, size_t len);
98 
99 #ifdef __cplusplus
100 }
101 #endif
102 
103 #endif /* RTE_UUID_H */
int rte_uuid_parse(const char *in, rte_uuid_t uu)
int rte_uuid_compare(const rte_uuid_t a, const rte_uuid_t b)
bool rte_uuid_is_null(const rte_uuid_t uu)
unsigned char rte_uuid_t[16]
Definition: rte_uuid.h:22
static void rte_uuid_copy(rte_uuid_t dst, const rte_uuid_t src)
Definition: rte_uuid.h:56