xref: /dragonfly/include/uuid.h (revision 0d6cd486)
1d7345b10SMatthew Dillon /*-
2d7345b10SMatthew Dillon  * Copyright (c) 2002,2005 Marcel Moolenaar
3d7345b10SMatthew Dillon  * Copyright (c) 2002 Hiten Mahesh Pandya
4d7345b10SMatthew Dillon  * All rights reserved.
5d7345b10SMatthew Dillon  *
6d7345b10SMatthew Dillon  * Redistribution and use in source and binary forms, with or without
7d7345b10SMatthew Dillon  * modification, are permitted provided that the following conditions
8d7345b10SMatthew Dillon  * are met:
9d7345b10SMatthew Dillon  * 1. Redistributions of source code must retain the above copyright
10d7345b10SMatthew Dillon  *    notice, this list of conditions and the following disclaimer.
11d7345b10SMatthew Dillon  * 2. Redistributions in binary form must reproduce the above copyright
12d7345b10SMatthew Dillon  *    notice, this list of conditions and the following disclaimer in the
13d7345b10SMatthew Dillon  *    documentation and/or other materials provided with the distribution.
14d7345b10SMatthew Dillon  *
15d7345b10SMatthew Dillon  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16d7345b10SMatthew Dillon  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17d7345b10SMatthew Dillon  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18d7345b10SMatthew Dillon  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19d7345b10SMatthew Dillon  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20d7345b10SMatthew Dillon  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21d7345b10SMatthew Dillon  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22d7345b10SMatthew Dillon  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23d7345b10SMatthew Dillon  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24d7345b10SMatthew Dillon  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25d7345b10SMatthew Dillon  * SUCH DAMAGE.
26d7345b10SMatthew Dillon  *
27*0d6cd486SSascha Wildner  * $FreeBSD: src/include/uuid.h,v 1.4 2008/09/15 23:47:19 emax Exp $
28d7345b10SMatthew Dillon  */
29d7345b10SMatthew Dillon 
30d7345b10SMatthew Dillon #ifndef _UUID_H_
31d7345b10SMatthew Dillon #define	_UUID_H_
32d7345b10SMatthew Dillon 
33d7345b10SMatthew Dillon #include <sys/types.h>
34d7345b10SMatthew Dillon #include <sys/uuid.h>
35d7345b10SMatthew Dillon 
36d7345b10SMatthew Dillon /*
37d7345b10SMatthew Dillon  * This implementation mostly conforms to the DCE 1.1 specification.
38d7345b10SMatthew Dillon  * See Also:
39d7345b10SMatthew Dillon  *	uuidgen(1), uuidgen(2), uuid(3)
40d7345b10SMatthew Dillon  */
41d7345b10SMatthew Dillon 
42d7345b10SMatthew Dillon /* Status codes returned by the functions. */
43d7345b10SMatthew Dillon #define	uuid_s_ok			0
44d7345b10SMatthew Dillon #define	uuid_s_bad_version		1
45d7345b10SMatthew Dillon #define	uuid_s_invalid_string_uuid	2
46d7345b10SMatthew Dillon #define	uuid_s_no_memory		3
47e2427cb7SMatthew Dillon #define uuid_s_not_found		4
48d7345b10SMatthew Dillon 
49d7345b10SMatthew Dillon __BEGIN_DECLS
50d7345b10SMatthew Dillon int32_t	uuid_compare(const uuid_t *, const uuid_t *, uint32_t *);
51d7345b10SMatthew Dillon void	uuid_create(uuid_t *, uint32_t *);
52d7345b10SMatthew Dillon void	uuid_create_nil(uuid_t *, uint32_t *);
53d7345b10SMatthew Dillon int32_t	uuid_equal(const uuid_t *, const uuid_t *, uint32_t *);
54d7345b10SMatthew Dillon void	uuid_from_string(const char *, uuid_t *, uint32_t *);
55d7345b10SMatthew Dillon uint16_t uuid_hash(const uuid_t *, uint32_t *);
56d7345b10SMatthew Dillon int32_t	uuid_is_nil(const uuid_t *, uint32_t *);
57d7345b10SMatthew Dillon void	uuid_to_string(const uuid_t *, char **, uint32_t *);
58*0d6cd486SSascha Wildner void	uuid_enc_le(void *, const uuid_t *);
59*0d6cd486SSascha Wildner void	uuid_dec_le(const void *, uuid_t *);
60*0d6cd486SSascha Wildner void	uuid_enc_be(void *, const uuid_t *);
61*0d6cd486SSascha Wildner void	uuid_dec_be(const void *, uuid_t *);
62e2427cb7SMatthew Dillon void	uuid_reset_lookup(void);
63e2427cb7SMatthew Dillon void	uuid_addr_lookup(const uuid_t *, char **, uint32_t *);
64e2427cb7SMatthew Dillon void	uuid_name_lookup(uuid_t *, const char *, uint32_t *);
65d7345b10SMatthew Dillon __END_DECLS
66d7345b10SMatthew Dillon 
67d7345b10SMatthew Dillon #endif	/* _UUID_H_ */
68