static int hv_read_data(void) { struct hv_keypad_data *data = i2c_get_clientdata(this_client); struct key_event *event = &data->event; u8 buf[2] = {0}; int ret = -1; //memset(event, 0, sizeof(struct key_event)); ret = hv_i2c_rxdata(buf, 1); if(ret==1){ if((0xff != buf[0])&& (0 != buf[0])){ event->key_val = buf[0]; }else if(0xff == buf[0]){ //event->key_val = event->key_last; event->key_val = buf[0]; //printk("receive 0xff. \n"); } print_status_info("157 event->key_status = %d, event->key_val = %d.\n",event->key_status, event->key_val); }else{ if(event->key_status ==1){ event->key_status = 0; } print_status_info("163 event->key_status = %d\n",event->key_status); } return ret; }
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 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 void hv_read_loop(struct work_struct *work) { int ret = -1; struct hv_keypad_data *data = i2c_get_clientdata(this_client); struct key_event *event = &data->event; //printk("==========Begin Read Data============\n"); ret = hv_read_data(); if(ret==1) { switch(event->key_val) { case 1: case 2: case 3: case 4: case 5: if(event->key_last != event->key_val){ event->key_last = event->key_val; hv_report_value(); } break; case 0xff: if(event->key_status == 1){ event->key_val = event->key_last; hv_keypad_release(); } break; default : //hv_keypad_release(); break; } print_status_info("225 event->key_status = %d, event->key_val = %d.\n",event->key_status, event->key_val); }else if(event->key_status ==0){ hv_keypad_release(); print_status_info("233 event->key_status = %d\n",event->key_status); } queue_delayed_work(hv_keypad->queue, &hv_keypad->work, DELAY_PERIOD); }
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(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; }
static int show_status(DBusConnection *bus, char **args, unsigned n) { _cleanup_dbus_message_unref_ DBusMessage *reply = NULL; const char *interface = ""; int r; DBusMessageIter iter, sub, sub2, sub3; StatusInfo info; assert(args); r = bus_method_call_with_reply( bus, "org.freedesktop.locale1", "/org/freedesktop/locale1", "org.freedesktop.DBus.Properties", "GetAll", &reply, NULL, DBUS_TYPE_STRING, &interface, DBUS_TYPE_INVALID); if (r < 0) return r; if (!dbus_message_iter_init(reply, &iter) || dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY || dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_DICT_ENTRY) { log_error("Failed to parse reply."); return -EIO; } zero(info); dbus_message_iter_recurse(&iter, &sub); while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) { const char *name; if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_DICT_ENTRY) { log_error("Failed to parse reply."); return -EIO; } dbus_message_iter_recurse(&sub, &sub2); if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &name, true) < 0) { log_error("Failed to parse reply."); return -EIO; } if (dbus_message_iter_get_arg_type(&sub2) != DBUS_TYPE_VARIANT) { log_error("Failed to parse reply."); return -EIO; } dbus_message_iter_recurse(&sub2, &sub3); r = status_property(name, &sub3, &info); if (r < 0) { log_error("Failed to parse reply."); return r; } dbus_message_iter_next(&sub); } print_status_info(&info); strv_free(info.locale); return 0; }