diff options
Diffstat (limited to 'src/drivers/driver.h')
-rw-r--r-- | src/drivers/driver.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/drivers/driver.h b/src/drivers/driver.h index 7afbda1..6446593 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -898,6 +898,16 @@ struct hostapd_freq_params { * enabled, secondary channel above primary */ }; +struct hostapd_channel_switch { + int freq; + int tx_block; /* immediately block the tx on the + * operational channel + * (prior channel switch) */ + int post_switch_block_tx; /* block tx on the target ch (after + * channel switch) */ + int ch_switch_count; +}; + enum wpa_driver_if_type { /** * WPA_IF_STATION - Station mode interface @@ -2587,6 +2597,15 @@ struct wpa_driver_ops { * Returns: 0 on success, -1 on failure */ int (*driver_cmd)(void *priv, char *cmd, char *buf, size_t buf_len); + + /** + * hapd_channel_switch - Perform an AP channel switch + * @priv: Private driver interface data + * @params: Channels switch parameters + * Returns: 0 on success, -1 on failure + */ + int (*hapd_channel_switch)(void *priv, + struct hostapd_channel_switch *params); }; @@ -3041,7 +3060,12 @@ enum wpa_event_type { * * Described in wpa_event_data.ch_switch * */ - EVENT_CH_SWITCH + EVENT_CH_SWITCH, + + /** + * EVENT_REQ_CH_SW - a request to perform a channel switch for GO/AP + */ + EVENT_REQ_CH_SW }; @@ -3704,6 +3728,8 @@ static inline void drv_event_eapol_rx(void *ctx, const u8 *src, const u8 *data, /* driver_common.c */ void wpa_scan_results_free(struct wpa_scan_results *res); +int ieee802_11_start_channel_switch(struct hostapd_data *hapd, + int freq, u8 radar_detected); /* Convert wpa_event_type to a string for logging */ const char * event_to_string(enum wpa_event_type event); |