sd_id128_to_string

Index · Directives · Python · libudev · gudev systemd 204

## Name

sd_id128_to_string, sd_id128_from_string — Format or parse 128 bit IDs as strings

## Synopsis

    #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`)`;

## Description

`sd_id128_to_string()` formats a 128 bit ID as 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 an 128 bit ID returned in `ret`. Alternatively, this call can also parse a 37 character string with a 128bit 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 endianess.

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).

## Return Value

`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.

## Notes

The `sd_id128_to_string()` and `sd_id128_from_string()` interfaces are available as shared library, which can be compiled and linked to with the `libsystemd-id128` pkg-config(1) file.

## See Also

systemd(1), sd-id128(3), printf(3)