Lines Matching refs:interfaces
181 wpa_drivers[i]->global_init(iface->interfaces); in hostapd_driver_init()
260 hostapd_interface_init(struct hapd_interfaces *interfaces, const char *if_name, in hostapd_interface_init() argument
267 iface = hostapd_init(interfaces, config_fname); in hostapd_interface_init()
276 iface->interfaces = interfaces; in hostapd_interface_init()
323 struct hapd_interfaces *interfaces = signal_ctx; in handle_reload() local
326 hostapd_for_each_interface(interfaces, handle_reload_iface, NULL); in handle_reload()
337 static int hostapd_global_init(struct hapd_interfaces *interfaces, in hostapd_global_init() argument
355 interfaces->eloop_initialized = 1; in hostapd_global_init()
360 eloop_register_signal(SIGHUP, handle_reload, interfaces); in hostapd_global_init()
361 eloop_register_signal(SIGUSR1, handle_dump_state, interfaces); in hostapd_global_init()
363 eloop_register_signal_terminate(handle_term, interfaces); in hostapd_global_init()
513 static int hostapd_get_global_ctrl_iface(struct hapd_interfaces *interfaces, in hostapd_get_global_ctrl_iface() argument
520 os_free(interfaces->global_iface_path); in hostapd_get_global_ctrl_iface()
521 interfaces->global_iface_path = os_strdup(path); in hostapd_get_global_ctrl_iface()
522 if (interfaces->global_iface_path == NULL) in hostapd_get_global_ctrl_iface()
526 pos = os_strrchr(interfaces->global_iface_path, '/'); in hostapd_get_global_ctrl_iface()
530 os_free(interfaces->global_iface_path); in hostapd_get_global_ctrl_iface()
531 interfaces->global_iface_path = NULL; in hostapd_get_global_ctrl_iface()
536 interfaces->global_iface_name = pos + 1; in hostapd_get_global_ctrl_iface()
543 static int hostapd_get_ctrl_iface_group(struct hapd_interfaces *interfaces, in hostapd_get_ctrl_iface_group() argument
553 interfaces->ctrl_iface_group = grp->gr_gid; in hostapd_get_ctrl_iface_group()
631 struct hapd_interfaces *interfaces = eloop_ctx; in hostapd_periodic() local
634 hostapd_periodic, interfaces, NULL); in hostapd_periodic()
635 hostapd_for_each_interface(interfaces, hostapd_periodic_call, NULL); in hostapd_periodic()
642 struct hapd_interfaces interfaces; in ap_main() local
667 os_memset(&interfaces, 0, sizeof(interfaces)); in ap_main()
668 interfaces.reload_config = hostapd_reload_config; in ap_main()
669 interfaces.config_read_cb = hostapd_config_read; in ap_main()
670 interfaces.for_each_interface = hostapd_for_each_interface; in ap_main()
671 interfaces.ctrl_iface_init = hostapd_ctrl_iface_init; in ap_main()
672 interfaces.ctrl_iface_deinit = hostapd_ctrl_iface_deinit; in ap_main()
673 interfaces.driver_init = hostapd_driver_init; in ap_main()
674 interfaces.global_iface_path = NULL; in ap_main()
675 interfaces.global_iface_name = NULL; in ap_main()
676 interfaces.global_ctrl_sock = -1; in ap_main()
677 dl_list_init(&interfaces.global_ctrl_dst); in ap_main()
679 dl_list_init(&interfaces.eth_p_oui); in ap_main()
684 interfaces.dpp = dpp_global_init(&dpp_conf); in ap_main()
685 if (!interfaces.dpp) in ap_main()
731 if (hostapd_get_global_ctrl_iface(&interfaces, optarg)) in ap_main()
735 if (hostapd_get_ctrl_iface_group(&interfaces, optarg)) in ap_main()
770 if (optind == argc && interfaces.global_iface_path == NULL && in ap_main()
794 interfaces.count = argc - optind; in ap_main()
795 if (interfaces.count || num_bss_configs) { in ap_main()
796 interfaces.iface = os_calloc(interfaces.count + num_bss_configs, in ap_main()
798 if (interfaces.iface == NULL) { in ap_main()
804 if (hostapd_global_init(&interfaces, entropy_file)) { in ap_main()
810 hostapd_periodic, &interfaces, NULL); in ap_main()
824 for (i = 0; i < interfaces.count; i++) { in ap_main()
830 interfaces.iface[i] = hostapd_interface_init(&interfaces, in ap_main()
834 if (!interfaces.iface[i]) { in ap_main()
839 interfaces.iface[i]->need_to_start_in_sync = 1; in ap_main()
856 iface = hostapd_interface_init_bss(&interfaces, bss_config[i], in ap_main()
860 for (j = 0; j < interfaces.count; j++) { in ap_main()
861 if (interfaces.iface[j] == iface) in ap_main()
864 if (j == interfaces.count) { in ap_main()
866 tmp = os_realloc_array(interfaces.iface, in ap_main()
867 interfaces.count + 1, in ap_main()
873 interfaces.iface = tmp; in ap_main()
874 interfaces.iface[interfaces.count++] = iface; in ap_main()
886 interfaces.terminate_on_error = interfaces.count; in ap_main()
887 for (i = 0; i < interfaces.count; i++) { in ap_main()
888 if (hostapd_driver_init(interfaces.iface[i]) || in ap_main()
889 hostapd_setup_interface(interfaces.iface[i])) in ap_main()
893 hostapd_global_ctrl_iface_init(&interfaces); in ap_main()
895 if (hostapd_global_run(&interfaces, daemonize, pid_file)) { in ap_main()
903 hostapd_global_ctrl_iface_deinit(&interfaces); in ap_main()
905 for (i = 0; i < interfaces.count; i++) { in ap_main()
906 if (!interfaces.iface[i]) in ap_main()
908 interfaces.iface[i]->driver_ap_teardown = in ap_main()
909 !!(interfaces.iface[i]->drv_flags & in ap_main()
911 hostapd_interface_deinit_free(interfaces.iface[i]); in ap_main()
913 os_free(interfaces.iface); in ap_main()
916 dpp_global_deinit(interfaces.dpp); in ap_main()
919 if (interfaces.eloop_initialized) in ap_main()
920 eloop_cancel_timeout(hostapd_periodic, &interfaces, NULL); in ap_main()
921 hostapd_global_deinit(pid_file, interfaces.eloop_initialized); in ap_main()