From: Lennart Poettering Date: Thu, 2 May 2024 12:44:37 +0000 (+0200) Subject: man: add brief intro page to new sd-json APIs X-Git-Tag: v257-rc1~1173^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86d754050bb1109d39d64fff2d7cd38b2177b8a7;p=thirdparty%2Fsystemd.git man: add brief intro page to new sd-json APIs --- diff --git a/man/libsystemd.xml b/man/libsystemd.xml index 34bd62ed52c..d3d9798d6bb 100644 --- a/man/libsystemd.xml +++ b/man/libsystemd.xml @@ -24,8 +24,6 @@ #include <systemd/sd-bus.h> -#include <systemd/sd-bus-vtable.h> -#include <systemd/sd-bus-protocol.h> #include <systemd/sd-daemon.h> #include <systemd/sd-device.h> #include <systemd/sd-event.h> @@ -33,6 +31,7 @@ #include <systemd/sd-hwdb.h> #include <systemd/sd-id128.h> #include <systemd/sd-journal.h> +#include <systemd/sd-json.h> #include <systemd/sd-login.h> #include <systemd/sd-messages.h> #include <systemd/sd-path.h> @@ -61,6 +60,7 @@ sd-hwdb3, sd-id1283, sd-journal3, + sd-json3, and sd-login3 for information about different parts of the library interface. diff --git a/man/rules/meson.build b/man/rules/meson.build index c3e1eefd8a3..9b8a29c5647 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -151,6 +151,7 @@ manpages = [ 'sd_id128_t'], ''], ['sd-journal', '3', [], ''], + ['sd-json', '3', [], ''], ['sd-login', '3', [], 'HAVE_PAM'], ['sd_booted', '3', [], ''], ['sd_bus_add_match', diff --git a/man/sd-json.xml b/man/sd-json.xml new file mode 100644 index 00000000000..e10ef0d9538 --- /dev/null +++ b/man/sd-json.xml @@ -0,0 +1,91 @@ + + + + + + + + sd-json + systemd + + + + sd-json + 3 + + + + sd-json + APIs for Dealing with JSON Objects + + + + + #include <systemd/sd-json.h> + + + + pkg-config --cflags --libs libsystemd + + + + + Description + + sd-json.h is part of + libsystemd3 and + provides APIs to parse, generate, format and otherwise operate with JSON objects. + + The API's central data structure is JsonVariant which encapsulates a JSON object, + array, string, boolean, number or null value. These data structures are mostly considered immutable after + construction (i.e. their contents won't change, but some meta-data might, such as reference counters). + + The APIs broadly fall into five categories: + + + APIs to directly operate with JsonVariant objects, in the + sd_json_variant* namespace. + + APIs to construct complex JSON objects, in the sd_json_build* + namespace. + + APIs to map JsonVariant objects and their fields to matching fields in C + structures, in the sd_json_dispatch* namespace. + + APIs to convert a string representation of a JSON object into a + JsonVariant object, in the sd_json_parse* + namespace. + + APIs to convert an JsonVariant object into its string representation, in + the sd_json_format* namespace. + + + This JSON library will internally encode JSON integer numbers in the range + INT64_MIN…UINT64_MAX into native 64bit signed or unsigned + integers, and will reproduce them without loss of precision. Non-integer numbers are stored in 64bit IEEE + floating point numbers. + + If the functions return string arrays, these are generally + NULL terminated and need to be freed by the + caller with the libc + free3 + call after use, including the strings referenced therein. + Similarly, individual strings returned need to be freed, as + well. + + As a special exception, instead of an empty string array NULL may be returned, + which should be treated equivalent to an empty string array. + + + + + + See Also + + systemd1, + pkg-config1 + + +