From fe179f96fdfbe44ed38ad167c9ad2963e0f1b21b Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 11 Oct 2019 12:29:33 -0700 Subject: [PATCH] eap: utilize IWD_MODULE Converts eap into an IWD module. --- src/eap.c | 7 ++++++- src/eap.h | 2 +- src/main.c | 4 ---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/eap.c b/src/eap.c index b0fa72cf..23868811 100644 --- a/src/eap.c +++ b/src/eap.c @@ -33,6 +33,7 @@ #include "src/missing.h" #include "src/eap.h" #include "src/eap-private.h" +#include "src/iwd.h" static uint32_t default_mtu; static struct l_queue *eap_methods; @@ -721,7 +722,7 @@ static void __eap_method_disable(struct eap_method_desc *start, extern struct eap_method_desc __start___eap[]; extern struct eap_method_desc __stop___eap[]; -void eap_init(void) +int eap_init(void) { eap_methods = l_queue_new(); __eap_method_enable(__start___eap, __stop___eap); @@ -733,6 +734,8 @@ void eap_init(void) */ if (default_mtu == 0) default_mtu = 1020; + + return 0; } void eap_exit(void) @@ -740,3 +743,5 @@ void eap_exit(void) __eap_method_disable(__start___eap, __stop___eap); l_queue_destroy(eap_methods, NULL); } + +IWD_MODULE(eap, eap_init, eap_exit); diff --git a/src/eap.h b/src/eap.h index 8f128304..8b2de8c9 100644 --- a/src/eap.h +++ b/src/eap.h @@ -95,5 +95,5 @@ void eap_rx_packet(struct eap_state *eap, const uint8_t *pkt, size_t len); void __eap_set_config(struct l_settings *config); -void eap_init(void); +int eap_init(void); void eap_exit(void); diff --git a/src/main.c b/src/main.c index 1ff8d5d8..871104dd 100644 --- a/src/main.c +++ b/src/main.c @@ -493,15 +493,11 @@ int main(int argc, char *argv[]) l_dbus_set_disconnect_handler(dbus, dbus_disconnected, NULL, NULL); dbus_init(dbus); - eap_init(); - exit_status = l_main_run_with_signal(signal_handler, NULL); plugin_exit(); iwd_modules_exit(); - eap_exit(); - dbus_exit(); l_dbus_destroy(dbus); storage_cleanup_dirs();