QOF  0.8.7
guid.h
Go to the documentation of this file.
1 /********************************************************************\
2  * guid.h -- globally unique ID User API *
3  * Copyright (C) 2000 Dave Peticolas <peticola@cs.ucdavis.edu> *
4  * *
5  * This program is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public License as *
7  * published by the Free Software Foundation; either version 2 of *
8  * the License, or (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License*
16  * along with this program; if not, contact: *
17  * *
18  * Free Software Foundation Voice: +1-617-542-5942 *
19  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
20  * Boston, MA 02110-1301, USA gnu@gnu.org *
21  * *
22 \********************************************************************/
23 
24 #ifndef GUID_H
25 #define GUID_H
26 
27 #include <stddef.h>
28 
52 #define GUID_DATA_SIZE 16
53 typedef union _GUID
54 {
55  guchar data[GUID_DATA_SIZE];
56 
57  gint __align_me; /* this just ensures that GUIDs are 32-bit
58  * aligned on systems that need them to be. */
59 } GUID;
60 
61 
64 #define GUID_ENCODING_LENGTH 32
65 
66 
75 void guid_init (void);
76 
90 void guid_init_with_salt (const void *salt, size_t salt_len);
91 
106 void guid_init_only_salt (const void *salt, size_t salt_len);
107 
111 void guid_shutdown (void);
112 
127 void guid_new (GUID * guid);
128 
135 GUID guid_new_return (void);
136 
139 const GUID *guid_null (void);
140 
142 GUID *guid_malloc (void);
143 
144 /* Return a guid set to all zero's */
145 void guid_free (GUID * guid);
146 
162 const gchar *guid_to_string (const GUID * guid);
163 
177 gchar *guid_to_string_buff (const GUID * guid, gchar * buff);
178 
179 
185 gboolean string_to_guid (const gchar * string, GUID * guid);
186 
187 
190 gboolean guid_equal (const GUID * guid_1, const GUID * guid_2);
191 gint guid_compare (const GUID * g1, const GUID * g2);
192 
194 guint guid_hash_to_guint (gconstpointer ptr);
195 
196 GHashTable *guid_hash_table_new (void);
197 
198 /* @} */
199 /* @} */
200 #endif
gboolean guid_equal(const GUID *guid_1, const GUID *guid_2)
Definition: guid.c:620
GUID guid_new_return(void)
Definition: guid.c:495
const GUID * guid_null(void)
Definition: guid.c:79
GUID * guid_malloc(void)
Definition: guid.c:64
void guid_init_with_salt(const void *salt, size_t salt_len)
Definition: guid.c:419
gboolean string_to_guid(const gchar *string, GUID *guid)
void guid_shutdown(void)
Definition: guid.c:437
#define GUID_DATA_SIZE
Definition: guid.h:52
const gchar * guid_to_string(const GUID *guid)
Definition: guid.c:568
gchar * guid_to_string_buff(const GUID *guid, gchar *buff)
guint guid_hash_to_guint(gconstpointer ptr)
Definition: guid.c:645
Definition: guid.h:53
void guid_new(GUID *guid)
Definition: guid.c:444
void guid_init_only_salt(const void *salt, size_t salt_len)
Definition: guid.c:427
void guid_init(void)
Definition: guid.c:285