Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
windows_uuid.h
Go to the documentation of this file.
1 /*
2 ** Copyright 2014-2021 The Earlham Institute
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 ** http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 */
16 /*
17  * windows_uuid.h
18  *
19  * Created on: 30 Jan 2020
20  * Author: billy
21  */
22 
23 #ifndef GRASSROOTS_WINDOWS_UUID_H
24 #define GRASSROOTS_WINDOWS_UUID_H
25 
26 #include <rpc.h>
27 
28 #include "uuid_util_library.h"
29 #include "uuid_defs.h"
30 
31 /*
32  * We want to use the Unix uuid_t as the standard
33  * and wrap a Windows equivalent and since the
34  * structures differ slightly we need to untypedef
35  * uuid_t for Windows
36  */
37 
38 #ifdef uuid_t
39  #undef uuid_t
40 #endif
41 
42 
43 typedef struct
44 {
45  unsigned char uu_data [UUID_RAW_SIZE];
46 } uuid_t;
47 
48 
49 #ifdef __cplusplus
50 extern "C"
51 {
52 #endif
53 
55 
57 
58 GRASSROOTS_UUID_API int uuid_parse (char *in, uuid_t uu);
59 
61 
62 GRASSROOTS_UUID_API void uuid_unparse_lower (uuid_t uu, char* out);
63 
65 
67 
68 GRASSROOTS_UUID_API void PrintUUID (const UUID *w_p, const char *prefix_s);
69 
70 
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif
uuid_copy
void uuid_copy(uuid_t dst, uuid_t src)
uuid_util_library.h
uuid_is_null
int uuid_is_null(uuid_t uu)
uuid_parse
int uuid_parse(char *in, uuid_t uu)
uuid_generate
void uuid_generate(uuid_t uu)
uuid_defs.h
uuid_unparse_lower
void uuid_unparse_lower(uuid_t uu, char *out)
PrintUUID
void PrintUUID(const UUID *w_p, const char *prefix_s)
UUID_RAW_SIZE
#define UUID_RAW_SIZE
The number of bytes required to store the raw data of a UUID.
Definition: uuid_defs.h:39
uuid_clear
void uuid_clear(uuid_t uu)
uuid_compare
int uuid_compare(uuid_t uu1, uuid_t uu2)
GRASSROOTS_UUID_API
#define GRASSROOTS_UUID_API
Definition: uuid_util_library.h:49
uuid_t
Definition: windows_uuid.h:43