require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_NET80211_IEEE80211_H_)) {
    eval 'sub _NET80211_IEEE80211_H_ () {1;}' unless defined(&_NET80211_IEEE80211_H_);
    eval 'sub IEEE80211_ADDR_LEN () {6;}' unless defined(&IEEE80211_ADDR_LEN);
    eval 'sub IEEE80211_IS_MULTICAST {
        my($_a) = @_;
	    eval q((*($_a) & 0x1));
    }' unless defined(&IEEE80211_IS_MULTICAST);
    eval 'sub IEEE80211_PLCP_SFD () {0xf3a0;}' unless defined(&IEEE80211_PLCP_SFD);
    eval 'sub IEEE80211_PLCP_SERVICE () {0x;}' unless defined(&IEEE80211_PLCP_SERVICE);
    eval 'sub IEEE80211_PLCP_SERVICE_PBCC () {0x8;}' unless defined(&IEEE80211_PLCP_SERVICE_PBCC);
    eval 'sub IEEE80211_PLCP_SERVICE_LENEXT () {0x80;}' unless defined(&IEEE80211_PLCP_SERVICE_LENEXT);
    eval 'sub MNF_SETUP_REQ () {0;}' unless defined(&MNF_SETUP_REQ);
    eval 'sub MNF_SETUP_RESP () {1;}' unless defined(&MNF_SETUP_RESP);
    eval 'sub MNF_TEARDOWN () {2;}' unless defined(&MNF_TEARDOWN);
    eval 'sub IEEE80211_FC0_VERSION_MASK () {0x3;}' unless defined(&IEEE80211_FC0_VERSION_MASK);
    eval 'sub IEEE80211_FC0_VERSION_SHIFT () {0;}' unless defined(&IEEE80211_FC0_VERSION_SHIFT);
    eval 'sub IEEE80211_FC0_VERSION_0 () {0x;}' unless defined(&IEEE80211_FC0_VERSION_0);
    eval 'sub IEEE80211_FC0_TYPE_MASK () {0xc;}' unless defined(&IEEE80211_FC0_TYPE_MASK);
    eval 'sub IEEE80211_FC0_TYPE_SHIFT () {2;}' unless defined(&IEEE80211_FC0_TYPE_SHIFT);
    eval 'sub IEEE80211_FC0_TYPE_MGT () {0x;}' unless defined(&IEEE80211_FC0_TYPE_MGT);
    eval 'sub IEEE80211_FC0_TYPE_CTL () {0x4;}' unless defined(&IEEE80211_FC0_TYPE_CTL);
    eval 'sub IEEE80211_FC0_TYPE_DATA () {0x8;}' unless defined(&IEEE80211_FC0_TYPE_DATA);
    eval 'sub IEEE80211_FC0_SUBTYPE_MASK () {0xf0;}' unless defined(&IEEE80211_FC0_SUBTYPE_MASK);
    eval 'sub IEEE80211_FC0_SUBTYPE_SHIFT () {4;}' unless defined(&IEEE80211_FC0_SUBTYPE_SHIFT);
    eval 'sub IEEE80211_FC0_SUBTYPE_ASSOC_REQ () {0x;}' unless defined(&IEEE80211_FC0_SUBTYPE_ASSOC_REQ);
    eval 'sub IEEE80211_FC0_SUBTYPE_ASSOC_RESP () {0x10;}' unless defined(&IEEE80211_FC0_SUBTYPE_ASSOC_RESP);
    eval 'sub IEEE80211_FC0_SUBTYPE_REASSOC_REQ () {0x20;}' unless defined(&IEEE80211_FC0_SUBTYPE_REASSOC_REQ);
    eval 'sub IEEE80211_FC0_SUBTYPE_REASSOC_RESP () {0x30;}' unless defined(&IEEE80211_FC0_SUBTYPE_REASSOC_RESP);
    eval 'sub IEEE80211_FC0_SUBTYPE_PROBE_REQ () {0x40;}' unless defined(&IEEE80211_FC0_SUBTYPE_PROBE_REQ);
    eval 'sub IEEE80211_FC0_SUBTYPE_PROBE_RESP () {0x50;}' unless defined(&IEEE80211_FC0_SUBTYPE_PROBE_RESP);
    eval 'sub IEEE80211_FC0_SUBTYPE_BEACON () {0x80;}' unless defined(&IEEE80211_FC0_SUBTYPE_BEACON);
    eval 'sub IEEE80211_FC0_SUBTYPE_ATIM () {0x90;}' unless defined(&IEEE80211_FC0_SUBTYPE_ATIM);
    eval 'sub IEEE80211_FC0_SUBTYPE_DISASSOC () {0xa0;}' unless defined(&IEEE80211_FC0_SUBTYPE_DISASSOC);
    eval 'sub IEEE80211_FC0_SUBTYPE_AUTH () {0xb0;}' unless defined(&IEEE80211_FC0_SUBTYPE_AUTH);
    eval 'sub IEEE80211_FC0_SUBTYPE_DEAUTH () {0xc0;}' unless defined(&IEEE80211_FC0_SUBTYPE_DEAUTH);
    eval 'sub IEEE80211_FC0_SUBTYPE_PS_POLL () {0xa0;}' unless defined(&IEEE80211_FC0_SUBTYPE_PS_POLL);
    eval 'sub IEEE80211_FC0_SUBTYPE_RTS () {0xb0;}' unless defined(&IEEE80211_FC0_SUBTYPE_RTS);
    eval 'sub IEEE80211_FC0_SUBTYPE_CTS () {0xc0;}' unless defined(&IEEE80211_FC0_SUBTYPE_CTS);
    eval 'sub IEEE80211_FC0_SUBTYPE_ACK () {0xd0;}' unless defined(&IEEE80211_FC0_SUBTYPE_ACK);
    eval 'sub IEEE80211_FC0_SUBTYPE_CF_END () {0xe0;}' unless defined(&IEEE80211_FC0_SUBTYPE_CF_END);
    eval 'sub IEEE80211_FC0_SUBTYPE_CF_END_ACK () {0xf0;}' unless defined(&IEEE80211_FC0_SUBTYPE_CF_END_ACK);
    eval 'sub IEEE80211_FC0_SUBTYPE_DATA () {0x;}' unless defined(&IEEE80211_FC0_SUBTYPE_DATA);
    eval 'sub IEEE80211_FC0_SUBTYPE_CF_ACK () {0x10;}' unless defined(&IEEE80211_FC0_SUBTYPE_CF_ACK);
    eval 'sub IEEE80211_FC0_SUBTYPE_CF_POLL () {0x20;}' unless defined(&IEEE80211_FC0_SUBTYPE_CF_POLL);
    eval 'sub IEEE80211_FC0_SUBTYPE_CF_ACPL () {0x30;}' unless defined(&IEEE80211_FC0_SUBTYPE_CF_ACPL);
    eval 'sub IEEE80211_FC0_SUBTYPE_NODATA () {0x40;}' unless defined(&IEEE80211_FC0_SUBTYPE_NODATA);
    eval 'sub IEEE80211_FC0_SUBTYPE_CFACK () {0x50;}' unless defined(&IEEE80211_FC0_SUBTYPE_CFACK);
    eval 'sub IEEE80211_FC0_SUBTYPE_CFPOLL () {0x60;}' unless defined(&IEEE80211_FC0_SUBTYPE_CFPOLL);
    eval 'sub IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK () {0x70;}' unless defined(&IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK);
    eval 'sub IEEE80211_FC0_SUBTYPE_QOS () {0x80;}' unless defined(&IEEE80211_FC0_SUBTYPE_QOS);
    eval 'sub IEEE80211_FC1_DIR_MASK () {0x3;}' unless defined(&IEEE80211_FC1_DIR_MASK);
    eval 'sub IEEE80211_FC1_DIR_NODS () {0x;}' unless defined(&IEEE80211_FC1_DIR_NODS);
    eval 'sub IEEE80211_FC1_DIR_TODS () {0x1;}' unless defined(&IEEE80211_FC1_DIR_TODS);
    eval 'sub IEEE80211_FC1_DIR_FROMDS () {0x2;}' unless defined(&IEEE80211_FC1_DIR_FROMDS);
    eval 'sub IEEE80211_FC1_DIR_DSTODS () {0x3;}' unless defined(&IEEE80211_FC1_DIR_DSTODS);
    eval 'sub IEEE80211_FC1_MORE_FRAG () {0x4;}' unless defined(&IEEE80211_FC1_MORE_FRAG);
    eval 'sub IEEE80211_FC1_RETRY () {0x8;}' unless defined(&IEEE80211_FC1_RETRY);
    eval 'sub IEEE80211_FC1_PWR_MGT () {0x10;}' unless defined(&IEEE80211_FC1_PWR_MGT);
    eval 'sub IEEE80211_FC1_MORE_DATA () {0x20;}' unless defined(&IEEE80211_FC1_MORE_DATA);
    eval 'sub IEEE80211_FC1_WEP () {0x40;}' unless defined(&IEEE80211_FC1_WEP);
    eval 'sub IEEE80211_FC1_ORDER () {0x80;}' unless defined(&IEEE80211_FC1_ORDER);
    eval 'sub IEEE80211_SEQ_FRAG_MASK () {0xf;}' unless defined(&IEEE80211_SEQ_FRAG_MASK);
    eval 'sub IEEE80211_SEQ_FRAG_SHIFT () {0;}' unless defined(&IEEE80211_SEQ_FRAG_SHIFT);
    eval 'sub IEEE80211_SEQ_SEQ_MASK () {0xfff0;}' unless defined(&IEEE80211_SEQ_SEQ_MASK);
    eval 'sub IEEE80211_SEQ_SEQ_SHIFT () {4;}' unless defined(&IEEE80211_SEQ_SEQ_SHIFT);
    eval 'sub IEEE80211_NWID_LEN () {32;}' unless defined(&IEEE80211_NWID_LEN);
    eval 'sub IEEE80211_QOS_TXOP () {0xff;}' unless defined(&IEEE80211_QOS_TXOP);
    eval 'sub IEEE80211_QOS_ACKPOLICY () {0x600;}' unless defined(&IEEE80211_QOS_ACKPOLICY);
    eval 'sub IEEE80211_QOS_ESOP () {0x800;}' unless defined(&IEEE80211_QOS_ESOP);
    eval 'sub IEEE80211_QOS_TID () {0xf000;}' unless defined(&IEEE80211_QOS_TID);
    eval 'sub IEEE80211_BEACON_INTERVAL {
        my($beacon) = @_;
	    eval q((($beacon)[8] | (($beacon)[9] << 8)));
    }' unless defined(&IEEE80211_BEACON_INTERVAL);
    eval 'sub IEEE80211_BEACON_CAPABILITY {
        my($beacon) = @_;
	    eval q((($beacon)[10] | (($beacon)[11] << 8)));
    }' unless defined(&IEEE80211_BEACON_CAPABILITY);
    eval 'sub IEEE80211_CAPINFO_ESS () {0x1;}' unless defined(&IEEE80211_CAPINFO_ESS);
    eval 'sub IEEE80211_CAPINFO_IBSS () {0x2;}' unless defined(&IEEE80211_CAPINFO_IBSS);
    eval 'sub IEEE80211_CAPINFO_CF_POLLABLE () {0x4;}' unless defined(&IEEE80211_CAPINFO_CF_POLLABLE);
    eval 'sub IEEE80211_CAPINFO_CF_POLLREQ () {0x8;}' unless defined(&IEEE80211_CAPINFO_CF_POLLREQ);
    eval 'sub IEEE80211_CAPINFO_PRIVACY () {0x10;}' unless defined(&IEEE80211_CAPINFO_PRIVACY);
    eval 'sub IEEE80211_CAPINFO_SHORT_PREAMBLE () {0x20;}' unless defined(&IEEE80211_CAPINFO_SHORT_PREAMBLE);
    eval 'sub IEEE80211_CAPINFO_PBCC () {0x40;}' unless defined(&IEEE80211_CAPINFO_PBCC);
    eval 'sub IEEE80211_CAPINFO_CHNL_AGILITY () {0x80;}' unless defined(&IEEE80211_CAPINFO_CHNL_AGILITY);
    eval 'sub IEEE80211_CAPINFO_SHORT_SLOTTIME () {0x400;}' unless defined(&IEEE80211_CAPINFO_SHORT_SLOTTIME);
    eval 'sub IEEE80211_CAPINFO_RSN () {0x800;}' unless defined(&IEEE80211_CAPINFO_RSN);
    eval 'sub IEEE80211_CAPINFO_DSSSOFDM () {0x2000;}' unless defined(&IEEE80211_CAPINFO_DSSSOFDM);
    eval 'sub IEEE80211_CAPINFO_BITS () {"\\20\\01ESS\\02IBSS\\03POLLABLE\\04POLLREQ\\05PRIVACY" "\\06SHORT_PREAMBLE\\07PBCC\\10CHNL_AGILITY" "\\13SHORT_SLOTTIME\\14RSN\\16DSSSOFDM";}' unless defined(&IEEE80211_CAPINFO_BITS);
    eval 'sub IEEE80211_CHAN_TURBO () {0x10;}' unless defined(&IEEE80211_CHAN_TURBO);
    eval 'sub IEEE80211_CHAN_CCK () {0x20;}' unless defined(&IEEE80211_CHAN_CCK);
    eval 'sub IEEE80211_CHAN_OFDM () {0x40;}' unless defined(&IEEE80211_CHAN_OFDM);
    eval 'sub IEEE80211_CHAN_2GHZ () {0x80;}' unless defined(&IEEE80211_CHAN_2GHZ);
    eval 'sub IEEE80211_CHAN_5GHZ () {0x100;}' unless defined(&IEEE80211_CHAN_5GHZ);
    eval 'sub IEEE80211_CHAN_PASSIVE () {0x200;}' unless defined(&IEEE80211_CHAN_PASSIVE);
    eval 'sub IEEE80211_CHAN_DYN () {0x400;}' unless defined(&IEEE80211_CHAN_DYN);
    eval 'sub IEEE80211_CHAN_GFSK () {0x800;}' unless defined(&IEEE80211_CHAN_GFSK);
    eval 'sub IEEE80211_CHAN_XR () {0x1000;}' unless defined(&IEEE80211_CHAN_XR);
    eval 'sub IEEE80211_CHAN_FHSS () {( &IEEE80211_CHAN_2GHZ |  &IEEE80211_CHAN_GFSK);}' unless defined(&IEEE80211_CHAN_FHSS);
    eval 'sub IEEE80211_CHAN_A () {( &IEEE80211_CHAN_5GHZ |  &IEEE80211_CHAN_OFDM);}' unless defined(&IEEE80211_CHAN_A);
    eval 'sub IEEE80211_CHAN_B () {( &IEEE80211_CHAN_2GHZ |  &IEEE80211_CHAN_CCK);}' unless defined(&IEEE80211_CHAN_B);
    eval 'sub IEEE80211_CHAN_PUREG () {( &IEEE80211_CHAN_2GHZ |  &IEEE80211_CHAN_OFDM);}' unless defined(&IEEE80211_CHAN_PUREG);
    eval 'sub IEEE80211_CHAN_G () {( &IEEE80211_CHAN_2GHZ |  &IEEE80211_CHAN_DYN);}' unless defined(&IEEE80211_CHAN_G);
    eval 'sub IEEE80211_CHAN_T () {( &IEEE80211_CHAN_5GHZ |  &IEEE80211_CHAN_OFDM |  &IEEE80211_CHAN_TURBO);}' unless defined(&IEEE80211_CHAN_T);
    eval 'sub IEEE80211_CHAN_TG () {( &IEEE80211_CHAN_2GHZ |  &IEEE80211_CHAN_OFDM |  &IEEE80211_CHAN_TURBO);}' unless defined(&IEEE80211_CHAN_TG);
    eval("sub IEEE80211_ELEMID_SSID () { 0; }") unless defined(&IEEE80211_ELEMID_SSID);
    eval("sub IEEE80211_ELEMID_RATES () { 1; }") unless defined(&IEEE80211_ELEMID_RATES);
    eval("sub IEEE80211_ELEMID_FHPARMS () { 2; }") unless defined(&IEEE80211_ELEMID_FHPARMS);
    eval("sub IEEE80211_ELEMID_DSPARMS () { 3; }") unless defined(&IEEE80211_ELEMID_DSPARMS);
    eval("sub IEEE80211_ELEMID_CFPARMS () { 4; }") unless defined(&IEEE80211_ELEMID_CFPARMS);
    eval("sub IEEE80211_ELEMID_TIM () { 5; }") unless defined(&IEEE80211_ELEMID_TIM);
    eval("sub IEEE80211_ELEMID_IBSSPARMS () { 6; }") unless defined(&IEEE80211_ELEMID_IBSSPARMS);
    eval("sub IEEE80211_ELEMID_COUNTRY () { 7; }") unless defined(&IEEE80211_ELEMID_COUNTRY);
    eval("sub IEEE80211_ELEMID_CHALLENGE () { 16; }") unless defined(&IEEE80211_ELEMID_CHALLENGE);
    eval("sub IEEE80211_ELEMID_ERP () { 42; }") unless defined(&IEEE80211_ELEMID_ERP);
    eval("sub IEEE80211_ELEMID_RSN () { 48; }") unless defined(&IEEE80211_ELEMID_RSN);
    eval("sub IEEE80211_ELEMID_XRATES () { 50; }") unless defined(&IEEE80211_ELEMID_XRATES);
    eval("sub IEEE80211_ELEMID_TPC () { 150; }") unless defined(&IEEE80211_ELEMID_TPC);
    eval("sub IEEE80211_ELEMID_CCKM () { 156; }") unless defined(&IEEE80211_ELEMID_CCKM);
    eval("sub IEEE80211_ELEMID_VENDOR () { 221; }") unless defined(&IEEE80211_ELEMID_VENDOR);
    eval 'sub IEEE80211_CHALLENGE_LEN () {128;}' unless defined(&IEEE80211_CHALLENGE_LEN);
    eval 'sub IEEE80211_RATE_BASIC () {0x80;}' unless defined(&IEEE80211_RATE_BASIC);
    eval 'sub IEEE80211_RATE_VAL () {0x7f;}' unless defined(&IEEE80211_RATE_VAL);
    eval 'sub IEEE80211_RATE_SIZE () {8;}' unless defined(&IEEE80211_RATE_SIZE);
    eval 'sub IEEE80211_RATE_MAXSIZE () {15;}' unless defined(&IEEE80211_RATE_MAXSIZE);
    eval 'sub IEEE80211_ERP_NON_ERP_PRESENT () {0x1;}' unless defined(&IEEE80211_ERP_NON_ERP_PRESENT);
    eval 'sub IEEE80211_ERP_USE_PROTECTION () {0x2;}' unless defined(&IEEE80211_ERP_USE_PROTECTION);
    eval 'sub IEEE80211_ERP_BARKER_MODE () {0x4;}' unless defined(&IEEE80211_ERP_BARKER_MODE);
    eval 'sub ATHEROS_CAP_TURBO_PRIME () {0x1;}' unless defined(&ATHEROS_CAP_TURBO_PRIME);
    eval 'sub ATHEROS_CAP_COMPRESSION () {0x2;}' unless defined(&ATHEROS_CAP_COMPRESSION);
    eval 'sub ATHEROS_CAP_FAST_FRAME () {0x4;}' unless defined(&ATHEROS_CAP_FAST_FRAME);
    eval 'sub ATHEROS_CAP_BOOST () {0x80;}' unless defined(&ATHEROS_CAP_BOOST);
    eval 'sub ATH_OUI () {0x7f0300;}' unless defined(&ATH_OUI);
    eval 'sub ATH_OUI_TYPE () {0x1;}' unless defined(&ATH_OUI_TYPE);
    eval 'sub ATH_OUI_VERSION () {0x1;}' unless defined(&ATH_OUI_VERSION);
    eval 'sub WPA_OUI () {0xf25000;}' unless defined(&WPA_OUI);
    eval 'sub WPA_OUI_TYPE () {0x1;}' unless defined(&WPA_OUI_TYPE);
    eval 'sub WPA_OUI_VERSION () {1;}' unless defined(&WPA_OUI_VERSION);
    eval 'sub WPA_CSE_NULL () {0x;}' unless defined(&WPA_CSE_NULL);
    eval 'sub WPA_CSE_WEP40 () {0x1;}' unless defined(&WPA_CSE_WEP40);
    eval 'sub WPA_CSE_TKIP () {0x2;}' unless defined(&WPA_CSE_TKIP);
    eval 'sub WPA_CSE_WRAP () {0x3;}' unless defined(&WPA_CSE_WRAP);
    eval 'sub WPA_CSE_CCMP () {0x4;}' unless defined(&WPA_CSE_CCMP);
    eval 'sub WPA_CSE_WEP104 () {0x5;}' unless defined(&WPA_CSE_WEP104);
    eval 'sub WPA_ASE_NONE () {0x;}' unless defined(&WPA_ASE_NONE);
    eval 'sub WPA_ASE_8021X_UNSPEC () {0x1;}' unless defined(&WPA_ASE_8021X_UNSPEC);
    eval 'sub WPA_ASE_8021X_PSK () {0x2;}' unless defined(&WPA_ASE_8021X_PSK);
    eval 'sub RSN_OUI () {0xac0f00;}' unless defined(&RSN_OUI);
    eval 'sub RSN_OUI_VERSION () {1;}' unless defined(&RSN_OUI_VERSION);
    eval 'sub RSN_CSE_NULL () {0x;}' unless defined(&RSN_CSE_NULL);
    eval 'sub RSN_CSE_WEP40 () {0x1;}' unless defined(&RSN_CSE_WEP40);
    eval 'sub RSN_CSE_TKIP () {0x2;}' unless defined(&RSN_CSE_TKIP);
    eval 'sub RSN_CSE_WRAP () {0x3;}' unless defined(&RSN_CSE_WRAP);
    eval 'sub RSN_CSE_CCMP () {0x4;}' unless defined(&RSN_CSE_CCMP);
    eval 'sub RSN_CSE_WEP104 () {0x5;}' unless defined(&RSN_CSE_WEP104);
    eval 'sub RSN_ASE_NONE () {0x;}' unless defined(&RSN_ASE_NONE);
    eval 'sub RSN_ASE_8021X_UNSPEC () {0x1;}' unless defined(&RSN_ASE_8021X_UNSPEC);
    eval 'sub RSN_ASE_8021X_PSK () {0x2;}' unless defined(&RSN_ASE_8021X_PSK);
    eval 'sub WME_OUI () {0xf25000;}' unless defined(&WME_OUI);
    eval 'sub WME_OUI_TYPE () {0x2;}' unless defined(&WME_OUI_TYPE);
    eval 'sub WME_OUI_VERSION () {1;}' unless defined(&WME_OUI_VERSION);
    eval 'sub WME_AC_BE () {0;}' unless defined(&WME_AC_BE);
    eval 'sub WME_AC_BK () {1;}' unless defined(&WME_AC_BK);
    eval 'sub WME_AC_VI () {2;}' unless defined(&WME_AC_VI);
    eval 'sub WME_AC_VO () {3;}' unless defined(&WME_AC_VO);
    eval 'sub IEEE80211_AUTH_ALGORITHM {
        my($auth) = @_;
	    eval q((($auth)[0] | (($auth)[1] << 8)));
    }' unless defined(&IEEE80211_AUTH_ALGORITHM);
    eval 'sub IEEE80211_AUTH_TRANSACTION {
        my($auth) = @_;
	    eval q((($auth)[2] | (($auth)[3] << 8)));
    }' unless defined(&IEEE80211_AUTH_TRANSACTION);
    eval 'sub IEEE80211_AUTH_STATUS {
        my($auth) = @_;
	    eval q((($auth)[4] | (($auth)[5] << 8)));
    }' unless defined(&IEEE80211_AUTH_STATUS);
    eval 'sub IEEE80211_AUTH_ALG_OPEN () {0x;}' unless defined(&IEEE80211_AUTH_ALG_OPEN);
    eval 'sub IEEE80211_AUTH_ALG_SHARED () {0x1;}' unless defined(&IEEE80211_AUTH_ALG_SHARED);
    eval 'sub IEEE80211_AUTH_ALG_LEAP () {0x80;}' unless defined(&IEEE80211_AUTH_ALG_LEAP);
    eval("sub IEEE80211_AUTH_OPEN_REQUEST () { 1; }") unless defined(&IEEE80211_AUTH_OPEN_REQUEST);
    eval("sub IEEE80211_AUTH_OPEN_RESPONSE () { 2; }") unless defined(&IEEE80211_AUTH_OPEN_RESPONSE);
    eval("sub IEEE80211_AUTH_SHARED_REQUEST () { 1; }") unless defined(&IEEE80211_AUTH_SHARED_REQUEST);
    eval("sub IEEE80211_AUTH_SHARED_CHALLENGE () { 2; }") unless defined(&IEEE80211_AUTH_SHARED_CHALLENGE);
    eval("sub IEEE80211_AUTH_SHARED_RESPONSE () { 3; }") unless defined(&IEEE80211_AUTH_SHARED_RESPONSE);
    eval("sub IEEE80211_AUTH_SHARED_PASS () { 4; }") unless defined(&IEEE80211_AUTH_SHARED_PASS);
    eval("sub IEEE80211_REASON_UNSPECIFIED () { 1; }") unless defined(&IEEE80211_REASON_UNSPECIFIED);
    eval("sub IEEE80211_REASON_AUTH_EXPIRE () { 2; }") unless defined(&IEEE80211_REASON_AUTH_EXPIRE);
    eval("sub IEEE80211_REASON_AUTH_LEAVE () { 3; }") unless defined(&IEEE80211_REASON_AUTH_LEAVE);
    eval("sub IEEE80211_REASON_ASSOC_EXPIRE () { 4; }") unless defined(&IEEE80211_REASON_ASSOC_EXPIRE);
    eval("sub IEEE80211_REASON_ASSOC_TOOMANY () { 5; }") unless defined(&IEEE80211_REASON_ASSOC_TOOMANY);
    eval("sub IEEE80211_REASON_NOT_AUTHED () { 6; }") unless defined(&IEEE80211_REASON_NOT_AUTHED);
    eval("sub IEEE80211_REASON_NOT_ASSOCED () { 7; }") unless defined(&IEEE80211_REASON_NOT_ASSOCED);
    eval("sub IEEE80211_REASON_ASSOC_LEAVE () { 8; }") unless defined(&IEEE80211_REASON_ASSOC_LEAVE);
    eval("sub IEEE80211_REASON_ASSOC_NOT_AUTHED () { 9; }") unless defined(&IEEE80211_REASON_ASSOC_NOT_AUTHED);
    eval("sub IEEE80211_REASON_RSN_REQUIRED () { 11; }") unless defined(&IEEE80211_REASON_RSN_REQUIRED);
    eval("sub IEEE80211_REASON_RSN_INCONSISTENT () { 12; }") unless defined(&IEEE80211_REASON_RSN_INCONSISTENT);
    eval("sub IEEE80211_REASON_IE_INVALID () { 13; }") unless defined(&IEEE80211_REASON_IE_INVALID);
    eval("sub IEEE80211_REASON_MIC_FAILURE () { 14; }") unless defined(&IEEE80211_REASON_MIC_FAILURE);
    eval("sub IEEE80211_STATUS_SUCCESS () { 0; }") unless defined(&IEEE80211_STATUS_SUCCESS);
    eval("sub IEEE80211_STATUS_UNSPECIFIED () { 1; }") unless defined(&IEEE80211_STATUS_UNSPECIFIED);
    eval("sub IEEE80211_STATUS_CAPINFO () { 10; }") unless defined(&IEEE80211_STATUS_CAPINFO);
    eval("sub IEEE80211_STATUS_NOT_ASSOCED () { 11; }") unless defined(&IEEE80211_STATUS_NOT_ASSOCED);
    eval("sub IEEE80211_STATUS_OTHER () { 12; }") unless defined(&IEEE80211_STATUS_OTHER);
    eval("sub IEEE80211_STATUS_ALG () { 13; }") unless defined(&IEEE80211_STATUS_ALG);
    eval("sub IEEE80211_STATUS_SEQUENCE () { 14; }") unless defined(&IEEE80211_STATUS_SEQUENCE);
    eval("sub IEEE80211_STATUS_CHALLENGE () { 15; }") unless defined(&IEEE80211_STATUS_CHALLENGE);
    eval("sub IEEE80211_STATUS_TIMEOUT () { 16; }") unless defined(&IEEE80211_STATUS_TIMEOUT);
    eval("sub IEEE80211_STATUS_TOOMANY () { 17; }") unless defined(&IEEE80211_STATUS_TOOMANY);
    eval("sub IEEE80211_STATUS_BASIC_RATE () { 18; }") unless defined(&IEEE80211_STATUS_BASIC_RATE);
    eval("sub IEEE80211_STATUS_SP_REQUIRED () { 19; }") unless defined(&IEEE80211_STATUS_SP_REQUIRED);
    eval("sub IEEE80211_STATUS_PBCC_REQUIRED () { 20; }") unless defined(&IEEE80211_STATUS_PBCC_REQUIRED);
    eval("sub IEEE80211_STATUS_CA_REQUIRED () { 21; }") unless defined(&IEEE80211_STATUS_CA_REQUIRED);
    eval("sub IEEE80211_STATUS_TOO_MANY_STATIONS () { 22; }") unless defined(&IEEE80211_STATUS_TOO_MANY_STATIONS);
    eval("sub IEEE80211_STATUS_RATES () { 23; }") unless defined(&IEEE80211_STATUS_RATES);
    eval("sub IEEE80211_STATUS_SHORTSLOT_REQUIRED () { 25; }") unless defined(&IEEE80211_STATUS_SHORTSLOT_REQUIRED);
    eval("sub IEEE80211_STATUS_DSSSOFDM_REQUIRED () { 26; }") unless defined(&IEEE80211_STATUS_DSSSOFDM_REQUIRED);
    eval 'sub IEEE80211_WEP_KEYLEN () {5;}' unless defined(&IEEE80211_WEP_KEYLEN);
    eval 'sub IEEE80211_WEP_NKID () {4;}' unless defined(&IEEE80211_WEP_NKID);
    eval 'sub IEEE80211_WEP_IVLEN () {3;}' unless defined(&IEEE80211_WEP_IVLEN);
    eval 'sub IEEE80211_WEP_KIDLEN () {1;}' unless defined(&IEEE80211_WEP_KIDLEN);
    eval 'sub IEEE80211_WEP_CRCLEN () {4;}' unless defined(&IEEE80211_WEP_CRCLEN);
    eval 'sub IEEE80211_CRC_LEN () {4;}' unless defined(&IEEE80211_CRC_LEN);
    eval 'sub IEEE80211_WEP_TOTLEN () {( &IEEE80211_WEP_IVLEN +  &IEEE80211_WEP_KIDLEN +  &IEEE80211_WEP_CRCLEN);}' unless defined(&IEEE80211_WEP_TOTLEN);
    eval 'sub IEEE80211_WEP_EXTIV () {0x20;}' unless defined(&IEEE80211_WEP_EXTIV);
    eval 'sub IEEE80211_WEP_EXTIVLEN () {4;}' unless defined(&IEEE80211_WEP_EXTIVLEN);
    eval 'sub IEEE80211_WEP_MICLEN () {8;}' unless defined(&IEEE80211_WEP_MICLEN);
    eval 'sub IEEE80211_MTU_MAX () {2290;}' unless defined(&IEEE80211_MTU_MAX);
    eval 'sub IEEE80211_MTU_MIN () {32;}' unless defined(&IEEE80211_MTU_MIN);
    eval 'sub IEEE80211_MAX_LEN () {(2300+  &IEEE80211_CRC_LEN + ( &IEEE80211_WEP_IVLEN +  &IEEE80211_WEP_KIDLEN +  &IEEE80211_WEP_CRCLEN));}' unless defined(&IEEE80211_MAX_LEN);
    eval 'sub IEEE80211_ACK_LEN () {($sizeof{\'struct ieee80211_frame_ack\'} +  &IEEE80211_CRC_LEN);}' unless defined(&IEEE80211_ACK_LEN);
    eval 'sub IEEE80211_MIN_LEN () {($sizeof{\'struct ieee80211_frame_min\'} +  &IEEE80211_CRC_LEN);}' unless defined(&IEEE80211_MIN_LEN);
    eval 'sub IEEE80211_AID_MAX () {2007;}' unless defined(&IEEE80211_AID_MAX);
    eval 'sub IEEE80211_AID_DEF () {1800;}' unless defined(&IEEE80211_AID_DEF);
    eval 'sub IEEE80211_AID {
        my($b) = @_;
	    eval q((($b) &~ 0xc000));
    }' unless defined(&IEEE80211_AID);
    eval 'sub IEEE80211_AID_SET {
        my($b, $w) = @_;
	    eval q((($w)[ &IEEE80211_AID($b) / 32] |= (1<< ( &IEEE80211_AID($b) % 32))));
    }' unless defined(&IEEE80211_AID_SET);
    eval 'sub IEEE80211_AID_CLR {
        my($b, $w) = @_;
	    eval q((($w)[ &IEEE80211_AID($b) / 32] &= ~(1<< ( &IEEE80211_AID($b) % 32))));
    }' unless defined(&IEEE80211_AID_CLR);
    eval 'sub IEEE80211_AID_ISSET {
        my($b, $w) = @_;
	    eval q((($w)[ &IEEE80211_AID($b) / 32] & (1<< ( &IEEE80211_AID($b) % 32))));
    }' unless defined(&IEEE80211_AID_ISSET);
    eval 'sub IEEE80211_RTS_DEFAULT () {512;}' unless defined(&IEEE80211_RTS_DEFAULT);
    eval 'sub IEEE80211_RTS_MIN () {1;}' unless defined(&IEEE80211_RTS_MIN);
    eval 'sub IEEE80211_RTS_MAX () { &IEEE80211_MAX_LEN;}' unless defined(&IEEE80211_RTS_MAX);
    eval 'sub IEEE80211_DUR_TU () {1024;}' unless defined(&IEEE80211_DUR_TU);
    eval 'sub IEEE80211_DUR_DS_LONG_PREAMBLE () {144;}' unless defined(&IEEE80211_DUR_DS_LONG_PREAMBLE);
    eval 'sub IEEE80211_DUR_DS_SHORT_PREAMBLE () {72;}' unless defined(&IEEE80211_DUR_DS_SHORT_PREAMBLE);
    eval 'sub IEEE80211_DUR_DS_PREAMBLE_DIFFERENCE () {( &IEEE80211_DUR_DS_LONG_PREAMBLE -  &IEEE80211_DUR_DS_SHORT_PREAMBLE);}' unless defined(&IEEE80211_DUR_DS_PREAMBLE_DIFFERENCE);
    eval 'sub IEEE80211_DUR_DS_FAST_PLCPHDR () {24;}' unless defined(&IEEE80211_DUR_DS_FAST_PLCPHDR);
    eval 'sub IEEE80211_DUR_DS_SLOW_PLCPHDR () {48;}' unless defined(&IEEE80211_DUR_DS_SLOW_PLCPHDR);
    eval 'sub IEEE80211_DUR_DS_PLCPHDR_DIFFERENCE () {( &IEEE80211_DUR_DS_SLOW_PLCPHDR -  &IEEE80211_DUR_DS_FAST_PLCPHDR);}' unless defined(&IEEE80211_DUR_DS_PLCPHDR_DIFFERENCE);
    eval 'sub IEEE80211_DUR_DS_SLOW_ACK () {112;}' unless defined(&IEEE80211_DUR_DS_SLOW_ACK);
    eval 'sub IEEE80211_DUR_DS_FAST_ACK () {56;}' unless defined(&IEEE80211_DUR_DS_FAST_ACK);
    eval 'sub IEEE80211_DUR_DS_SLOW_CTS () {112;}' unless defined(&IEEE80211_DUR_DS_SLOW_CTS);
    eval 'sub IEEE80211_DUR_DS_FAST_CTS () {56;}' unless defined(&IEEE80211_DUR_DS_FAST_CTS);
    eval 'sub IEEE80211_DUR_DS_SLOT () {20;}' unless defined(&IEEE80211_DUR_DS_SLOT);
    eval 'sub IEEE80211_DUR_DS_SIFS () {10;}' unless defined(&IEEE80211_DUR_DS_SIFS);
    eval 'sub IEEE80211_DUR_DS_PIFS () {( &IEEE80211_DUR_DS_SIFS +  &IEEE80211_DUR_DS_SLOT);}' unless defined(&IEEE80211_DUR_DS_PIFS);
    eval 'sub IEEE80211_DUR_DS_DIFS () {( &IEEE80211_DUR_DS_SIFS + 2*  &IEEE80211_DUR_DS_SLOT);}' unless defined(&IEEE80211_DUR_DS_DIFS);
    eval 'sub IEEE80211_DUR_DS_EIFS () {( &IEEE80211_DUR_DS_SIFS +  &IEEE80211_DUR_DS_SLOW_ACK +  &IEEE80211_DUR_DS_LONG_PREAMBLE +  &IEEE80211_DUR_DS_SLOW_PLCPHDR +  &IEEE80211_DUR_DIFS);}' unless defined(&IEEE80211_DUR_DS_EIFS);
    eval("sub IEEE80211_AUTH_NONE () { 0; }") unless defined(&IEEE80211_AUTH_NONE);
    eval("sub IEEE80211_AUTH_OPEN () { 1; }") unless defined(&IEEE80211_AUTH_OPEN);
    eval("sub IEEE80211_AUTH_SHARED () { 2; }") unless defined(&IEEE80211_AUTH_SHARED);
    eval("sub IEEE80211_AUTH_8021X () { 3; }") unless defined(&IEEE80211_AUTH_8021X);
    eval("sub IEEE80211_AUTH_AUTO () { 4; }") unless defined(&IEEE80211_AUTH_AUTO);
    eval("sub IEEE80211_AUTH_WPA () { 5; }") unless defined(&IEEE80211_AUTH_WPA);
    eval("sub IEEE80211_AUTH_WPA_PSK () { 6; }") unless defined(&IEEE80211_AUTH_WPA_PSK);
    eval("sub IEEE80211_AUTH_WPA2 () { 7; }") unless defined(&IEEE80211_AUTH_WPA2);
    eval("sub IEEE80211_AUTH_WPA2_PSK () { 8; }") unless defined(&IEEE80211_AUTH_WPA2_PSK);
}
1;
