2 * Universally Unique IDentifier (UUID)
3 * Copyright (c) 2008, Jouni Malinen <j@w1.fi>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
9 * Alternatively, this software may be distributed under the terms of BSD
12 * See README and COPYING for more details.
20 int uuid_str2bin(const char *str
, u8
*bin
)
28 if (hexstr2bin(pos
, opos
, 4))
33 if (*pos
++ != '-' || hexstr2bin(pos
, opos
, 2))
38 if (*pos
++ != '-' || hexstr2bin(pos
, opos
, 2))
43 if (*pos
++ != '-' || hexstr2bin(pos
, opos
, 2))
48 if (*pos
++ != '-' || hexstr2bin(pos
, opos
, 6))
55 int uuid_bin2str(const u8
*bin
, char *str
, size_t max_len
)
58 len
= os_snprintf(str
, max_len
, "%02x%02x%02x%02x-%02x%02x-%02x%02x-"
59 "%02x%02x-%02x%02x%02x%02x%02x%02x",
60 bin
[0], bin
[1], bin
[2], bin
[3],
61 bin
[4], bin
[5], bin
[6], bin
[7],
62 bin
[8], bin
[9], bin
[10], bin
[11],
63 bin
[12], bin
[13], bin
[14], bin
[15]);
64 if (len
< 0 || (size_t) len
>= max_len
)
70 int is_nil_uuid(const u8
*uuid
)
73 for (i
= 0; i
< UUID_LEN
; i
++)