Home | History | Annotate | Download | only in hostapd

Lines Matching refs:interfaces

181 				wpa_drivers[i]->global_init(iface->interfaces);
257 * interfaces. No actiual driver operations are started.
260 hostapd_interface_init(struct hapd_interfaces *interfaces, const char *if_name,
267 iface = hostapd_init(interfaces, config_fname);
276 iface->interfaces = interfaces;
323 struct hapd_interfaces *interfaces = signal_ctx;
326 hostapd_for_each_interface(interfaces, handle_reload_iface, NULL);
337 static int hostapd_global_init(struct hapd_interfaces *interfaces,
355 interfaces->eloop_initialized = 1;
360 eloop_register_signal(SIGHUP, handle_reload, interfaces);
361 eloop_register_signal(SIGUSR1, handle_dump_state, interfaces);
363 eloop_register_signal_terminate(handle_term, interfaces);
482 " -G group for control interfaces\n"
496 " -S start all the interfaces synchronously\n"
513 static int hostapd_get_global_ctrl_iface(struct hapd_interfaces *interfaces,
520 os_free(interfaces->global_iface_path);
521 interfaces->global_iface_path = os_strdup(path);
522 if (interfaces->global_iface_path == NULL)
526 pos = os_strrchr(interfaces->global_iface_path, '/');
530 os_free(interfaces->global_iface_path);
531 interfaces->global_iface_path = NULL;
536 interfaces->global_iface_name = pos + 1;
543 static int hostapd_get_ctrl_iface_group(struct hapd_interfaces *interfaces,
553 interfaces->ctrl_iface_group = grp->gr_gid;
631 struct hapd_interfaces *interfaces = eloop_ctx;
634 hostapd_periodic, interfaces, NULL);
635 hostapd_for_each_interface(interfaces, hostapd_periodic_call, NULL);
641 struct hapd_interfaces interfaces;
660 os_memset(&interfaces, 0, sizeof(interfaces));
661 interfaces.reload_config = hostapd_reload_config;
662 interfaces.config_read_cb = hostapd_config_read;
663 interfaces.for_each_interface = hostapd_for_each_interface;
664 interfaces.ctrl_iface_init = hostapd_ctrl_iface_init;
665 interfaces.ctrl_iface_deinit = hostapd_ctrl_iface_deinit;
666 interfaces.driver_init = hostapd_driver_init;
667 interfaces.global_iface_path = NULL;
668 interfaces.global_iface_name = NULL;
669 interfaces.global_ctrl_sock = -1;
670 dl_list_init(&interfaces.global_ctrl_dst);
672 dl_list_init(&interfaces.eth_p_oui);
717 if (hostapd_get_global_ctrl_iface(&interfaces, optarg))
721 if (hostapd_get_ctrl_iface_group(&interfaces, optarg))
757 if (optind == argc && interfaces.global_iface_path == NULL &&
782 interfaces.count = argc - optind;
783 if (interfaces.count || num_bss_configs) {
784 interfaces.iface = os_calloc(interfaces.count + num_bss_configs,
786 if (interfaces.iface == NULL) {
792 if (hostapd_global_init(&interfaces, entropy_file)) {
798 hostapd_periodic, &interfaces, NULL);
812 for (i = 0; i < interfaces.count; i++) {
818 interfaces.iface[i] = hostapd_interface_init(&interfaces,
822 if (!interfaces.iface[i]) {
827 interfaces.iface[i]->need_to_start_in_sync = 1;
844 iface = hostapd_interface_init_bss(&interfaces, bss_config[i],
848 for (j = 0; j < interfaces.count; j++) {
849 if (interfaces.iface[j] == iface)
852 if (j == interfaces.count) {
854 tmp = os_realloc_array(interfaces.iface,
855 interfaces.count + 1,
861 interfaces.iface = tmp;
862 interfaces.iface[interfaces.count++] = iface;
867 * Enable configured interfaces. Depending on channel configuration,
874 interfaces.terminate_on_error = interfaces.count;
875 for (i = 0; i < interfaces.count; i++) {
876 if (hostapd_driver_init(interfaces.iface[i]))
879 for (j = 0; j < interfaces.iface[i]->num_bss; j++) {
880 struct hostapd_data *hapd = interfaces.iface[i]->bss[j];
883 (interfaces.iface[i]->drv_flags &
888 (interfaces.iface[i]->drv_flags &
896 if (hostapd_setup_interface(interfaces.iface[i]))
901 if (hostapd_hidl_init(&interfaces)) {
906 hostapd_global_ctrl_iface_init(&interfaces);
908 if (hostapd_global_run(&interfaces, daemonize, pid_file)) {
917 hostapd_hidl_deinit(&interfaces);
919 hostapd_global_ctrl_iface_deinit(&interfaces);
920 /* Deinitialize all interfaces */
921 for (i = 0; i < interfaces.count; i++) {
922 if (!interfaces.iface[i])
924 interfaces.iface[i]->driver_ap_teardown =
925 !!(interfaces.iface[i]->drv_flags &
927 hostapd_interface_deinit_free(interfaces.iface[i]);
929 os_free(interfaces.iface);
931 if (interfaces.eloop_initialized)
932 eloop_cancel_timeout(hostapd_periodic, &interfaces, NULL);
933 hostapd_global_deinit(pid_file, interfaces.eloop_initialized);