Introduce common hw features
Introduce wpa_supplicant/hostapd hw features. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
This commit is contained in:
parent
1830817ece
commit
269dfe232b
6 changed files with 109 additions and 0 deletions
|
@ -134,6 +134,7 @@ OBJS += src/utils/ip_addr.c
|
||||||
|
|
||||||
OBJS += src/common/ieee802_11_common.c
|
OBJS += src/common/ieee802_11_common.c
|
||||||
OBJS += src/common/wpa_common.c
|
OBJS += src/common/wpa_common.c
|
||||||
|
OBJS += src/common/hw_features_common.c
|
||||||
|
|
||||||
OBJS += src/eapol_auth/eapol_auth_sm.c
|
OBJS += src/eapol_auth/eapol_auth_sm.c
|
||||||
|
|
||||||
|
|
|
@ -115,6 +115,7 @@ OBJS += ../src/utils/ip_addr.o
|
||||||
|
|
||||||
OBJS += ../src/common/ieee802_11_common.o
|
OBJS += ../src/common/ieee802_11_common.o
|
||||||
OBJS += ../src/common/wpa_common.o
|
OBJS += ../src/common/wpa_common.o
|
||||||
|
OBJS += ../src/common/hw_features_common.o
|
||||||
|
|
||||||
OBJS += ../src/eapol_auth/eapol_auth_sm.o
|
OBJS += ../src/eapol_auth/eapol_auth_sm.o
|
||||||
|
|
||||||
|
|
82
src/common/hw_features_common.c
Normal file
82
src/common/hw_features_common.c
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
/*
|
||||||
|
* Common hostapd/wpa_supplicant HW features
|
||||||
|
* Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
|
||||||
|
* Copyright (c) 2015, Qualcomm Atheros, Inc.
|
||||||
|
*
|
||||||
|
* This software may be distributed under the terms of the BSD license.
|
||||||
|
* See README for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "includes.h"
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "defs.h"
|
||||||
|
#include "hw_features_common.h"
|
||||||
|
|
||||||
|
|
||||||
|
struct hostapd_channel_data * hw_get_channel_chan(struct hostapd_hw_modes *mode,
|
||||||
|
int chan, int *freq)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (freq)
|
||||||
|
*freq = 0;
|
||||||
|
|
||||||
|
if (!mode)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
for (i = 0; i < mode->num_channels; i++) {
|
||||||
|
struct hostapd_channel_data *ch = &mode->channels[i];
|
||||||
|
if (ch->chan == chan) {
|
||||||
|
if (freq)
|
||||||
|
*freq = ch->freq;
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct hostapd_channel_data * hw_get_channel_freq(struct hostapd_hw_modes *mode,
|
||||||
|
int freq, int *chan)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (chan)
|
||||||
|
*chan = 0;
|
||||||
|
|
||||||
|
if (!mode)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
for (i = 0; i < mode->num_channels; i++) {
|
||||||
|
struct hostapd_channel_data *ch = &mode->channels[i];
|
||||||
|
if (ch->freq == freq) {
|
||||||
|
if (chan)
|
||||||
|
*chan = ch->chan;
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int hw_get_freq(struct hostapd_hw_modes *mode, int chan)
|
||||||
|
{
|
||||||
|
int freq;
|
||||||
|
|
||||||
|
hw_get_channel_chan(mode, chan, &freq);
|
||||||
|
|
||||||
|
return freq;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int hw_get_chan(struct hostapd_hw_modes *mode, int freq)
|
||||||
|
{
|
||||||
|
int chan;
|
||||||
|
|
||||||
|
hw_get_channel_freq(mode, freq, &chan);
|
||||||
|
|
||||||
|
return chan;
|
||||||
|
}
|
23
src/common/hw_features_common.h
Normal file
23
src/common/hw_features_common.h
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* Common hostapd/wpa_supplicant HW features
|
||||||
|
* Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
|
||||||
|
* Copyright (c) 2015, Qualcomm Atheros, Inc.
|
||||||
|
*
|
||||||
|
* This software may be distributed under the terms of the BSD license.
|
||||||
|
* See README for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef HW_FEATURES_COMMON_H
|
||||||
|
#define HW_FEATURES_COMMON_H
|
||||||
|
|
||||||
|
#include "drivers/driver.h"
|
||||||
|
|
||||||
|
struct hostapd_channel_data * hw_get_channel_chan(struct hostapd_hw_modes *mode,
|
||||||
|
int chan, int *freq);
|
||||||
|
struct hostapd_channel_data * hw_get_channel_freq(struct hostapd_hw_modes *mode,
|
||||||
|
int freq, int *chan);
|
||||||
|
|
||||||
|
int hw_get_freq(struct hostapd_hw_modes *mode, int chan);
|
||||||
|
int hw_get_chan(struct hostapd_hw_modes *mode, int freq);
|
||||||
|
|
||||||
|
#endif /* HW_FEATURES_COMMON_H */
|
|
@ -1401,6 +1401,7 @@ L_CFLAGS += -DCONFIG_SME
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJS += src/common/ieee802_11_common.c
|
OBJS += src/common/ieee802_11_common.c
|
||||||
|
OBJS += src/common/hw_features_common.c
|
||||||
|
|
||||||
ifdef NEED_EAP_COMMON
|
ifdef NEED_EAP_COMMON
|
||||||
OBJS += src/eap_common/eap_common.c
|
OBJS += src/eap_common/eap_common.c
|
||||||
|
|
|
@ -1421,6 +1421,7 @@ CFLAGS += -DCONFIG_SME
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJS += ../src/common/ieee802_11_common.o
|
OBJS += ../src/common/ieee802_11_common.o
|
||||||
|
OBJS += ../src/common/hw_features_common.o
|
||||||
|
|
||||||
ifdef NEED_EAP_COMMON
|
ifdef NEED_EAP_COMMON
|
||||||
OBJS += ../src/eap_common/eap_common.o
|
OBJS += ../src/eap_common/eap_common.o
|
||||||
|
|
Loading…
Reference in a new issue