/include/uuid.h

https://bitbucket.org/freebsd/freebsd-head/ · C++ Header · 63 lines · 23 code · 6 blank · 34 comment · 0 complexity · 5db2b6157ebcdce392085704a57a3195 MD5 · raw file

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