1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/*
2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * hostapd / Hardware feature query and different modes
3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Copyright 2002-2003, Instant802 Networks, Inc.
4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Copyright 2005-2006, Devicescape Software, Inc.
5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Copyright (c) 2008-2011, Jouni Malinen <j@w1.fi>
6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *
7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * This software may be distributed under the terms of the BSD license.
8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * See README for more details.
9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */
10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
11b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifndef HW_FEATURES_H
12b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#define HW_FEATURES_H
13b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
14b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifdef NEED_AP_MLME
15b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
16b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org			      size_t num_hw_features);
17b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_get_hw_features(struct hostapd_iface *iface);
18b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_acs_completed(struct hostapd_iface *iface, int err);
19b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_select_hw_mode(struct hostapd_iface *iface);
20b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgconst char * hostapd_hw_mode_txt(int mode);
21b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
22b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
23b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_check_ht_capab(struct hostapd_iface *iface);
24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint hostapd_prepare_rates(struct hostapd_iface *iface,
25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org			  struct hostapd_hw_modes *mode);
26fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgvoid hostapd_stop_setup_timers(struct hostapd_iface *iface);
27fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org#else /* NEED_AP_MLME */
28b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgstatic inline void
29fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orghostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
30b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org			 size_t num_hw_features)
31b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
33b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgstatic inline int hostapd_get_hw_features(struct hostapd_iface *iface)
35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
36fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org	return -1;
37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
38fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org
39fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgstatic inline int hostapd_select_hw_mode(struct hostapd_iface *iface)
40b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
41fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org	return -100;
42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
43b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgstatic inline const char * hostapd_hw_mode_txt(int mode)
45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
46fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org	return NULL;
47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
48b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgstatic inline int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
51b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org	return -1;
52fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org}
53fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org
54b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgstatic inline int hostapd_check_ht_capab(struct hostapd_iface *iface)
55b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
56b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org	return 0;
57b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
58b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
59fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgstatic inline int hostapd_prepare_rates(struct hostapd_iface *iface,
60fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.org					struct hostapd_hw_modes *mode)
61b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{
62b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org	return 0;
63b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
64
65static inline void hostapd_stop_setup_timers(struct hostapd_iface *iface)
66{
67}
68
69#endif /* NEED_AP_MLME */
70
71#endif /* HW_FEATURES_H */
72