libsystemd: turn json.[ch] into a public API
authorLennart Poettering <lennart@poettering.net>
Thu, 2 May 2024 12:26:21 +0000 (14:26 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 12 Jun 2024 16:42:22 +0000 (18:42 +0200)
commit309a747fa6cfeac0a0165543f23a924866727c9b
treea51242aa3ac87243c0614bf93d27e9083182e485
parentf2eb7716d0bac2a95115492f34a7763d63e80c35
libsystemd: turn json.[ch] into a public API

This is preparation for making our Varlink API a public API. Since our
Varlink API is built on top of our JSON API we need to make that public
first (it's a nice API, but JSON APIs there are already enough, this is
purely about the Varlink angle).

I made most of the json.h APIs public, and just placed them in
sd-json.h. Sometimes I wasn't so sure however, since the underlying data
structures would have to be made public too. If in doubt I didn#t risk
it, and moved the relevant API to src/libsystemd/sd-json/json-util.h
instead (without any sd_* symbol prefixes).

This is mostly a giant search/replace patch.
181 files changed:
meson.build
src/analyze/analyze-fdstore.c
src/analyze/analyze-inspect-elf.c
src/analyze/analyze-plot.c
src/analyze/analyze-security.c
src/analyze/analyze.c
src/analyze/analyze.h
src/boot/bootctl-reboot-to-firmware.c
src/boot/bootctl-reboot-to-firmware.h
src/boot/bootctl-status.c
src/boot/bootctl-status.h
src/boot/bootctl.c
src/boot/bootctl.h
src/boot/measure.c
src/busctl/busctl.c
src/core/core-varlink.c
src/coredump/coredump.c
src/coredump/coredumpctl.c
src/creds/creds.c
src/cryptenroll/cryptenroll-fido2.c
src/cryptenroll/cryptenroll-list.c
src/cryptenroll/cryptenroll-pkcs11.c
src/cryptenroll/cryptenroll-recovery.c
src/cryptenroll/cryptenroll-tpm2.c
src/cryptenroll/cryptenroll-wipe.c
src/cryptsetup/cryptsetup-pkcs11.c
src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c
src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c
src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c
src/cryptsetup/cryptsetup-tokens/luks2-fido2.c
src/cryptsetup/cryptsetup-tokens/luks2-pkcs11.c
src/cryptsetup/cryptsetup-tokens/luks2-tpm2.c
src/cryptsetup/cryptsetup.c
src/dissect/dissect.c
src/fuzz/fuzz-bootspec.c
src/fuzz/fuzz-json.c
src/fuzz/fuzz-varlink-idl.c
src/fuzz/fuzz-varlink.c
src/hibernate-resume/hibernate-resume-config.c
src/home/home-util.c
src/home/homectl-fido2.c
src/home/homectl-fido2.h
src/home/homectl-pkcs11.c
src/home/homectl-pkcs11.h
src/home/homectl-recovery-key.c
src/home/homectl-recovery-key.h
src/home/homectl.c
src/home/homed-bus.c
src/home/homed-bus.h
src/home/homed-home-bus.c
src/home/homed-home.c
src/home/homed-manager.c
src/home/homed-varlink.c
src/home/homed-varlink.h
src/home/homework-luks.c
src/home/homework.c
src/home/pam_systemd_home.c
src/home/user-record-sign.c
src/home/user-record-util.c
src/hostname/hostnamectl.c
src/hostname/hostnamed.c
src/id128/id128.c
src/import/importctl.c
src/journal/journalctl-misc.c
src/journal/journalctl.c
src/journal/journalctl.h
src/journal/journald-client.c
src/journal/journald-server.c
src/kernel-install/kernel-install.c
src/libsystemd-network/dhcp-client-id-internal.h
src/libsystemd-network/dhcp-server-lease-internal.h
src/libsystemd-network/fuzz-lldp-rx.c
src/libsystemd-network/lldp-neighbor.c
src/libsystemd-network/lldp-neighbor.h
src/libsystemd-network/lldp-rx-internal.h
src/libsystemd-network/sd-dhcp-client-id.c
src/libsystemd-network/sd-dhcp-server-lease.c
src/libsystemd-network/sd-lldp-rx.c
src/libsystemd/libsystemd.sym
src/libsystemd/meson.build
src/libsystemd/sd-json/json-internal.h [new file with mode: 0644]
src/libsystemd/sd-json/json-util.c [new file with mode: 0644]
src/libsystemd/sd-json/json-util.h [new file with mode: 0644]
src/libsystemd/sd-json/sd-json.c [new file with mode: 0644]
src/login/loginctl.c
src/login/pam_systemd.c
src/machine/machine-varlink.c
src/machine/machine-varlink.h
src/machine/machinectl.c
src/machine/machined-varlink.c
src/mountfsd/mountwork.c
src/network/networkctl.c
src/network/networkctl.h
src/network/networkd-json.c
src/network/networkd-json.h
src/network/networkd-link-bus.c
src/network/networkd-manager-bus.c
src/network/networkd-manager-varlink.c
src/nspawn/nspawn-bind-user.c
src/nspawn/nspawn-oci.c
src/nsresourced/nsresourcework.c
src/nsresourced/userns-registry.c
src/nss-resolve/nss-resolve.c
src/oom/oomd-manager.c
src/partition/repart.c
src/pcrextend/pcrextend.c
src/pcrlock/pcrlock.c
src/resolve/fuzz-resource-record.c
src/resolve/resolvectl.c
src/resolve/resolved-dns-cache.c
src/resolve/resolved-dns-cache.h
src/resolve/resolved-dns-rr.c
src/resolve/resolved-dns-rr.h
src/resolve/resolved-dns-scope.c
src/resolve/resolved-dns-scope.h
src/resolve/resolved-dns-server.c
src/resolve/resolved-dns-server.h
src/resolve/resolved-manager.c
src/resolve/resolved-manager.h
src/resolve/resolved-varlink.c
src/resolve/test-resolved-packet.c
src/shared/bootspec.c
src/shared/bootspec.h
src/shared/bus-polkit.c
src/shared/bus-polkit.h
src/shared/creds-util.c
src/shared/cryptsetup-fido2.c
src/shared/cryptsetup-tpm2.c
src/shared/cryptsetup-util.c
src/shared/cryptsetup-util.h
src/shared/discover-image.c
src/shared/discover-image.h
src/shared/dissect-image.c
src/shared/elf-util.c
src/shared/elf-util.h
src/shared/format-table.c
src/shared/format-table.h
src/shared/group-record.c
src/shared/group-record.h
src/shared/json-internal.h [deleted file]
src/shared/json.c [deleted file]
src/shared/json.h [deleted file]
src/shared/logs-show.c
src/shared/logs-show.h
src/shared/meson.build
src/shared/nsresource.c
src/shared/output-mode.c
src/shared/output-mode.h
src/shared/parse-argument.c
src/shared/parse-argument.h
src/shared/tpm2-util.c
src/shared/tpm2-util.h
src/shared/user-record-nss.c
src/shared/user-record.c
src/shared/user-record.h
src/shared/userdb-dropin.c
src/shared/userdb.c
src/shared/varlink-idl.c
src/shared/varlink-idl.h
src/shared/varlink-io.systemd.service.c
src/shared/varlink-io.systemd.service.h
src/shared/varlink.c
src/shared/varlink.h
src/sleep/sleep.c
src/sysext/sysext.c
src/systemctl/systemctl-set-environment.c
src/systemctl/systemctl-util.c
src/systemd/meson.build
src/systemd/sd-json.h [new file with mode: 0644]
src/sysupdate/sysupdate.c
src/test/test-format-table.c
src/test/test-json.c
src/test/test-parse-argument.c
src/test/test-varlink-idl.c
src/test/test-varlink.c
src/udev/udevadm-info.c
src/userdb/userdbctl.c
src/userdb/userwork.c
src/varlinkctl/varlinkctl.c
src/vmspawn/vmspawn-register.c
src/vmspawn/vmspawn-util.c