Create event loop for Fuchsia.
Non-functioning implementation of the wpa_supplicant event loop for
Fuchsia.
Accidentally submitted and reverted.
Previous-Change-Id: I7260f15547d28133d33aaa9467b0eb6e920ee79d
Change-Id: I68064bea8e539ff5575ea5d3ace05bc7265ce991
diff --git a/src/utils/eloop_fuchsia.cc b/src/utils/eloop_fuchsia.cc
new file mode 100644
index 0000000..a938f26
--- /dev/null
+++ b/src/utils/eloop_fuchsia.cc
@@ -0,0 +1,125 @@
+// Copyright 2016 The Fuchsia Authors. All rights reserved.
+// This software may be distributed under the terms of the BSD license.
+// See README for more details.
+
+extern "C" {
+// Hostap code requires this be the first file included
+#include "includes.h"
+
+#include "eloop.h"
+} // extern "C"
+
+extern "C" int eloop_init() { return 0; }
+
+extern "C" int eloop_register_read_sock(int sock, eloop_sock_handler handler,
+ void *eloop_data, void *user_data) {
+ // Not implemented.
+ return -1;
+}
+
+extern "C" void eloop_unregister_read_sock(int sock) {
+ // Not implemented.
+}
+
+extern "C" int eloop_register_sock(int sock, eloop_event_type type,
+ eloop_sock_handler handler, void *eloop_data,
+ void *user_data) {
+ // Not implemented.
+ return -1;
+}
+
+extern "C" void eloop_unregister_sock(int sock, eloop_event_type type) {
+ // Not implemented.
+}
+
+extern "C" int eloop_register_event(void *event, size_t event_size,
+ eloop_event_handler handler,
+ void *eloop_data, void *user_data) {
+ // Not implemented.
+ return -1;
+}
+
+extern "C" void eloop_unregister_event(void *event, size_t event_size) {
+ // Not implemented.
+}
+
+extern "C" int eloop_register_timeout(unsigned int secs, unsigned int usecs,
+ eloop_timeout_handler handler,
+ void *eloop_data, void *user_data) {
+ // TODO(alangardner): Implement
+ return -1;
+}
+
+extern "C" int eloop_cancel_timeout(eloop_timeout_handler handler,
+ void *eloop_data, void *user_data) {
+ // TODO(alangardner): Implement
+ return -1;
+}
+
+extern "C" int eloop_cancel_timeout_one(eloop_timeout_handler handler,
+ void *eloop_data, void *user_data,
+ struct os_reltime *remaining) {
+ // TODO(alangardner): Implement
+ return -1;
+}
+
+extern "C" int eloop_is_timeout_registered(eloop_timeout_handler handler,
+ void *eloop_data, void *user_data) {
+ // TODO(alangardner): Implement
+ return -1;
+}
+
+extern "C" int eloop_deplete_timeout(unsigned int req_secs,
+ unsigned int req_usecs,
+ eloop_timeout_handler handler,
+ void *eloop_data, void *user_data) {
+ // TODO(alangardner): Implement
+ return -1;
+}
+
+extern "C" int eloop_replenish_timeout(unsigned int req_secs,
+ unsigned int req_usecs,
+ eloop_timeout_handler handler,
+ void *eloop_data, void *user_data) {
+ // TODO(alangardner): Implement
+ return -1;
+}
+
+extern "C" int eloop_register_signal(int sig, eloop_signal_handler handler,
+ void *user_data) {
+ // Not implemented.
+ return -1;
+}
+
+extern "C" int eloop_register_signal_terminate(eloop_signal_handler handler,
+ void *user_data) {
+ // Not implemented.
+ return -1;
+}
+
+extern "C" int eloop_register_signal_reconfig(eloop_signal_handler handler,
+ void *user_data) {
+ // Not implemented.
+ return -1;
+}
+
+extern "C" void eloop_run() {
+ // TODO(alangardner): Implement
+}
+
+extern "C" void eloop_terminate() {
+ // TODO(alangardner): Implement
+}
+
+extern "C" void eloop_destroy() {
+ // TODO(alangardner): Implement
+}
+
+extern "C" int eloop_terminated() {
+ // TODO(alangardner): Implement
+ return 1;
+}
+
+extern "C" void eloop_wait_for_read_sock(int sock) {
+ // Not implemented.
+}
diff --git a/wpa_supplicant/BUILD.gn b/wpa_supplicant/BUILD.gn
index 286a015..b28e87f 100644
--- a/wpa_supplicant/BUILD.gn
+++ b/wpa_supplicant/BUILD.gn
@@ -6,6 +6,49 @@
# See README for more details.
executable("wpa_supplicant") {
+
+ configs += [ ":wpa_supplicant_private" ]
+ configs -= [ "//build/config:default_warnings" ]
+
+ deps = [
+ ":wpa_supplicant_original",
+ ":wpa_supplicant_fuchsia",
+ ]
+
+}
+
+config("wpa_supplicant_private") {
+ visibility = [ ":*" ]
+
+ include_dirs = [
+ "../src",
+ "../src/utils",
+ ]
+
+ cflags = [
+ "-MMD",
+ "-O2",
+ "-g",
+ "-Wall",
+ "-Wextra",
+ "-Wno-unused-function",
+ "-Wno-unused-parameter",
+ ]
+
+ defines = [
+ "CONFIG_BACKEND_FILE",
+ "CONFIG_CRYPTO_INTERNAL",
+ "CONFIG_DRIVER_NONE",
+ "CONFIG_NO_PBKDF2",
+ "CONFIG_NO_CONFIG_BLOBS",
+ "CONFIG_NO_SCAN_PROCESSING",
+ "CONFIG_NO_WPA",
+ "CONFIG_NO_ROAMING",
+ "CONFIG_SHA256",
+ ]
+}
+
+source_set("wpa_supplicant_original") {
sources = [
"../src/common/ieee802_11_common.c",
"../src/common/hw_features_common.c",
@@ -27,8 +70,6 @@
"../src/utils/common.c",
"../src/utils/wpa_debug.c",
"../src/utils/wpabuf.c",
- "../src/utils/os_fuchsia.c",
- "../src/utils/eloop.c",
"config.c",
"notify.c",
"bss.c",
@@ -40,33 +81,17 @@
"blacklist.c",
"wpas_glue.c",
"scan.c",
+ ]
+
+ configs += [ ":wpa_supplicant_private" ]
+}
+
+source_set("wpa_supplicant_fuchsia") {
+ sources = [
+ "../src/utils/eloop_fuchsia.cc",
+ "../src/utils/os_fuchsia.c",
"main_fuchsia.c",
]
- include_dirs = [
- "../src",
- "../src/utils",
- ".",
- ]
-
- configs -= [ "//build/config:default_warnings" ]
-
- cflags = [
- "-MMD",
- "-O2",
- "-g",
- "-Wall",
- "-Wextra",
- "-Wno-unused-function",
- "-Wno-unused-parameter",
- "-DCONFIG_BACKEND_FILE",
- "-DCONFIG_CRYPTO_INTERNAL",
- "-DCONFIG_DRIVER_NONE",
- "-DCONFIG_NO_PBKDF2",
- "-DCONFIG_NO_CONFIG_BLOBS",
- "-DCONFIG_NO_SCAN_PROCESSING",
- "-DCONFIG_NO_WPA",
- "-DCONFIG_NO_ROAMING",
- "-DCONFIG_SHA256",
- ]
+ configs += [ ":wpa_supplicant_private" ]
}