} else if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_FROMDS && 
} else if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) == IEEE80211_FCTL_FROMDS && 
static int hostap_is_eapol_frame(local_info_t *local, struct sk_buff *skb){	struct net_device *dev = local->dev;	u16 fc, ethertype;	struct ieee80211_hdr *hdr;	u8 *pos;	if (skb->len < 24)		return 0;	hdr = (struct ieee80211_hdr *) skb->data;	fc = le16_to_cpu(hdr->frame_ctl);	/* check that the frame is unicast frame to us */	if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_TODS &&	    memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0 &&	    memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) {		/* ToDS frame with own addr BSSID and DA */	} else if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_FROMDS &&		   memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0) {		/* FromDS frame with own addr as DA */	} else		return 0;	if (skb->len < 24 + 8)		return 0;	/* check for port access entity Ethernet type */	pos = skb->data + 24;	ethertype = (pos[6] << 8) | pos[7];	if (ethertype == ETH_P_PAE)		return 1;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b2f4a2e3b1620667da9654f9e220c92ea52bdbe4/hostap_80211_rx.c/clean/drivers/net/wireless/hostap/hostap_80211_rx.c