UbixOS
2.0
uuid.h
Go to the documentation of this file.
1
/*-
2
* Copyright (c) 2002 Marcel Moolenaar
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
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 ``AS IS'' AND ANY EXPRESS OR
16
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
* $FreeBSD: releng/10.2/sys/sys/uuid.h 253590 2013-07-24 04:24:21Z marcel $
27
*/
28
29
#ifndef _SYS_UUID_H_
30
#define _SYS_UUID_H_
31
32
#include <
sys/cdefs.h
>
33
#include <
sys/types.h
>
34
35
/* Length of a node address (an IEEE 802 address). */
36
#define _UUID_NODE_LEN 6
37
38
/*
39
* See also:
40
* http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt
41
* http://www.opengroup.org/onlinepubs/009629399/apdxa.htm
42
*
43
* A DCE 1.1 compatible source representation of UUIDs.
44
*/
45
struct
uuid
{
46
uint32_t
time_low
;
47
uint16_t
time_mid
;
48
uint16_t
time_hi_and_version
;
49
uint8_t
clock_seq_hi_and_reserved
;
50
uint8_t
clock_seq_low
;
51
uint8_t
node
[
_UUID_NODE_LEN
];
52
};
53
54
#ifdef _KERNEL
55
56
#define UUID_NODE_LEN _UUID_NODE_LEN
57
58
struct
sbuf;
59
60
struct
uuid
*kern_uuidgen(
struct
uuid
*,
size_t
);
61
62
int
uuid_ether_add(
const
uint8_t
*);
63
int
uuid_ether_del(
const
uint8_t
*);
64
65
int
snprintf_uuid(
char
*,
size_t
,
struct
uuid
*);
66
int
printf_uuid(
struct
uuid
*);
67
int
sbuf_printf_uuid(
struct
sbuf *,
struct
uuid
*);
68
int
parse_uuid(
const
char
*,
struct
uuid
*);
69
70
void
be_uuid_dec(
void
const
*
buf
,
struct
uuid
*
uuid
);
71
void
be_uuid_enc(
void
*
buf
,
struct
uuid
const
*
uuid
);
72
void
le_uuid_dec(
void
const
*
buf
,
struct
uuid
*
uuid
);
73
void
le_uuid_enc(
void
*
buf
,
struct
uuid
const
*
uuid
);
74
75
#else
/* _KERNEL */
76
77
/* XXX namespace pollution? */
78
typedef
struct
uuid
uuid_t
;
79
80
//__BEGIN_DECLS
81
int
uuidgen
(
struct
uuid
*,
int
);
82
//__END_DECLS
83
84
#endif
/* _KERNEL */
85
86
#endif
/* _SYS_UUID_H_ */
uuid::time_low
uint32_t time_low
Definition:
uuid.h:46
uuid::time_mid
uint16_t time_mid
Definition:
uuid.h:47
uuid::time_hi_and_version
uint16_t time_hi_and_version
Definition:
uuid.h:48
types.h
uuidgen
int uuidgen(struct uuid *, int)
uint16_t
__uint16_t uint16_t
Definition:
types.h:45
_UUID_NODE_LEN
#define _UUID_NODE_LEN
Definition:
uuid.h:36
uuid::node
uint8_t node[6]
Definition:
uuid.h:51
buf
Definition:
buf.h:35
uint32_t
__uint32_t uint32_t
Definition:
types.h:46
uuid::clock_seq_hi_and_reserved
uint8_t clock_seq_hi_and_reserved
Definition:
uuid.h:49
uuid::clock_seq_low
uint8_t clock_seq_low
Definition:
uuid.h:50
cdefs.h
uuid
Definition:
uuid.h:45
uint8_t
__uint8_t uint8_t
Definition:
types.h:44
include
sys
uuid.h
Generated by
1.8.16