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