X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_bus_path_encode.xml;h=3fbb37cea2dc83bfa733e24ca22e7156bc06d557;hp=5849127bedaf73fb4ad2a9bd27773f0a46a6a82c;hb=HEAD;hpb=b8bde11658366290521e3d03316378b482600323 diff --git a/man/sd_bus_path_encode.xml b/man/sd_bus_path_encode.xml index 5849127be..3fbb37cea 100644 --- a/man/sd_bus_path_encode.xml +++ b/man/sd_bus_path_encode.xml @@ -1,31 +1,31 @@ - + - + sd_bus_path_encode - systemd + elogind @@ -44,14 +44,16 @@ along with systemd; If not, see . sd_bus_path_encode + sd_bus_path_encode_many sd_bus_path_decode + sd_bus_path_decode_many Convert an external identifier into an object path and back - #include <systemd/sd-bus.h> + #include <elogind/sd-bus.h> int sd_bus_path_encode @@ -60,12 +62,26 @@ along with systemd; If not, see . char **ret_path + + int sd_bus_path_encode_many + char **out + const char *path_template + ... + + int sd_bus_path_decode - const char *prefix const char *path + const char *prefix char **ret_external_id + + + int sd_bus_path_decode_many + const char *path + const char *path_template + ... + @@ -109,6 +125,28 @@ along with systemd; If not, see . invalid in a bus object path by _, followed by a hexadecimal value. As a special case, the empty string will be replaced by a lone _. + + sd_bus_path_encode_many() works like + its counterpart sd_bus_path_encode(), but + takes a path template as argument and encodes multiple labels + according to its embedded directives. For each + % character found in the template, the caller + must provide a string via varargs, which will be encoded and + embedded at the position of the % character. + Any other character in the template is copied verbatim into the + encoded path. + + sd_bus_path_decode_many() does the + reverse of sd_bus_path_encode_many(). It + decodes the passed object path according to the given + path template. For each % character in the + template, the caller must provide an output storage + (char **) via varargs. The decoded label + will be stored there. Each % character will + only match the current label. It will never match across labels. + Furthermore, only a single directive is allowed per label. + If NULL is passed as output storage, the + label is verified but not returned to the caller. @@ -123,7 +161,7 @@ along with systemd; If not, see . the return parameter. On failure, a negative errno-style error number is returned by either function. The returned strings must be - free3'd + free3'd by the caller. @@ -133,7 +171,7 @@ along with systemd; If not, see . sd_bus_path_encode() and sd_bus_path_decode() are available as a shared library, which can be compiled and linked to with the - libsystemd pkg-config1 + libelogind pkg-config1 file. @@ -141,9 +179,9 @@ along with systemd; If not, see . See Also - systemd1, + elogind8, sd-bus3, - free3 + free3