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.