Home | History | Annotate | Download | only in ap

Lines Matching defs:hapd_iface

1332  * @hapd_iface: Pointer to interface data
1342 hostapd_alloc_bss_data(struct hostapd_iface *hapd_iface,
1355 hapd->iface = hapd_iface;
1419 struct hostapd_iface *hapd_iface = NULL;
1424 hapd_iface = os_zalloc(sizeof(*hapd_iface));
1425 if (hapd_iface == NULL)
1428 hapd_iface->config_fname = os_strdup(config_file);
1429 if (hapd_iface->config_fname == NULL)
1432 conf = interfaces->config_read_cb(hapd_iface->config_fname);
1435 hapd_iface->conf = conf;
1437 hapd_iface->num_bss = conf->num_bss;
1438 hapd_iface->bss = os_calloc(conf->num_bss,
1440 if (hapd_iface->bss == NULL)
1444 hapd = hapd_iface->bss[i] =
1445 hostapd_alloc_bss_data(hapd_iface, conf,
1452 return hapd_iface;
1459 if (hapd_iface) {
1460 os_free(hapd_iface->config_fname);
1461 os_free(hapd_iface->bss);
1463 __func__, hapd_iface);
1464 os_free(hapd_iface);
1630 struct hostapd_iface *hapd_iface)
1638 for (j = 0; j < hapd_iface->num_bss; j++) {
1641 hapd_iface->bss[j]->drv_priv);
1642 if (hapd_iface->bss[j]->drv_priv == drv_priv)
1643 hapd_iface->bss[j]->drv_priv = NULL;
1649 int hostapd_enable_iface(struct hostapd_iface *hapd_iface)
1653 if (hapd_iface->bss[0]->drv_priv != NULL) {
1655 hapd_iface->conf->bss[0]->iface);
1660 hapd_iface->conf->bss[0]->iface);
1662 for (j = 0; j < hapd_iface->num_bss; j++)
1663 hostapd_set_security_params(hapd_iface->conf->bss[j], 1);
1664 if (hostapd_config_check(hapd_iface->conf, 1) < 0) {
1669 if (hapd_iface->interfaces == NULL ||
1670 hapd_iface->interfaces->driver_init == NULL ||
1671 hapd_iface->interfaces->driver_init(hapd_iface))
1674 if (hostapd_setup_interface(hapd_iface)) {
1675 hostapd_deinit_driver(hapd_iface->bss[0]->driver,
1676 hapd_iface->bss[0]->drv_priv,
1677 hapd_iface);
1685 int hostapd_reload_iface(struct hostapd_iface *hapd_iface)
1690 hapd_iface->conf->bss[0]->iface);
1691 for (j = 0; j < hapd_iface->num_bss; j++)
1692 hostapd_set_security_params(hapd_iface->conf->bss[j], 1);
1693 if (hostapd_config_check(hapd_iface->conf, 1) < 0) {
1697 hostapd_clear_old(hapd_iface);
1698 for (j = 0; j < hapd_iface->num_bss; j++)
1699 hostapd_reload_bss(hapd_iface->bss[j]);
1705 int hostapd_disable_iface(struct hostapd_iface *hapd_iface)
1711 if (hapd_iface == NULL)
1714 if (hapd_iface->bss[0]->drv_priv == NULL) {
1716 hapd_iface->conf->bss[0]->iface);
1720 wpa_msg(hapd_iface->bss[0]->msg_ctx, MSG_INFO, AP_EVENT_DISABLED);
1721 driver = hapd_iface->bss[0]->driver;
1722 drv_priv = hapd_iface->bss[0]->drv_priv;
1724 hapd_iface->driver_ap_teardown =
1725 !!(hapd_iface->drv_flags &
1729 for (j = 0; j < hapd_iface->num_bss; j++) {
1730 struct hostapd_data *hapd = hapd_iface->bss[j];
1735 hostapd_deinit_driver(driver, drv_priv, hapd_iface);
1740 hostapd_cleanup_iface_partial(hapd_iface);
1743 hapd_iface->bss[0]->conf->iface);
1744 hostapd_set_state(hapd_iface, HAPD_IFACE_DISABLED);
1752 struct hostapd_iface **iface, *hapd_iface;
1759 hapd_iface = interfaces->iface[interfaces->count] =
1760 os_zalloc(sizeof(*hapd_iface));
1761 if (hapd_iface == NULL) {
1767 hapd_iface->interfaces = interfaces;
1769 return hapd_iface;
1816 struct hostapd_iface *hapd_iface =
1820 hapd_iface->conf = conf;
1821 hapd_iface->num_bss = conf->num_bss;
1823 hapd_iface->bss = os_zalloc(conf->num_bss *
1825 if (hapd_iface->bss == NULL)
1829 hapd = hapd_iface->bss[i] =
1830 hostapd_alloc_bss_data(hapd_iface, conf, conf->bss[i]);
1836 hapd_iface->interfaces = interfaces;
1838 return hapd_iface;
1845 struct hostapd_iface *hapd_iface = NULL, *new_iface = NULL;
1862 hapd_iface = hostapd_interface_init_bss(interfaces, phy_name,
1864 if (!hapd_iface)
1867 if (interfaces->iface[j] == hapd_iface)
1876 hapd_iface);
1880 interfaces->iface[interfaces->count++] = hapd_iface;
1881 new_iface = hapd_iface;
1885 if (interfaces->driver_init(hapd_iface) ||
1886 hostapd_setup_interface(hapd_iface)) {
1892 hapd = hapd_iface->bss[hapd_iface->num_bss - 1];
1893 hapd->driver = hapd_iface->bss[0]->driver;
1894 hapd->drv_priv = hapd_iface->bss[0]->drv_priv;
1895 os_memcpy(hapd->own_addr, hapd_iface->bss[0]->own_addr,
1899 (hapd_iface->state == HAPD_IFACE_ENABLED &&
1902 hapd_iface->bss[hapd_iface->num_bss - 1] = NULL;
1903 hapd_iface->conf->num_bss--;
1904 hapd_iface->num_bss--;
1931 hapd_iface = hostapd_iface_alloc(interfaces);
1932 if (hapd_iface == NULL) {
1951 hapd_iface = hostapd_data_alloc(interfaces, conf);
1952 if (hapd_iface == NULL) {
1958 if (start_ctrl_iface(hapd_iface) < 0)
1968 if (hapd_iface) {
1969 if (hapd_iface->bss) {
1970 for (i = 0; i < hapd_iface->num_bss; i++) {
1971 hapd = hapd_iface->bss[i];
1974 if (hapd_iface->interfaces &&
1975 hapd_iface->interfaces->ctrl_iface_deinit)
1976 hapd_iface->interfaces->
1979 __func__, hapd_iface->bss[i],
1982 hapd_iface->bss[i] = NULL;
1984 os_free(hapd_iface->bss);
1987 __func__, hapd_iface);
1988 os_free(hapd_iface);
2029 struct hostapd_iface *hapd_iface;
2033 hapd_iface = interfaces->iface[i];
2034 if (hapd_iface == NULL)
2036 if (!os_strcmp(hapd_iface->conf->bss[0]->iface, buf)) {
2038 hapd_iface->driver_ap_teardown =
2039 !!(hapd_iface->drv_flags &
2042 hostapd_interface_deinit_free(hapd_iface);
2053 for (j = 0; j < hapd_iface->conf->num_bss; j++) {
2054 if (!os_strcmp(hapd_iface->conf->bss[j]->iface, buf)) {
2055 hapd_iface->driver_ap_teardown =
2056 !(hapd_iface->drv_flags &
2058 return hostapd_remove_bss(hapd_iface, j);