diff --git a/hostapd/config.h b/hostapd/config.h index 6844bd489..2c6e5fe8b 100644 --- a/hostapd/config.h +++ b/hostapd/config.h @@ -20,10 +20,6 @@ #include "ip_addr.h" #include "wpa_common.h" -#ifndef IFNAMSIZ -#define IFNAMSIZ 16 -#endif - typedef u8 macaddr[ETH_ALEN]; struct mac_acl_entry { diff --git a/hostapd/hostapd.h b/hostapd/hostapd.h index d0cec3992..511f61792 100644 --- a/hostapd/hostapd.h +++ b/hostapd/hostapd.h @@ -20,6 +20,8 @@ #include "common.h" #include "hostapd_defs.h" +#define MAX_VLAN_ID 4094 + struct wpa_driver_ops; struct wpa_ctrl_dst; struct radius_server_data; diff --git a/hostapd/hostapd_defs.h b/hostapd/hostapd_defs.h index d18483ae8..5e3ddb2af 100644 --- a/hostapd/hostapd_defs.h +++ b/hostapd/hostapd_defs.h @@ -16,62 +16,6 @@ #ifndef HOSTAPD_DEFS_H #define HOSTAPD_DEFS_H -#ifndef ETH_ALEN -#define ETH_ALEN 6 -#endif -#ifndef IFNAMSIZ -#define IFNAMSIZ 16 -#endif -#ifndef ETH_P_ALL -#define ETH_P_ALL 0x0003 -#endif -#ifndef ETH_P_PAE -#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */ -#endif /* ETH_P_PAE */ -#ifndef ETH_P_EAPOL -#define ETH_P_EAPOL ETH_P_PAE -#endif /* ETH_P_EAPOL */ - -#ifndef ETH_P_RRB -#define ETH_P_RRB 0x890D -#endif /* ETH_P_RRB */ - -#ifdef _MSC_VER -#pragma pack(push, 1) -#endif /* _MSC_VER */ - -#define MAX_VLAN_ID 4094 - -struct ieee8023_hdr { - u8 dest[6]; - u8 src[6]; - u16 ethertype; -} STRUCT_PACKED; - - -struct ieee80211_hdr { - le16 frame_control; - le16 duration_id; - u8 addr1[6]; - u8 addr2[6]; - u8 addr3[6]; - le16 seq_ctrl; - /* followed by 'u8 addr4[6];' if ToDS and FromDS is set in data frame - */ -} STRUCT_PACKED; - -#ifdef _MSC_VER -#pragma pack(pop) -#endif /* _MSC_VER */ - -#define IEEE80211_DA_FROMDS addr1 -#define IEEE80211_BSSID_FROMDS addr2 -#define IEEE80211_SA_FROMDS addr3 - -#define IEEE80211_HDRLEN (sizeof(struct ieee80211_hdr)) - -#define IEEE80211_FC(type, stype) host_to_le16((type << 2) | (stype << 4)) - /* MTU to be set for the wlan#ap device; this is mainly needed for IEEE 802.1X * frames that might be longer than normal default MTU and they are not * fragmented */ diff --git a/hostapd/wpa.h b/hostapd/wpa.h index 323b48f81..824c2e435 100644 --- a/hostapd/wpa.h +++ b/hostapd/wpa.h @@ -45,10 +45,6 @@ struct ft_rrb_frame { #define FT_PACKET_R0KH_R1KH_RESP 201 #define FT_PACKET_R0KH_R1KH_PUSH 202 -#ifndef ETH_P_RRB -#define ETH_P_RRB 0x890D -#endif /* ETH_P_RRB */ - #define FT_R0KH_R1KH_PULL_DATA_LEN 44 #define FT_R0KH_R1KH_RESP_DATA_LEN 76 #define FT_R0KH_R1KH_PUSH_DATA_LEN 80 diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h index 1a8701b86..88eb48ebe 100644 --- a/src/common/ieee802_11_defs.h +++ b/src/common/ieee802_11_defs.h @@ -237,6 +237,25 @@ #pragma pack(push, 1) #endif /* _MSC_VER */ +struct ieee80211_hdr { + le16 frame_control; + le16 duration_id; + u8 addr1[6]; + u8 addr2[6]; + u8 addr3[6]; + le16 seq_ctrl; + /* followed by 'u8 addr4[6];' if ToDS and FromDS is set in data frame + */ +} STRUCT_PACKED; + +#define IEEE80211_DA_FROMDS addr1 +#define IEEE80211_BSSID_FROMDS addr2 +#define IEEE80211_SA_FROMDS addr3 + +#define IEEE80211_HDRLEN (sizeof(struct ieee80211_hdr)) + +#define IEEE80211_FC(type, stype) host_to_le16((type << 2) | (stype << 4)) + struct ieee80211_mgmt { le16 frame_control; le16 duration; diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 13cf5e478..37f2a4395 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -36,7 +36,6 @@ #include "radiotap.h" #include "radiotap_iter.h" -#include "../../hostapd/hostapd_defs.h" #include "../../hostapd/sta_flags.h" #endif /* CONFIG_AP || HOSTAPD */ diff --git a/src/drivers/driver_roboswitch.c b/src/drivers/driver_roboswitch.c index e9867b0db..aab6bc00d 100644 --- a/src/drivers/driver_roboswitch.c +++ b/src/drivers/driver_roboswitch.c @@ -23,10 +23,6 @@ #include "driver.h" #include "l2_packet/l2_packet.h" -#ifndef ETH_P_EAPOL -#define ETH_P_EAPOL 0x888e -#endif - #define ROBO_PHY_ADDR 0x1e /* RoboSwitch PHY address */ /* MII access registers */ diff --git a/src/drivers/driver_wired.c b/src/drivers/driver_wired.c index 667ed4bb8..61ec1e5a3 100644 --- a/src/drivers/driver_wired.c +++ b/src/drivers/driver_wired.c @@ -30,10 +30,23 @@ #ifdef HOSTAPD #include "eloop.h" -#include "../../hostapd/hostapd_defs.h" #include "../../hostapd/sta_info.h" #endif /* HOSTAPD */ +#ifdef _MSC_VER +#pragma pack(push, 1) +#endif /* _MSC_VER */ + +struct ieee8023_hdr { + u8 dest[6]; + u8 src[6]; + u16 ethertype; +} STRUCT_PACKED; + +#ifdef _MSC_VER +#pragma pack(pop) +#endif /* _MSC_VER */ + static const u8 pae_group_addr[ETH_ALEN] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x03 }; diff --git a/src/rsn_supp/wpa.h b/src/rsn_supp/wpa.h index 29a80afeb..cd503bb58 100644 --- a/src/rsn_supp/wpa.h +++ b/src/rsn_supp/wpa.h @@ -19,14 +19,6 @@ #include "eapol_common.h" #include "wpa_common.h" -#ifndef ETH_P_EAPOL -#define ETH_P_EAPOL 0x888e -#endif - -#ifndef ETH_P_RSN_PREAUTH -#define ETH_P_RSN_PREAUTH 0x88c7 -#endif - struct wpa_sm; struct eapol_sm; struct wpa_config_blob; diff --git a/src/utils/common.h b/src/utils/common.h index d649391e3..71cb8d9e3 100644 --- a/src/utils/common.h +++ b/src/utils/common.h @@ -314,6 +314,24 @@ static inline unsigned int wpa_swap_32(unsigned int v) #ifndef ETH_ALEN #define ETH_ALEN 6 #endif +#ifndef IFNAMSIZ +#define IFNAMSIZ 16 +#endif +#ifndef ETH_P_ALL +#define ETH_P_ALL 0x0003 +#endif +#ifndef ETH_P_PAE +#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */ +#endif /* ETH_P_PAE */ +#ifndef ETH_P_EAPOL +#define ETH_P_EAPOL ETH_P_PAE +#endif /* ETH_P_EAPOL */ +#ifndef ETH_P_RSN_PREAUTH +#define ETH_P_RSN_PREAUTH 0x88c7 +#endif /* ETH_P_RSN_PREAUTH */ +#ifndef ETH_P_RRB +#define ETH_P_RRB 0x890D +#endif /* ETH_P_RRB */ #ifdef __GNUC__ diff --git a/wpa_supplicant/wpa_priv.c b/wpa_supplicant/wpa_priv.c index 4d4224cc0..cfab9ea40 100644 --- a/wpa_supplicant/wpa_priv.c +++ b/wpa_supplicant/wpa_priv.c @@ -27,14 +27,6 @@ #include "privsep_commands.h" #include "ieee802_11_defs.h" -#ifndef ETH_P_EAPOL -#define ETH_P_EAPOL 0x888e -#endif - -#ifndef ETH_P_RSN_PREAUTH -#define ETH_P_RSN_PREAUTH 0x88c7 -#endif - struct wpa_priv_interface { struct wpa_priv_interface *next;