sd_id128_to_string, sd_id128_from_string — Format or parse 128-bit IDs as strings
#include <systemd/sd-id128.h>
char *sd_id128_to_string( | sd_id128_t id, char s[33]) ; |
int sd_id128_from_string( | const char *s, sd_id128_t *ret) ; |
sd_id128_to_string()
formats a 128-bit ID as a character string. It expects
the ID and a string array capable of storing 33
characters. The ID will be formatted as 32 lowercase
hexadecimal digits and be terminated by a
NUL
byte.
sd_id128_from_string()
implements the reverse operation: it takes a 33
character string with 32 hexadecimal digits (either
lowercase or uppercase, terminated by
NUL
) and parses them back into a
128-bit ID returned in
ret
. Alternatively, this call
can also parse a 37-character string with a 128-bit ID
formatted as RFC UUID.
For more information about the
"sd_id128_t
" type see
sd-id128(3). Note
that these calls operate the same way on all
architectures, i.e. the results do not depend on
endianness.
When formatting a 128-bit ID into a string, it is
often easier to use a format string for
printf(3). This
is easily done using the
SD_ID128_FORMAT_STR
and
SD_ID128_FORMAT_VAL()
macros. For
more information see
sd-id128(3).
sd_id128_to_string()
always
succeeds and returns a pointer to the string array
passed in. sd_id128_from_string
returns 0 on success, in which case
ret
is filled in, or a negative
errno-style error code.
The sd_id128_to_string()
and sd_id128_from_string()
interfaces are
available as a shared library, which can be compiled and
linked to with the "libsystemd
" pkg-config(1)
file.