Lines Matching full:interfaces

179 		 * All interfaces participating in the AP MLD would have  in hostapd_driver_init()
215 wpa_drivers[i]->global_init(iface->interfaces); in hostapd_driver_init()
355 * interfaces. No actual driver operations are started.
358 hostapd_interface_init(struct hapd_interfaces *interfaces, const char *if_name, in hostapd_interface_init() argument
365 iface = hostapd_init(interfaces, config_fname); in hostapd_interface_init()
374 iface->interfaces = interfaces; in hostapd_interface_init()
421 struct hapd_interfaces *interfaces = signal_ctx; in handle_reload() local
424 hostapd_for_each_interface(interfaces, handle_reload_iface, NULL); in handle_reload()
435 static int hostapd_global_init(struct hapd_interfaces *interfaces, in hostapd_global_init() argument
453 interfaces->eloop_initialized = 1; in hostapd_global_init()
458 eloop_register_signal(SIGHUP, handle_reload, interfaces); in hostapd_global_init()
459 eloop_register_signal(SIGUSR1, handle_dump_state, interfaces); in hostapd_global_init()
461 eloop_register_signal_terminate(handle_term, interfaces); in hostapd_global_init()
581 " -G group for control interfaces\n" in usage()
595 " -S start all the interfaces synchronously\n" in usage()
613 static int hostapd_get_global_ctrl_iface(struct hapd_interfaces *interfaces, in hostapd_get_global_ctrl_iface() argument
620 os_free(interfaces->global_iface_path); in hostapd_get_global_ctrl_iface()
621 interfaces->global_iface_path = os_strdup(path); in hostapd_get_global_ctrl_iface()
622 if (interfaces->global_iface_path == NULL) in hostapd_get_global_ctrl_iface()
626 pos = os_strrchr(interfaces->global_iface_path, '/'); in hostapd_get_global_ctrl_iface()
630 os_free(interfaces->global_iface_path); in hostapd_get_global_ctrl_iface()
631 interfaces->global_iface_path = NULL; in hostapd_get_global_ctrl_iface()
636 interfaces->global_iface_name = pos + 1; in hostapd_get_global_ctrl_iface()
643 static int hostapd_get_ctrl_iface_group(struct hapd_interfaces *interfaces, in hostapd_get_ctrl_iface_group() argument
653 interfaces->ctrl_iface_group = grp->gr_gid; in hostapd_get_ctrl_iface_group()
731 struct hapd_interfaces *interfaces = eloop_ctx; in hostapd_periodic() local
734 hostapd_periodic, interfaces, NULL); in hostapd_periodic()
735 hostapd_for_each_interface(interfaces, hostapd_periodic_call, NULL); in hostapd_periodic()
739 static void hostapd_global_cleanup_mld(struct hapd_interfaces *interfaces) in hostapd_global_cleanup_mld() argument
744 if (!interfaces || !interfaces->mld) in hostapd_global_cleanup_mld()
747 for (i = 0; i < interfaces->mld_count; i++) { in hostapd_global_cleanup_mld()
748 if (!interfaces->mld[i]) in hostapd_global_cleanup_mld()
751 os_free(interfaces->mld[i]); in hostapd_global_cleanup_mld()
752 interfaces->mld[i] = NULL; in hostapd_global_cleanup_mld()
755 os_free(interfaces->mld); in hostapd_global_cleanup_mld()
756 interfaces->mld = NULL; in hostapd_global_cleanup_mld()
757 interfaces->mld_count = 0; in hostapd_global_cleanup_mld()
764 struct hapd_interfaces interfaces; in main() local
786 os_memset(&interfaces, 0, sizeof(interfaces)); in main()
787 interfaces.reload_config = hostapd_reload_config; in main()
788 interfaces.config_read_cb = hostapd_config_read; in main()
789 interfaces.for_each_interface = hostapd_for_each_interface; in main()
790 interfaces.ctrl_iface_init = hostapd_ctrl_iface_init; in main()
791 interfaces.ctrl_iface_deinit = hostapd_ctrl_iface_deinit; in main()
792 interfaces.driver_init = hostapd_driver_init; in main()
793 interfaces.global_iface_path = NULL; in main()
794 interfaces.global_iface_name = NULL; in main()
795 interfaces.global_ctrl_sock = -1; in main()
796 dl_list_init(&interfaces.global_ctrl_dst); in main()
798 dl_list_init(&interfaces.eth_p_oui); in main()
802 dpp_conf.cb_ctx = &interfaces; in main()
806 interfaces.dpp = dpp_global_init(&dpp_conf); in main()
807 if (!interfaces.dpp) in main()
852 if (hostapd_get_global_ctrl_iface(&interfaces, optarg)) in main()
856 if (hostapd_get_ctrl_iface_group(&interfaces, optarg)) in main()
894 if (optind == argc && interfaces.global_iface_path == NULL && in main()
918 interfaces.count = argc - optind; in main()
919 if (interfaces.count || num_bss_configs) { in main()
920 interfaces.iface = os_calloc(interfaces.count + num_bss_configs, in main()
922 if (interfaces.iface == NULL) { in main()
928 if (hostapd_global_init(&interfaces, entropy_file)) { in main()
934 hostapd_periodic, &interfaces, NULL); in main()
948 for (i = 0; i < interfaces.count; i++) { in main()
954 interfaces.iface[i] = hostapd_interface_init(&interfaces, in main()
958 if (!interfaces.iface[i]) { in main()
963 interfaces.iface[i]->need_to_start_in_sync = 1; in main()
980 iface = hostapd_interface_init_bss(&interfaces, bss_config[i], in main()
984 for (j = 0; j < interfaces.count; j++) { in main()
985 if (interfaces.iface[j] == iface) in main()
988 if (j == interfaces.count) { in main()
990 tmp = os_realloc_array(interfaces.iface, in main()
991 interfaces.count + 1, in main()
997 interfaces.iface = tmp; in main()
998 interfaces.iface[interfaces.count++] = iface; in main()
1003 * Enable configured interfaces. Depending on channel configuration, in main()
1010 interfaces.terminate_on_error = interfaces.count; in main()
1011 for (i = 0; i < interfaces.count; i++) { in main()
1012 if (hostapd_driver_init(interfaces.iface[i]) || in main()
1013 hostapd_setup_interface(interfaces.iface[i])) in main()
1017 hostapd_global_ctrl_iface_init(&interfaces); in main()
1019 if (hostapd_global_run(&interfaces, daemonize, pid_file)) { in main()
1027 hostapd_global_ctrl_iface_deinit(&interfaces); in main()
1028 /* Deinitialize all interfaces */ in main()
1029 for (i = 0; i < interfaces.count; i++) { in main()
1030 if (!interfaces.iface[i]) in main()
1032 interfaces.iface[i]->driver_ap_teardown = in main()
1033 !!(interfaces.iface[i]->drv_flags & in main()
1035 hostapd_interface_deinit_free(interfaces.iface[i]); in main()
1036 interfaces.iface[i] = NULL; in main()
1038 os_free(interfaces.iface); in main()
1039 interfaces.iface = NULL; in main()
1040 interfaces.count = 0; in main()
1042 hostapd_global_cleanup_mld(&interfaces); in main()
1045 dpp_global_deinit(interfaces.dpp); in main()
1048 if (interfaces.eloop_initialized) in main()
1049 eloop_cancel_timeout(hostapd_periodic, &interfaces, NULL); in main()
1050 hostapd_global_deinit(pid_file, interfaces.eloop_initialized); in main()