1214501Srpaulo/* 2214501Srpaulo * hostapd - Driver operations 3214501Srpaulo * Copyright (c) 2009, Jouni Malinen <j@w1.fi> 4214501Srpaulo * 5214501Srpaulo * This program is free software; you can redistribute it and/or modify 6214501Srpaulo * it under the terms of the GNU General Public License version 2 as 7214501Srpaulo * published by the Free Software Foundation. 8214501Srpaulo * 9214501Srpaulo * Alternatively, this software may be distributed under the terms of BSD 10214501Srpaulo * license. 11214501Srpaulo * 12214501Srpaulo * See README and COPYING for more details. 13214501Srpaulo */ 14214501Srpaulo 15214501Srpaulo#ifndef AP_DRV_OPS 16214501Srpaulo#define AP_DRV_OPS 17214501Srpaulo 18214501Srpauloenum wpa_driver_if_type; 19214501Srpaulostruct wpa_bss_params; 20214501Srpaulostruct wpa_driver_scan_params; 21214501Srpaulo 22214501Srpaulovoid hostapd_set_driver_ops(struct hostapd_driver_ops *ops); 23214501Srpauloint hostapd_set_privacy(struct hostapd_data *hapd, int enabled); 24214501Srpauloint hostapd_set_generic_elem(struct hostapd_data *hapd, const u8 *elem, 25214501Srpaulo size_t elem_len); 26214501Srpauloint hostapd_get_ssid(struct hostapd_data *hapd, u8 *buf, size_t len); 27214501Srpauloint hostapd_set_ssid(struct hostapd_data *hapd, const u8 *buf, size_t len); 28214501Srpauloint hostapd_if_add(struct hostapd_data *hapd, enum wpa_driver_if_type type, 29214501Srpaulo const char *ifname, const u8 *addr, void *bss_ctx, 30214501Srpaulo void **drv_priv, char *force_ifname, u8 *if_addr); 31214501Srpauloint hostapd_if_remove(struct hostapd_data *hapd, enum wpa_driver_if_type type, 32214501Srpaulo const char *ifname); 33214501Srpauloint hostapd_set_ieee8021x(struct hostapd_data *hapd, 34214501Srpaulo struct wpa_bss_params *params); 35214501Srpauloint hostapd_get_seqnum(const char *ifname, struct hostapd_data *hapd, 36214501Srpaulo const u8 *addr, int idx, u8 *seq); 37214501Srpauloint hostapd_flush(struct hostapd_data *hapd); 38214501Srpauloint hostapd_set_freq(struct hostapd_data *hapd, int mode, int freq, 39214501Srpaulo int channel, int ht_enabled, int sec_channel_offset); 40214501Srpauloint hostapd_set_rts(struct hostapd_data *hapd, int rts); 41214501Srpauloint hostapd_set_frag(struct hostapd_data *hapd, int frag); 42214501Srpauloint hostapd_sta_set_flags(struct hostapd_data *hapd, u8 *addr, 43214501Srpaulo int total_flags, int flags_or, int flags_and); 44214501Srpauloint hostapd_set_rate_sets(struct hostapd_data *hapd, int *supp_rates, 45214501Srpaulo int *basic_rates, int mode); 46214501Srpauloint hostapd_set_country(struct hostapd_data *hapd, const char *country); 47214501Srpauloint hostapd_set_cts_protect(struct hostapd_data *hapd, int value); 48214501Srpauloint hostapd_set_preamble(struct hostapd_data *hapd, int value); 49214501Srpauloint hostapd_set_short_slot_time(struct hostapd_data *hapd, int value); 50214501Srpauloint hostapd_set_tx_queue_params(struct hostapd_data *hapd, int queue, int aifs, 51214501Srpaulo int cw_min, int cw_max, int burst_time); 52214501Srpauloint hostapd_valid_bss_mask(struct hostapd_data *hapd, const u8 *addr, 53214501Srpaulo const u8 *mask); 54214501Srpaulostruct hostapd_hw_modes * 55214501Srpaulohostapd_get_hw_feature_data(struct hostapd_data *hapd, u16 *num_modes, 56214501Srpaulo u16 *flags); 57214501Srpauloint hostapd_driver_commit(struct hostapd_data *hapd); 58214501Srpauloint hostapd_set_ht_params(struct hostapd_data *hapd, 59214501Srpaulo const u8 *ht_capab, size_t ht_capab_len, 60214501Srpaulo const u8 *ht_oper, size_t ht_oper_len); 61214501Srpauloint hostapd_drv_none(struct hostapd_data *hapd); 62214501Srpauloint hostapd_driver_scan(struct hostapd_data *hapd, 63214501Srpaulo struct wpa_driver_scan_params *params); 64214501Srpaulostruct wpa_scan_results * hostapd_driver_get_scan_results( 65214501Srpaulo struct hostapd_data *hapd); 66214501Srpaulo 67214501Srpaulo#endif /* AP_DRV_OPS */ 68