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=31970543df8c42ec24b0c802b0dcea85ce030479;hb=HEAD;hpb=53d6837510478e1275b294654663635466cbafc7 diff --git a/man/sd_bus_path_encode.xml b/man/sd_bus_path_encode.xml index 31970543d..3fbb37cea 100644 --- a/man/sd_bus_path_encode.xml +++ b/man/sd_bus_path_encode.xml @@ -3,29 +3,29 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - + 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 *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. @@ -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,7 +179,7 @@ along with systemd; If not, see . See Also - systemd1, + elogind8, sd-bus3, free3