bb5321c5c2f1a64c390fa877be11759218293ea1
[public/netxms.git] / include / uuid.h
1 /*
2 * Public include file for the UUID library
3 *
4 * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
5 *
6 * %Begin-Header%
7 * This file may be redistributed under the terms of the GNU
8 * Library General Public License.
9 * %End-Header%
10 */
11
12 #ifndef _UUID_H_
13 #define _UUID_H_
14
15 #define UUID_LENGTH 16
16
17 #if !HAVE_UUID_T
18 #undef uuid_t
19 typedef unsigned char uuid_t[16];
20 #endif
21
22 /* UUID Variant definitions */
23 #define UUID_VARIANT_NCS 0
24 #define UUID_VARIANT_DCE 1
25 #define UUID_VARIANT_MICROSOFT 2
26 #define UUID_VARIANT_OTHER 3
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 void LIBNETXMS_EXPORTABLE uuid_clear(uuid_t uu);
33 int LIBNETXMS_EXPORTABLE uuid_compare(uuid_t uu1, uuid_t uu2);
34 void LIBNETXMS_EXPORTABLE uuid_copy(uuid_t uu1, uuid_t uu2);
35 void LIBNETXMS_EXPORTABLE uuid_generate(uuid_t out);
36 int LIBNETXMS_EXPORTABLE uuid_is_null(uuid_t uu);
37 int LIBNETXMS_EXPORTABLE uuid_parse(const TCHAR *in, uuid_t uu);
38 TCHAR LIBNETXMS_EXPORTABLE *uuid_to_string(uuid_t uu, TCHAR *out);
39
40 #ifdef __cplusplus
41 }
42 #endif
43
44 #endif