Fix function/variable name
Prepared to management the IEEE802.11 Management Frame coming from the AC.
This commit is contained in:
@ -284,6 +284,69 @@ int ieee80211_is_broadcast_addr(const uint8_t* addr) {
|
||||
return (((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)) ? 1 : 0);
|
||||
}
|
||||
|
||||
/* */
|
||||
const uint8_t* ieee80211_get_sa_addr(const struct ieee80211_header* header) {
|
||||
uint16_t framecontrol;
|
||||
uint16_t framecontrol_type;
|
||||
|
||||
ASSERT(header);
|
||||
|
||||
/* Get type frame */
|
||||
framecontrol = __le16_to_cpu(header->framecontrol);
|
||||
framecontrol_type = IEEE80211_FRAME_CONTROL_GET_TYPE(framecontrol);
|
||||
|
||||
if (framecontrol_type == IEEE80211_FRAMECONTROL_TYPE_MGMT) {
|
||||
return header->address2;
|
||||
} else if (framecontrol_type == IEEE80211_FRAMECONTROL_TYPE_DATA) {
|
||||
switch (framecontrol & (IEEE80211_FRAME_CONTROL_MASK_TODS | IEEE80211_FRAME_CONTROL_MASK_FROMDS)) {
|
||||
case 0: {
|
||||
return header->address2;
|
||||
}
|
||||
|
||||
case IEEE80211_FRAME_CONTROL_MASK_TODS: {
|
||||
return header->address2;
|
||||
}
|
||||
|
||||
case IEEE80211_FRAME_CONTROL_MASK_FROMDS: {
|
||||
return header->address3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const uint8_t* ieee80211_get_da_addr(const struct ieee80211_header* header) {
|
||||
uint16_t framecontrol;
|
||||
uint16_t framecontrol_type;
|
||||
|
||||
ASSERT(header);
|
||||
|
||||
/* Get type frame */
|
||||
framecontrol = __le16_to_cpu(header->framecontrol);
|
||||
framecontrol_type = IEEE80211_FRAME_CONTROL_GET_TYPE(framecontrol);
|
||||
|
||||
if (framecontrol_type == IEEE80211_FRAMECONTROL_TYPE_MGMT) {
|
||||
return header->address1;
|
||||
} else if (framecontrol_type == IEEE80211_FRAMECONTROL_TYPE_DATA) {
|
||||
switch (framecontrol & (IEEE80211_FRAME_CONTROL_MASK_TODS | IEEE80211_FRAME_CONTROL_MASK_FROMDS)) {
|
||||
case 0: {
|
||||
return header->address1;
|
||||
}
|
||||
|
||||
case IEEE80211_FRAME_CONTROL_MASK_TODS: {
|
||||
return header->address3;
|
||||
}
|
||||
|
||||
case IEEE80211_FRAME_CONTROL_MASK_FROMDS: {
|
||||
return header->address1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* */
|
||||
const uint8_t* ieee80211_get_bssid_addr(const struct ieee80211_header* header) {
|
||||
uint16_t framecontrol;
|
||||
|
@ -584,6 +584,10 @@ int ieee80211_create_deauthentication(uint8_t* buffer, int length, struct ieee80
|
||||
int ieee80211_retrieve_information_elements_position(struct ieee80211_ie_items* items, const uint8_t* data, int length);
|
||||
unsigned long ieee80211_frequency_to_channel(uint32_t freq);
|
||||
int ieee80211_is_broadcast_addr(const uint8_t* addr);
|
||||
|
||||
/* */
|
||||
const uint8_t* ieee80211_get_sa_addr(const struct ieee80211_header* header);
|
||||
const uint8_t* ieee80211_get_da_addr(const struct ieee80211_header* header);
|
||||
const uint8_t* ieee80211_get_bssid_addr(const struct ieee80211_header* header);
|
||||
|
||||
/* */
|
||||
|
Reference in New Issue
Block a user