summaryrefslogtreecommitdiff
path: root/src/uuid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/uuid.c')
-rw-r--r--src/uuid.c87
1 files changed, 46 insertions, 41 deletions
diff --git a/src/uuid.c b/src/uuid.c
index 6dfa4c1..7345a78 100644
--- a/src/uuid.c
+++ b/src/uuid.c
@@ -1,24 +1,27 @@
/**
- * liburtc
- * Copyright 2020 Chris Hiszpanski
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
+ * Copyright (c) 2019-2021 Chris Hiszpanski. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+ * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
*/
/**
@@ -39,16 +42,16 @@
* \return Populated UUID.
*/
struct uuid uuid_create() {
- struct uuid u;
+ struct uuid u;
- // fill with randomness
- prng(&u, sizeof(u));
+ // fill with randomness
+ prng(&u, sizeof(u));
- // set reserved and version bits
- u.clk_seq_hi_and_reserved = (u.clk_seq_hi_and_reserved & 0x3F) | 0x80;
- u.time_hi_and_version = (u.time_hi_and_version & 0x0FFF) | 0x4000;
+ // set reserved and version bits
+ u.clk_seq_hi_and_reserved = (u.clk_seq_hi_and_reserved & 0x3F) | 0x80;
+ u.time_hi_and_version = (u.time_hi_and_version & 0x0FFF) | 0x4000;
- return u;
+ return u;
}
/**
@@ -58,19 +61,21 @@ struct uuid uuid_create() {
*
*/
void uuid_create_str(char s[UUID_STR_LEN]) {
- struct uuid u = uuid_create();
+ struct uuid u = uuid_create();
- sprintf(s, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
- u.time_low,
- u.time_mid,
- u.time_hi_and_version,
- u.clk_seq_hi_and_reserved,
- u.clk_seq_low,
- u.node[0],
- u.node[1],
- u.node[2],
- u.node[3],
- u.node[4],
- u.node[5]
- );
+ sprintf(s, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ u.time_low,
+ u.time_mid,
+ u.time_hi_and_version,
+ u.clk_seq_hi_and_reserved,
+ u.clk_seq_low,
+ u.node[0],
+ u.node[1],
+ u.node[2],
+ u.node[3],
+ u.node[4],
+ u.node[5]
+ );
}
+
+/* vim: set expandtab ts=8 sw=4 tw=0 : */