static int show_all_names(sd_bus *bus) { StatusInfo info = {}; static const struct bus_properties_map hostname_map[] = { { "Hostname", "s", NULL, offsetof(StatusInfo, hostname) }, { "StaticHostname", "s", NULL, offsetof(StatusInfo, static_hostname) }, { "PrettyHostname", "s", NULL, offsetof(StatusInfo, pretty_hostname) }, { "IconName", "s", NULL, offsetof(StatusInfo, icon_name) }, { "Chassis", "s", NULL, offsetof(StatusInfo, chassis) }, { "Deployment", "s", NULL, offsetof(StatusInfo, deployment) }, { "Location", "s", NULL, offsetof(StatusInfo, location) }, { "KernelName", "s", NULL, offsetof(StatusInfo, kernel_name) }, { "KernelRelease", "s", NULL, offsetof(StatusInfo, kernel_release) }, { "OperatingSystemPrettyName", "s", NULL, offsetof(StatusInfo, os_pretty_name) }, { "OperatingSystemCPEName", "s", NULL, offsetof(StatusInfo, os_cpe_name) }, {} }; static const struct bus_properties_map manager_map[] = { { "Virtualization", "s", NULL, offsetof(StatusInfo, virtualization) }, { "Architecture", "s", NULL, offsetof(StatusInfo, architecture) }, {} }; int r; r = bus_map_all_properties(bus, "org.freedesktop.hostname1", "/org/freedesktop/hostname1", hostname_map, &info); if (r < 0) goto fail; bus_map_all_properties(bus, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", manager_map, &info); print_status_info(&info); fail: free(info.hostname); free(info.static_hostname); free(info.pretty_hostname); free(info.icon_name); free(info.chassis); free(info.deployment); free(info.location); free(info.kernel_name); free(info.kernel_release); free(info.os_pretty_name); free(info.os_cpe_name); free(info.virtualization); free(info.architecture); return r; }
static int show_all_names(sd_bus *bus, sd_bus_error *error) { StatusInfo info = {}; static const struct bus_properties_map hostname_map[] = { { "Hostname", "s", NULL, offsetof(StatusInfo, hostname) }, { "StaticHostname", "s", NULL, offsetof(StatusInfo, static_hostname) }, { "PrettyHostname", "s", NULL, offsetof(StatusInfo, pretty_hostname) }, { "IconName", "s", NULL, offsetof(StatusInfo, icon_name) }, { "Chassis", "s", NULL, offsetof(StatusInfo, chassis) }, { "Deployment", "s", NULL, offsetof(StatusInfo, deployment) }, { "Location", "s", NULL, offsetof(StatusInfo, location) }, { "KernelName", "s", NULL, offsetof(StatusInfo, kernel_name) }, { "KernelRelease", "s", NULL, offsetof(StatusInfo, kernel_release) }, { "OperatingSystemPrettyName", "s", NULL, offsetof(StatusInfo, os_pretty_name) }, { "OperatingSystemCPEName", "s", NULL, offsetof(StatusInfo, os_cpe_name) }, { "HomeURL", "s", NULL, offsetof(StatusInfo, home_url) }, {} }; static const struct bus_properties_map manager_map[] = { { "Virtualization", "s", NULL, offsetof(StatusInfo, virtualization) }, { "Architecture", "s", NULL, offsetof(StatusInfo, architecture) }, {} }; _cleanup_(sd_bus_message_unrefp) sd_bus_message *host_message = NULL, *manager_message = NULL; int r; r = bus_map_all_properties(bus, "org.freedesktop.hostname1", "/org/freedesktop/hostname1", hostname_map, 0, error, &host_message, &info); if (r < 0) return r; r = bus_map_all_properties(bus, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", manager_map, 0, error, &manager_message, &info); print_status_info(&info); return r; }
static int show_status(sd_bus *bus, char **args, unsigned n) { _cleanup_(status_info_clear) StatusInfo info = {}; static const struct bus_properties_map map[] = { { "Timezone", "s", NULL, offsetof(StatusInfo, timezone) }, { "LocalRTC", "b", NULL, offsetof(StatusInfo, rtc_local) }, { "NTP", "b", NULL, offsetof(StatusInfo, ntp_enabled) }, { "CanNTP", "b", NULL, offsetof(StatusInfo, ntp_capable) }, { "NTPSynchronized", "b", NULL, offsetof(StatusInfo, ntp_synced) }, { "TimeUSec", "t", NULL, offsetof(StatusInfo, time) }, { "RTCTimeUSec", "t", NULL, offsetof(StatusInfo, rtc_time) }, {} }; _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; int r; assert(bus); r = bus_map_all_properties(bus, "org.freedesktop.timedate1", "/org/freedesktop/timedate1", map, &error, &info); if (r < 0) return log_error_errno(r, "Failed to query server: %s", bus_error_message(&error, r)); print_status_info(&info); return r; }
static int show_status(sd_bus *bus, char **args, unsigned n) { StatusInfo info = {}; static const struct bus_properties_map map[] = { { "Timezone", "s", NULL, offsetof(StatusInfo, timezone) }, { "LocalRTC", "b", NULL, offsetof(StatusInfo, rtc_local) }, { "NTP", "b", NULL, offsetof(StatusInfo, ntp_enabled) }, { "CanNTP", "b", NULL, offsetof(StatusInfo, ntp_capable) }, { "NTPSynchronized", "b", NULL, offsetof(StatusInfo, ntp_synced) }, { "TimeUSec", "t", NULL, offsetof(StatusInfo, time) }, { "RTCTimeUSec", "t", NULL, offsetof(StatusInfo, rtc_time) }, {} }; int r; assert(bus); r = bus_map_all_properties(bus, "org.freedesktop.timedate1", "/org/freedesktop/timedate1", map, &info); if (r < 0) { log_error("Failed to query server: %s", strerror(-r)); goto fail; } print_status_info(&info); fail: free(info.timezone); return r; }
static int show_status(int argc, char **argv, void *userdata) { StatusInfo info = {}; static const struct bus_properties_map map[] = { { "Timezone", "s", NULL, offsetof(StatusInfo, timezone) }, { "LocalRTC", "b", NULL, offsetof(StatusInfo, rtc_local) }, { "NTP", "b", NULL, offsetof(StatusInfo, ntp_active) }, { "CanNTP", "b", NULL, offsetof(StatusInfo, ntp_capable) }, { "NTPSynchronized", "b", NULL, offsetof(StatusInfo, ntp_synced) }, { "TimeUSec", "t", NULL, offsetof(StatusInfo, time) }, { "RTCTimeUSec", "t", NULL, offsetof(StatusInfo, rtc_time) }, {} }; _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL; sd_bus *bus = userdata; int r; assert(bus); r = bus_map_all_properties(bus, "org.freedesktop.timedate1", "/org/freedesktop/timedate1", map, BUS_MAP_BOOLEAN_AS_BOOL, &error, &m, &info); if (r < 0) return log_error_errno(r, "Failed to query server: %s", bus_error_message(&error, r)); print_status_info(&info); return r; }
static int show_status(sd_bus *bus, char **args, unsigned n) { StatusInfo info = {}; static const struct bus_properties_map map[] = { { "VConsoleKeymap", "s", NULL, offsetof(StatusInfo, vconsole_keymap) }, { "VConsoleKeymap", "s", NULL, offsetof(StatusInfo, vconsole_keymap) }, { "VConsoleKeymapToggle", "s", NULL, offsetof(StatusInfo, vconsole_keymap_toggle) }, { "X11Layout", "s", NULL, offsetof(StatusInfo, x11_layout) }, { "X11Model", "s", NULL, offsetof(StatusInfo, x11_model) }, { "X11Variant", "s", NULL, offsetof(StatusInfo, x11_variant) }, { "X11Options", "s", NULL, offsetof(StatusInfo, x11_options) }, { "Locale", "as", NULL, offsetof(StatusInfo, locale) }, {} }; int r; assert(bus); r = bus_map_all_properties(bus, "org.freedesktop.locale1", "/org/freedesktop/locale1", map, &info); if (r < 0) { log_error("Could not get properties: %s", strerror(-r)); goto fail; } print_status_info(&info); fail: strv_free(info.locale); return r; }
static int on_properties_changed(sd_bus_message *m, void *userdata, sd_bus_error *error) { static const struct bus_properties_map map[] = { { "ActiveState", "s", NULL, offsetof(RunContext, active_state) }, { "InactiveExitTimestampMonotonic", "t", NULL, offsetof(RunContext, inactive_exit_usec) }, { "InactiveEnterTimestampMonotonic", "t", NULL, offsetof(RunContext, inactive_enter_usec) }, { "Result", "s", NULL, offsetof(RunContext, result) }, { "ExecMainCode", "i", NULL, offsetof(RunContext, exit_code) }, { "ExecMainStatus", "i", NULL, offsetof(RunContext, exit_status) }, { "CPUUsageNSec", "t", NULL, offsetof(RunContext, cpu_usage_nsec) }, {} }; RunContext *c = userdata; int r; r = bus_map_all_properties(c->bus, "org.freedesktop.systemd1", sd_bus_message_get_path(m), map, c); if (r < 0) { sd_event_exit(c->event, EXIT_FAILURE); return log_error_errno(r, "Failed to query unit state: %m"); } run_context_check_done(c); return 0; }
static int show_timesync_status_once(sd_bus *bus) { static const struct bus_properties_map map_timesync[] = { { "ServerName", "s", NULL, offsetof(NTPStatusInfo, server_name) }, { "ServerAddress", "(iay)", map_server_address, offsetof(NTPStatusInfo, server_address) }, { "PollIntervalUSec", "t", NULL, offsetof(NTPStatusInfo, poll_interval) }, { "PollIntervalMinUSec", "t", NULL, offsetof(NTPStatusInfo, poll_min) }, { "PollIntervalMaxUSec", "t", NULL, offsetof(NTPStatusInfo, poll_max) }, { "RootDistanceMaxUSec", "t", NULL, offsetof(NTPStatusInfo, root_distance_max) }, { "NTPMessage", "(uuuuittayttttbtt)", map_ntp_message, 0 }, { "Frequency", "x", NULL, offsetof(NTPStatusInfo, freq) }, {} }; _cleanup_(ntp_status_info_clear) NTPStatusInfo info = {}; _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL; int r; assert(bus); r = bus_map_all_properties(bus, "org.freedesktop.timesync1", "/org/freedesktop/timesync1", map_timesync, BUS_MAP_BOOLEAN_AS_BOOL, &error, &m, &info); if (r < 0) return log_error_errno(r, "Failed to query server: %s", bus_error_message(&error, r)); if (arg_monitor && !terminal_is_dumb()) fputs(ANSI_HOME_CLEAR, stdout); print_ntp_status_info(&info); return 0; }
static int show_status(int argc, char **argv, void *userdata) { _cleanup_(status_info_clear) StatusInfo info = {}; static const struct bus_properties_map map[] = { { "VConsoleKeymap", "s", NULL, offsetof(StatusInfo, vconsole_keymap) }, { "VConsoleKeymapToggle", "s", NULL, offsetof(StatusInfo, vconsole_keymap_toggle) }, { "X11Layout", "s", NULL, offsetof(StatusInfo, x11_layout) }, { "X11Model", "s", NULL, offsetof(StatusInfo, x11_model) }, { "X11Variant", "s", NULL, offsetof(StatusInfo, x11_variant) }, { "X11Options", "s", NULL, offsetof(StatusInfo, x11_options) }, { "Locale", "as", NULL, offsetof(StatusInfo, locale) }, {} }; _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL; sd_bus *bus = userdata; int r; assert(bus); r = bus_map_all_properties(bus, "org.freedesktop.locale1", "/org/freedesktop/locale1", map, 0, &error, &m, &info); if (r < 0) return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r)); print_overridden_variables(); print_status_info(&info); return r; }