require '_h2ph_pre.ph';

unless(defined(&IEEE_802_11)) {
    eval 'sub IEEE_802_11 () {1;}' unless defined(&IEEE_802_11);
    require 'linux/types.ph';
    eval("sub reserved0 () { 0; }") unless defined(&reserved0);
    eval("sub Unspecified () { 1; }") unless defined(&Unspecified);
    eval("sub Previous_not_valid () { 2; }") unless defined(&Previous_not_valid);
    eval("sub Sender_Quits_ESS_or_IBSS () { 3; }") unless defined(&Sender_Quits_ESS_or_IBSS);
    eval("sub Due_Inactivity () { 4; }") unless defined(&Due_Inactivity);
    eval("sub AP_Overload () { 5; }") unless defined(&AP_Overload);
    eval("sub Class_2_from_NonAuth () { 6; }") unless defined(&Class_2_from_NonAuth);
    eval("sub Class_3_from_NonAuth () { 7; }") unless defined(&Class_3_from_NonAuth);
    eval("sub Sender_Quits_BSS () { 8; }") unless defined(&Sender_Quits_BSS);
    eval("sub Association_requester_not_authenticated () { 9; }") unless defined(&Association_requester_not_authenticated);
    eval("sub Reserved10 () { 10; }") unless defined(&Reserved10);
    eval 'sub IEEE_802_11_LINK_STATUS_FAILURE_REASON_STRINGS () {{ { &reserved0, 0xff," Reserved reason "}, { &Unspecified, 0xff," Unspecified Reason "}, { &Previous_not_valid, 0xff," Previous Authentication no longer valid "}, { &Sender_Quits_ESS_or_IBSS,0xff," Deauthenticated because sending station is leaving  IBSS or ESS "}, { &Due_Inactivity, 0xff," Disassociated due to inactivity "}, { &AP_Overload, 0xff," Disassociated because AP is unable to handle all currently associated stations "}, { &Class_2_from_NonAuth, 0xff," Class 2 frame received from non-Authenticated station"}, { &Class_3_from_NonAuth, 0xff," Class 3 frame received from non­Associated station"}, { &Sender_Quits_BSS, 0xff," Disassociated because sending station is leaving  BSS"}, { &Association_requester_not_authenticated,0xff," Station requesting Association is not Authenticated with responding station"}, { &Reserved10, 0xff," Reserved"}, {0,0, &NULL}};;}' unless defined(&IEEE_802_11_LINK_STATUS_FAILURE_REASON_STRINGS);
    eval 'sub P80211_OUI_LEN () {3;}' unless defined(&P80211_OUI_LEN);
    eval 'sub P80211_LLC_OUI_LEN () {3;}' unless defined(&P80211_LLC_OUI_LEN);
    eval 'sub ieee_802_11_frame_type_Management () {0x;}' unless defined(&ieee_802_11_frame_type_Management);
    eval 'sub ieee_802_11_frame_type_Control () {0x1;}' unless defined(&ieee_802_11_frame_type_Control);
    eval 'sub ieee_802_11_frame_type_Data () {0x10;}' unless defined(&ieee_802_11_frame_type_Data);
    eval 'sub ieee_802_11_frame_type_Reserved () {0x11;}' unless defined(&ieee_802_11_frame_type_Reserved);
    eval 'sub ieee_802_11_frame_subtype_Association_Req () {0x;}' unless defined(&ieee_802_11_frame_subtype_Association_Req);
    eval 'sub ieee_802_11_frame_subtype_Association_Resp () {0x1;}' unless defined(&ieee_802_11_frame_subtype_Association_Resp);
    eval 'sub ieee_802_11_frame_subtype_Reassociation_Req () {0x2;}' unless defined(&ieee_802_11_frame_subtype_Reassociation_Req);
    eval 'sub ieee_802_11_frame_subtype_Reassociation_Resp () {0x3;}' unless defined(&ieee_802_11_frame_subtype_Reassociation_Resp);
    eval 'sub ieee_802_11_frame_subtype_Probe_Req () {0x4;}' unless defined(&ieee_802_11_frame_subtype_Probe_Req);
    eval 'sub ieee_802_11_frame_subtype_Probe_Resp () {0x5;}' unless defined(&ieee_802_11_frame_subtype_Probe_Resp);
    eval 'sub ieee_802_11_frame_subtype_Beacon () {0x8;}' unless defined(&ieee_802_11_frame_subtype_Beacon);
    eval 'sub ieee_802_11_frame_subtype_ATIM () {0x9;}' unless defined(&ieee_802_11_frame_subtype_ATIM);
    eval 'sub ieee_802_11_frame_subtype_Disassociation () {0xa;}' unless defined(&ieee_802_11_frame_subtype_Disassociation);
    eval 'sub ieee_802_11_frame_subtype_Authentication () {0xb;}' unless defined(&ieee_802_11_frame_subtype_Authentication);
    eval 'sub ieee_802_11_frame_subtype_Deauthentication () {0xc;}' unless defined(&ieee_802_11_frame_subtype_Deauthentication);
    eval 'sub ieee_802_11_frame_subtype_PS_Poll () {0xa;}' unless defined(&ieee_802_11_frame_subtype_PS_Poll);
    eval 'sub ieee_802_11_frame_subtype_RTS () {0xb;}' unless defined(&ieee_802_11_frame_subtype_RTS);
    eval 'sub ieee_802_11_frame_subtype_CTS () {0xc;}' unless defined(&ieee_802_11_frame_subtype_CTS);
    eval 'sub ieee_802_11_frame_subtype_ACK () {0xd;}' unless defined(&ieee_802_11_frame_subtype_ACK);
    eval 'sub ieee_802_11_frame_subtype_CFEnd () {0xe;}' unless defined(&ieee_802_11_frame_subtype_CFEnd);
    eval 'sub ieee_802_11_frame_subtype_CFEnd_CFAck () {0xf;}' unless defined(&ieee_802_11_frame_subtype_CFEnd_CFAck);
    eval 'sub ieee_802_11_frame_subtype_Data () {0x;}' unless defined(&ieee_802_11_frame_subtype_Data);
    eval 'sub ieee_802_11_frame_subtype_Data_CFAck () {0x1;}' unless defined(&ieee_802_11_frame_subtype_Data_CFAck);
    eval 'sub ieee_802_11_frame_subtype_Data_CF_Poll () {0x2;}' unless defined(&ieee_802_11_frame_subtype_Data_CF_Poll);
    eval 'sub ieee_802_11_frame_subtype_Data_CF_AckCF_Poll () {0x3;}' unless defined(&ieee_802_11_frame_subtype_Data_CF_AckCF_Poll);
    eval 'sub ieee_802_11_frame_subtype_NullFunction () {0x4;}' unless defined(&ieee_802_11_frame_subtype_NullFunction);
    eval 'sub ieee_802_11_frame_subtype_CF_Ack () {0x5;}' unless defined(&ieee_802_11_frame_subtype_CF_Ack);
    eval 'sub ieee_802_11_frame_subtype_CF_Poll () {0x6;}' unless defined(&ieee_802_11_frame_subtype_CF_Poll);
    eval 'sub ieee_802_11_frame_subtype_CF_AckCF_Poll () {0x7;}' unless defined(&ieee_802_11_frame_subtype_CF_AckCF_Poll);
    eval 'sub ieee_802_11_frame_subtype_strings () {{ {  &ieee_802_11_frame_subtype_Association_Req, 0xf,"f  Association Request"}, {  &ieee_802_11_frame_subtype_Association_Resp, 0xf,"1  Association Response"}, {  &ieee_802_11_frame_subtype_Reassociation_Req, 0xf,"2  Reassociation Request"}, {  &ieee_802_11_frame_subtype_Reassociation_Resp, 0xf,"3  Reassociation Response"}, {  &ieee_802_11_frame_subtype_Probe_Req , 0xf,"4  Probe Request"}, {  &ieee_802_11_frame_subtype_Probe_Resp , 0xf,"5  Probe Response"}, {  &ieee_802_11_frame_subtype_Beacon , 0xf,"8  Beacon"}, {  &ieee_802_11_frame_subtype_ATIM , 0xf,"9  ATIM"}, {  &ieee_802_11_frame_subtype_Disassociation, 0xf,"A  Disassociation"}, {  &ieee_802_11_frame_subtype_Authentication, 0xf,"B  Authentication"}, {  &ieee_802_11_frame_subtype_Deauthentication, 0xf,"C  Deauthentication"}, {  &ieee_802_11_frame_subtype_PS_Poll , 0xf,"A  PS-Poll"}, {  &ieee_802_11_frame_subtype_RTS , 0xf,"B  RTS"}, {  &ieee_802_11_frame_subtype_CTS , 0xf,"C  CTS"}, {  &ieee_802_11_frame_subtype_ACK , 0xf,"D  ACK"}, {  &ieee_802_11_frame_subtype_CFEnd , 0xf,"E  CF-End"}, {  &ieee_802_11_frame_subtype_CFEnd_CFAck , 0xf,"F  CF-End + CF-Ack"}, {  &ieee_802_11_frame_subtype_Data , 0xf,"0  Data"}, {  &ieee_802_11_frame_subtype_Data_CFAck , 0xf,"1  Data + CF-Ack"}, {  &ieee_802_11_frame_subtype_Data_CFPoll , 0xf,"2  Data + CF-Poll"}, {  &ieee_802_11_frame_subtype_Data_CFAck_CFPoll, 0xf,"3  Data + CF-Ack + CF-Poll"}, {  &ieee_802_11_frame_subtype_Null_Function , 0xf,"4  Null Function (no data)"}, {  &ieee_802_11_frame_subtype_CFAck , 0xf,"5  CF-Ack (no data)"}, {  &ieee_802_11_frame_subtype_CFPoll , 0xf,"6  CF-Poll (no data)"}, {  &ieee_802_11_frame_subtype_CFAck_CFPoll, 0xf,"y7  CF-Ack + CF-Poll (no data)"}, { 0,0, &NULL}};}' unless defined(&ieee_802_11_frame_subtype_strings);
    eval 'sub ieee_802_11_frame_subtype_classes () {{ {  &ieee_802_11_frame_subtype_Association_Req, 0xf,2, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Association_Resp, 0xf,2, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Reassociation_Req, 0xf,2, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Reassociation_Resp, 0xf,2, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Probe_Req , 0xf,1, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Probe_Resp , 0xf,1, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Beacon , 0xf,1, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_ATIM , 0xf,1, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Disassociation, 0xf,2, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Authentication, 0xf,1, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_Deauthentication, 0xf,3, &ieee_802_11_frame_type_Management}, {  &ieee_802_11_frame_subtype_PS- &Poll , 0xf,3, &ieee_802_11_frame_type_Control}, {  &ieee_802_11_frame_subtype_RTS , 0xf,1, &ieee_802_11_frame_type_Control}, {  &ieee_802_11_frame_subtype_CTS , 0xf,1, &ieee_802_11_frame_type_Control}, {  &ieee_802_11_frame_subtype_ACK , 0xf,1, &ieee_802_11_frame_type_Control}, {  &ieee_802_11_frame_subtype_CFEnd , 0xf,1, &ieee_802_11_frame_type_Control}, {  &ieee_802_11_frame_subtype_CFEnd_CFAck , 0xf,1, &ieee_802_11_frame_type_Control}, {  &ieee_802_11_frame_subtype_Data , 0xf,3, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_Data_CFAck , 0xf,3, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_Data_CF_Poll 0xf,3, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_Data_CF_AckCF_Poll, 0xf,3, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_NullFunction 0xf,1, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_CF_Ack , 0xf,1, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_CF_Poll , 0xf,1, &ieee_802_11_frame_type_Data}, {  &ieee_802_11_frame_subtype_CF_AckCF_Poll, 0xf,1, &ieee_802_11_frame_type_Data}, { 0,0, &NULL}};}' unless defined(&ieee_802_11_frame_subtype_classes);
}
1;
