blob: 7498909852939b8494b421074f664d71d5160cff [file] [log] [blame]
/**
Copyright (c) 2008 - 2013 Quantenna Communications Inc
All Rights Reserved
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
#ifndef _QDRV_RADAR_H_
#define _QDRV_RADAR_H_
#define QDRV_RADAR_DFLT_CHANSW_MS 50 /* msecs */
#define QDRV_RADAR_DFLT_NONOCCUPY_PERIOD 1800 /* secs */
int qdrv_radar_init(struct qdrv_mac* mac);
int qdrv_radar_exit(struct qdrv_mac* mac);
int qdrv_radar_unload(struct qdrv_mac *mac);
void qdrv_radar_enable(const char* region);
void qdrv_radar_disable(void);
void qdrv_sta_set_xmit(int enable);
void qdrv_set_radar(int enable);
void qdrv_radar_detected(struct ieee80211com* ic, u_int8_t new_ieee);
int qdrv_radar_can_sample_chan(void);
int qdrv_radar_test_mode_enabled(void);
void qdrv_radar_before_newchan(void);
void qdrv_radar_on_newchan(void);
void qdrv_radar_stop_active_cac(void);
void sta_dfs_cac_action(struct ieee80211_channel *chan);
int qdrv_radar_detections_num(uint32_t chan);
bool qdrv_radar_is_rdetection_required(const struct ieee80211_channel *chan);
bool qdrv_dfs_is_eu_region(void);
void qdrv_dfs_action_scan_done(void);
struct ieee80211_channel * qdrv_radar_get_current_cac_chan(void);
void qdrv_radar_enable_radar_detection(void);
void sys_enable_xmit(void);
void sys_disable_xmit(void);
#endif