1051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt/*
2051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt * DFS - Dynamic Frequency Selection
3051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt * Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
4d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt * Copyright (c) 2013-2017, Qualcomm Atheros, Inc.
5051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt *
6051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
7051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt * See README for more details.
8051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt */
9051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt#ifndef DFS_H
10051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt#define DFS_H
11051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt
12cce06667447b5aec83452adb0c15100ada531095Dmitry Shmidtint hostapd_handle_dfs(struct hostapd_iface *iface);
13051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt
14cce06667447b5aec83452adb0c15100ada531095Dmitry Shmidtint hostapd_dfs_complete_cac(struct hostapd_iface *iface, int success, int freq,
15051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			     int ht_enabled, int chan_offset, int chan_width,
16051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			     int cf1, int cf2);
17d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidtint hostapd_dfs_pre_cac_expired(struct hostapd_iface *iface, int freq,
18d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt				int ht_enabled, int chan_offset, int chan_width,
19d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt				int cf1, int cf2);
20cce06667447b5aec83452adb0c15100ada531095Dmitry Shmidtint hostapd_dfs_radar_detected(struct hostapd_iface *iface, int freq,
21051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			       int ht_enabled,
22051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			       int chan_offset, int chan_width,
23051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			       int cf1, int cf2);
24cce06667447b5aec83452adb0c15100ada531095Dmitry Shmidtint hostapd_dfs_nop_finished(struct hostapd_iface *iface, int freq,
25051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			     int ht_enabled,
26051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt			     int chan_offset, int chan_width, int cf1, int cf2);
27f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidtint hostapd_is_dfs_required(struct hostapd_iface *iface);
28203eadb9eda41a1dde4a583edb4684319e3f399eDmitry Shmidtint hostapd_dfs_start_cac(struct hostapd_iface *iface, int freq,
29203eadb9eda41a1dde4a583edb4684319e3f399eDmitry Shmidt			  int ht_enabled, int chan_offset, int chan_width,
30203eadb9eda41a1dde4a583edb4684319e3f399eDmitry Shmidt			  int cf1, int cf2);
31203eadb9eda41a1dde4a583edb4684319e3f399eDmitry Shmidtint hostapd_handle_dfs_offload(struct hostapd_iface *iface);
32051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt
33051af73b8f8014eff33330aead0f36944b3403e6Dmitry Shmidt#endif /* DFS_H */
34