Print this page
4118 libuuid should provide uuid_unparse_{upper,lower} functions
Reviewed by: Serghei Samsi <sscdvp@gmail.com>
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/man/man3uuid/uuid_clear.3uuid
+++ new/usr/src/man/man3uuid/uuid_clear.3uuid
1 1 '\" te
2 2 .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
3 +.\" Copyright 2014 Andrew Stormont.
3 4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 -.TH UUID_CLEAR 3UUID "Jan 16, 2006"
7 +.TH UUID_CLEAR 3UUID "Apr 9, 2014"
7 8 .SH NAME
8 9 uuid_clear, uuid_compare, uuid_copy, uuid_generate, uuid_generate_random,
9 -uuid_generate_time, uuid_is_null, uuid_parse, uuid_time, uuid_unparse \-
10 -universally unique identifier (UUID) operations
10 +uuid_generate_time, uuid_is_null, uuid_parse, uuid_time, uuid_unparse,
11 +uuid_unparse_lower, uuid_unparse_upper \- universally unique identifier (UUID)
12 +operations
11 13 .SH SYNOPSIS
12 14 .LP
13 15 .nf
14 16 cc [ \fIflag \&.\|.\|.\fR ] \fIfile\fR\&.\|.\|. \fB-luuid\fR [ \fIlibrary \&.\|.\|.\fR ]
15 17 #include <uuid/uuid.h>
16 18
17 19 \fBvoid\fR \fBuuid_clear\fR(\fBuuid_t\fR \fIuu\fR);
18 20 .fi
19 21
20 22 .LP
21 23 .nf
22 24 \fBint\fR \fBuuid_compare\fR(\fBuuid_t\fR \fIuu1\fR, \fBuuid_t\fR \fIuu2\fR);
23 25 .fi
24 26
25 27 .LP
26 28 .nf
27 29 \fBvoid\fR \fBuuid_copy\fR(\fBuuid_t\fR \fIdst\fR, \fBuuid_t\fR \fIsrc\fR);
28 30 .fi
29 31
30 32 .LP
31 33 .nf
32 34 \fBvoid\fR \fBuuid_generate\fR(\fBuuid_t\fR \fIout\fR);
33 35 .fi
34 36
35 37 .LP
36 38 .nf
37 39 \fBvoid\fR \fBuuid_generate_random\fR(\fBuuid_t\fR \fIout\fR);
38 40 .fi
39 41
40 42 .LP
41 43 .nf
42 44 \fBvoid\fR \fBuuid_generate_time\fR(\fBuuid_t\fR \fIout\fR);
43 45 .fi
44 46
45 47 .LP
46 48 .nf
47 49 \fBint\fR \fBuuid_is_null\fR(\fBuuid_t\fR \fIuu\fR);
48 50 .fi
49 51
50 52 .LP
51 53 .nf
52 54 \fBint\fR \fBuuid_parse\fR(\fBchar *\fR\fIin\fR, \fBuuid_t\fR \fIuu\fR);
53 55 .fi
54 56
↓ open down ↓ |
34 lines elided |
↑ open up ↑ |
55 57 .LP
56 58 .nf
57 59 \fBtime_t\fR \fBuuid_time\fR(\fBuuid_t\fR \fIuu\fR, \fBstruct timeval *\fR\fIret_tv\fR);
58 60 .fi
59 61
60 62 .LP
61 63 .nf
62 64 \fBvoid\fR \fBuuid_unparse\fR(\fBuuid_t\fR \fIuu\fR, \fBchar *\fR\fIout\fR);
63 65 .fi
64 66
67 +.LP
68 +.nf
69 +\fBvoid\fR \fBuuid_unparse_lower\fR(\fBuuid_t\fR \fIuu\fR, \fBchar *\fR\fIout\fR);
70 +.fi
71 +
72 +.LP
73 +.nf
74 +\fBvoid\fR \fBuuid_unparse_upper\fR(\fBuuid_t\fR \fIuu\fR, \fBchar *\fR\fIout\fR);
75 +.fi
76 +
65 77 .SH DESCRIPTION
66 78 .sp
67 79 .LP
68 80 The \fBuuid_clear()\fR function sets the value of the specified universally
69 81 unique identifier (UUID) variable \fIuu\fR to the \fINULL\fR value.
70 82 .sp
71 83 .LP
72 84 The \fBuuid_compare()\fR function compares the two specified UUID variables
73 85 \fIuu1\fR and \fIuu2\fR to each other. It returns an integer less than, equal
74 86 to, or greater than zero if \fIuu1\fR is found to be, respectively,
75 87 lexicographically less than, equal, or greater than \fIuu2\fR.
76 88 .sp
77 89 .LP
78 90 The \fBuuid_copy()\fR function copies the UUID variable \fIsrc\fR to \fIdst\fR.
79 91 .sp
80 92 .LP
81 93 The \fBuuid_generate()\fR function creates a new UUID that is generated based
82 94 on high-quality randomness from \fB/dev/urandom\fR, if available. If
83 95 \fB/dev/urandom\fR is not available, \fBuuid_generate()\fR calls
84 96 \fBuuid_generate_time()\fR. Because the use of this algorithm provides
85 97 information about when and where the UUID was generated, it could cause privacy
86 98 problems for some applications.
87 99 .sp
88 100 .LP
89 101 The \fBuuid_generate_random()\fR function produces a UUID with a random or
90 102 pseudo-randomly generated time and Ethernet MAC address that corresponds to a
91 103 DCE version 4 UUID.
92 104 .sp
93 105 .LP
94 106 The \fBuuid_generate_time()\fR function uses the current time and the local
95 107 Ethernet MAC address (if available, otherwise a MAC address is fabricated) that
96 108 corresponds to a DCE version 1 UUID. If the UUID is not guaranteed to be
97 109 unique, the multicast bit is set (the high-order bit of octet number 10).
98 110 .sp
99 111 .LP
100 112 The \fBuuid_is_null()\fR function compares the value of the specified UUID
101 113 variable \fIuu\fR to the \fINULL\fR value. If the value is equal to the
102 114 \fINULL\fR UUID, 1 is returned. Otherwise 0 is returned.
103 115 .sp
104 116 .LP
105 117 The \fBuuid_parse()\fR function converts the UUID string specified by \fIin\fR
106 118 to the internal \fBuuid_t\fR format. The input UUID is a string of the form
107 119 \fBcefa7a9c-1dd2-11b2-8350-880020adbeef\fR. In \fBprintf\fR(3C) format, the
108 120 string is "\fB%08x-%04x-%04x-%04x-%012x\fR", 36 bytes plus the trailing null
109 121 character. If the input string is parsed successfully, \fB0\fR is returned and
110 122 the UUID is stored in the location pointed to by \fIuu\fR. Otherwise \fB-1\fR
111 123 is returned.
112 124 .sp
113 125 .LP
↓ open down ↓ |
39 lines elided |
↑ open up ↑ |
114 126 The \fBuuid_time()\fR function extracts the time at which the specified UUID
115 127 \fIuu\fR was created. Since the UUID creation time is encoded within the UUID,
116 128 this function can reasonably be expected to extract the creation time only for
117 129 UUIDs created with the \fBuuid_generate_time()\fR function. The time at which
118 130 the UUID was created, in seconds since January 1, 1970 GMT (the epoch), is
119 131 returned (see \fBtime\fR(2)). The time at which the UUID was created, in
120 132 seconds and microseconds since the epoch is also stored in the location pointed
121 133 to by \fBret_tv\fR (see \fBgettimeofday\fR(3C)).
122 134 .sp
123 135 .LP
124 -The \fBuuid_unparse()\fR function converts the specified UUID \fIuu\fR from the
125 -internal binary format to a string of the length defined in the \fBuuid.h\fR
126 -macro, \fBUUID_PRINTABLE_STRING_LENGTH\fR, which includes the trailing null
127 -character. The resulting value is stored in the character string pointed to by
128 -\fIout\fR.
136 +The \fBuuid_unparse()\fR and \fBuuid_unparse_lower()\fR functions convert the
137 +specified UUID \fIuu\fR from the internal binary format to a lower case string
138 +of the length defined in the \fBuuid.h\fR macro,
139 +\fBUUID_PRINTABLE_STRING_LENGTH\fR, which includes the trailing null character.
140 +The resulting value is stored in the character string pointed to by \fIout\fR.
141 +.sp
142 +.LP
143 +The \fBuuid_unparse_upper()\fR function converts the specified UUID \fIuu\fR
144 +from the internal binary format to a upper case string of the length defined in
145 +the \fBuuid.h\fR macro, \fBUUID_PRINTABLE_STRING_LENGTH\fR, which includes the
146 +trailing null character. The resulting value is stored in the character string
147 +pointed to by \fIout\fR.
129 148 .SH ATTRIBUTES
130 149 .sp
131 150 .LP
132 151 See \fBattributes\fR(5) for descriptions of the following attributes:
133 152 .sp
134 153
135 154 .sp
136 155 .TS
137 156 box;
138 157 c | c
139 158 l | l .
140 159 ATTRIBUTE TYPE ATTRIBUTE VALUE
141 160 _
142 161 Interface Stability Evolving
143 162 _
144 163 MT-Level Safe
145 164 .TE
146 165
147 166 .SH SEE ALSO
148 167 .sp
149 168 .LP
150 169 \fBinetd\fR(1M), \fBtime\fR(2), \fBgettimeofday\fR(3C), \fBlibuuid\fR(3LIB),
151 170 \fBprintf\fR(3C), \fBattributes\fR(5)
↓ open down ↓ |
13 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX