1*cd4e3c3eSJouni Malinen /* 2*cd4e3c3eSJouni Malinen * wlantest control interface 3*cd4e3c3eSJouni Malinen * Copyright (c) 2010, Jouni Malinen <j@w1.fi> 4*cd4e3c3eSJouni Malinen * 5*cd4e3c3eSJouni Malinen * This software may be distributed under the terms of the BSD license. 6*cd4e3c3eSJouni Malinen * See README for more details. 7*cd4e3c3eSJouni Malinen */ 8*cd4e3c3eSJouni Malinen 9*cd4e3c3eSJouni Malinen #ifndef WLANTEST_CTRL_H 10*cd4e3c3eSJouni Malinen #define WLANTEST_CTRL_H 11*cd4e3c3eSJouni Malinen 12*cd4e3c3eSJouni Malinen #define WLANTEST_SOCK_NAME "w1.fi.wlantest" 13*cd4e3c3eSJouni Malinen #define WLANTEST_CTRL_MAX_CMD_LEN 1000 14*cd4e3c3eSJouni Malinen #define WLANTEST_CTRL_MAX_RESP_LEN 1000 15*cd4e3c3eSJouni Malinen 16*cd4e3c3eSJouni Malinen enum wlantest_ctrl_cmd { 17*cd4e3c3eSJouni Malinen WLANTEST_CTRL_SUCCESS, 18*cd4e3c3eSJouni Malinen WLANTEST_CTRL_FAILURE, 19*cd4e3c3eSJouni Malinen WLANTEST_CTRL_INVALID_CMD, 20*cd4e3c3eSJouni Malinen WLANTEST_CTRL_UNKNOWN_CMD, 21*cd4e3c3eSJouni Malinen WLANTEST_CTRL_PING, 22*cd4e3c3eSJouni Malinen WLANTEST_CTRL_TERMINATE, 23*cd4e3c3eSJouni Malinen WLANTEST_CTRL_LIST_BSS, 24*cd4e3c3eSJouni Malinen WLANTEST_CTRL_LIST_STA, 25*cd4e3c3eSJouni Malinen WLANTEST_CTRL_FLUSH, 26*cd4e3c3eSJouni Malinen WLANTEST_CTRL_CLEAR_STA_COUNTERS, 27*cd4e3c3eSJouni Malinen WLANTEST_CTRL_CLEAR_BSS_COUNTERS, 28*cd4e3c3eSJouni Malinen WLANTEST_CTRL_GET_STA_COUNTER, 29*cd4e3c3eSJouni Malinen WLANTEST_CTRL_GET_BSS_COUNTER, 30*cd4e3c3eSJouni Malinen WLANTEST_CTRL_INJECT, 31*cd4e3c3eSJouni Malinen WLANTEST_CTRL_VERSION, 32*cd4e3c3eSJouni Malinen WLANTEST_CTRL_ADD_PASSPHRASE, 33*cd4e3c3eSJouni Malinen WLANTEST_CTRL_INFO_STA, 34*cd4e3c3eSJouni Malinen WLANTEST_CTRL_INFO_BSS, 35*cd4e3c3eSJouni Malinen WLANTEST_CTRL_SEND, 36*cd4e3c3eSJouni Malinen WLANTEST_CTRL_CLEAR_TDLS_COUNTERS, 37*cd4e3c3eSJouni Malinen WLANTEST_CTRL_GET_TDLS_COUNTER, 38*cd4e3c3eSJouni Malinen }; 39*cd4e3c3eSJouni Malinen 40*cd4e3c3eSJouni Malinen enum wlantest_ctrl_attr { 41*cd4e3c3eSJouni Malinen WLANTEST_ATTR_BSSID, 42*cd4e3c3eSJouni Malinen WLANTEST_ATTR_STA_ADDR, 43*cd4e3c3eSJouni Malinen WLANTEST_ATTR_STA_COUNTER, 44*cd4e3c3eSJouni Malinen WLANTEST_ATTR_BSS_COUNTER, 45*cd4e3c3eSJouni Malinen WLANTEST_ATTR_COUNTER, 46*cd4e3c3eSJouni Malinen WLANTEST_ATTR_INJECT_FRAME, 47*cd4e3c3eSJouni Malinen WLANTEST_ATTR_INJECT_SENDER_AP, 48*cd4e3c3eSJouni Malinen WLANTEST_ATTR_INJECT_PROTECTION, 49*cd4e3c3eSJouni Malinen WLANTEST_ATTR_VERSION, 50*cd4e3c3eSJouni Malinen WLANTEST_ATTR_PASSPHRASE, 51*cd4e3c3eSJouni Malinen WLANTEST_ATTR_STA_INFO, 52*cd4e3c3eSJouni Malinen WLANTEST_ATTR_BSS_INFO, 53*cd4e3c3eSJouni Malinen WLANTEST_ATTR_INFO, 54*cd4e3c3eSJouni Malinen WLANTEST_ATTR_FRAME, 55*cd4e3c3eSJouni Malinen WLANTEST_ATTR_TDLS_COUNTER, 56*cd4e3c3eSJouni Malinen WLANTEST_ATTR_STA2_ADDR, 57*cd4e3c3eSJouni Malinen WLANTEST_ATTR_WEPKEY, 58*cd4e3c3eSJouni Malinen }; 59*cd4e3c3eSJouni Malinen 60*cd4e3c3eSJouni Malinen enum wlantest_bss_counter { 61*cd4e3c3eSJouni Malinen WLANTEST_BSS_COUNTER_VALID_BIP_MMIE, 62*cd4e3c3eSJouni Malinen WLANTEST_BSS_COUNTER_INVALID_BIP_MMIE, 63*cd4e3c3eSJouni Malinen WLANTEST_BSS_COUNTER_MISSING_BIP_MMIE, 64*cd4e3c3eSJouni Malinen WLANTEST_BSS_COUNTER_BIP_DEAUTH, 65*cd4e3c3eSJouni Malinen WLANTEST_BSS_COUNTER_BIP_DISASSOC, 66*cd4e3c3eSJouni Malinen NUM_WLANTEST_BSS_COUNTER 67*cd4e3c3eSJouni Malinen }; 68*cd4e3c3eSJouni Malinen 69*cd4e3c3eSJouni Malinen enum wlantest_sta_counter { 70*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_AUTH_TX, 71*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_AUTH_RX, 72*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_ASSOCREQ_TX, 73*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_REASSOCREQ_TX, 74*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_PTK_LEARNED, 75*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_DEAUTH_TX, 76*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_DEAUTH_RX, 77*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_DEAUTH_TX, 78*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX, 79*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_DISASSOC_TX, 80*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_DISASSOC_RX, 81*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_DISASSOC_TX, 82*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX, 83*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_TX, 84*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_RX, 85*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_TX, 86*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_RX, 87*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_TX, 88*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_RX, 89*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_TX, 90*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_RX, 91*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_PING_OK, 92*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_ASSOCRESP_COMEBACK, 93*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_REASSOCRESP_COMEBACK, 94*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_PING_OK_FIRST_ASSOC, 95*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_DEAUTH_RX_ACK, 96*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_VALID_DISASSOC_RX_ACK, 97*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX_ACK, 98*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX_ACK, 99*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DEAUTH_RX_ASLEEP, 100*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DEAUTH_RX_AWAKE, 101*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DISASSOC_RX_ASLEEP, 102*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DISASSOC_RX_AWAKE, 103*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_PROT_DATA_TX, 104*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DEAUTH_RX_RC6, 105*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DEAUTH_RX_RC7, 106*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DISASSOC_RX_RC6, 107*cd4e3c3eSJouni Malinen WLANTEST_STA_COUNTER_DISASSOC_RX_RC7, 108*cd4e3c3eSJouni Malinen NUM_WLANTEST_STA_COUNTER 109*cd4e3c3eSJouni Malinen }; 110*cd4e3c3eSJouni Malinen 111*cd4e3c3eSJouni Malinen enum wlantest_tdls_counter { 112*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_VALID_DIRECT_LINK, 113*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_INVALID_DIRECT_LINK, 114*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_VALID_AP_PATH, 115*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_INVALID_AP_PATH, 116*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_SETUP_REQ, 117*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_SETUP_RESP_OK, 118*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_SETUP_RESP_FAIL, 119*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_SETUP_CONF_OK, 120*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_SETUP_CONF_FAIL, 121*cd4e3c3eSJouni Malinen WLANTEST_TDLS_COUNTER_TEARDOWN, 122*cd4e3c3eSJouni Malinen NUM_WLANTEST_TDLS_COUNTER 123*cd4e3c3eSJouni Malinen }; 124*cd4e3c3eSJouni Malinen 125*cd4e3c3eSJouni Malinen enum wlantest_inject_frame { 126*cd4e3c3eSJouni Malinen WLANTEST_FRAME_AUTH, 127*cd4e3c3eSJouni Malinen WLANTEST_FRAME_ASSOCREQ, 128*cd4e3c3eSJouni Malinen WLANTEST_FRAME_REASSOCREQ, 129*cd4e3c3eSJouni Malinen WLANTEST_FRAME_DEAUTH, 130*cd4e3c3eSJouni Malinen WLANTEST_FRAME_DISASSOC, 131*cd4e3c3eSJouni Malinen WLANTEST_FRAME_SAQUERYREQ, 132*cd4e3c3eSJouni Malinen }; 133*cd4e3c3eSJouni Malinen 134*cd4e3c3eSJouni Malinen /** 135*cd4e3c3eSJouni Malinen * enum wlantest_inject_protection - WLANTEST_CTRL_INJECT protection 136*cd4e3c3eSJouni Malinen * @WLANTEST_INJECT_NORMAL: Use normal rules (protect if key is set) 137*cd4e3c3eSJouni Malinen * @WLANTEST_INJECT_PROTECTED: Force protection (fail if not possible) 138*cd4e3c3eSJouni Malinen * @WLANTEST_INJECT_UNPROTECTED: Force unprotected 139*cd4e3c3eSJouni Malinen * @WLANTEST_INJECT_INCORRECT_KEY: Force protection with incorrect key 140*cd4e3c3eSJouni Malinen */ 141*cd4e3c3eSJouni Malinen enum wlantest_inject_protection { 142*cd4e3c3eSJouni Malinen WLANTEST_INJECT_NORMAL, 143*cd4e3c3eSJouni Malinen WLANTEST_INJECT_PROTECTED, 144*cd4e3c3eSJouni Malinen WLANTEST_INJECT_UNPROTECTED, 145*cd4e3c3eSJouni Malinen WLANTEST_INJECT_INCORRECT_KEY, 146*cd4e3c3eSJouni Malinen }; 147*cd4e3c3eSJouni Malinen 148*cd4e3c3eSJouni Malinen enum wlantest_sta_info { 149*cd4e3c3eSJouni Malinen WLANTEST_STA_INFO_PROTO, 150*cd4e3c3eSJouni Malinen WLANTEST_STA_INFO_PAIRWISE, 151*cd4e3c3eSJouni Malinen WLANTEST_STA_INFO_KEY_MGMT, 152*cd4e3c3eSJouni Malinen WLANTEST_STA_INFO_RSN_CAPAB, 153*cd4e3c3eSJouni Malinen WLANTEST_STA_INFO_STATE, 154*cd4e3c3eSJouni Malinen WLANTEST_STA_INFO_GTK, 155*cd4e3c3eSJouni Malinen }; 156*cd4e3c3eSJouni Malinen 157*cd4e3c3eSJouni Malinen enum wlantest_bss_info { 158*cd4e3c3eSJouni Malinen WLANTEST_BSS_INFO_PROTO, 159*cd4e3c3eSJouni Malinen WLANTEST_BSS_INFO_PAIRWISE, 160*cd4e3c3eSJouni Malinen WLANTEST_BSS_INFO_GROUP, 161*cd4e3c3eSJouni Malinen WLANTEST_BSS_INFO_GROUP_MGMT, 162*cd4e3c3eSJouni Malinen WLANTEST_BSS_INFO_KEY_MGMT, 163*cd4e3c3eSJouni Malinen WLANTEST_BSS_INFO_RSN_CAPAB, 164*cd4e3c3eSJouni Malinen }; 165*cd4e3c3eSJouni Malinen 166*cd4e3c3eSJouni Malinen #endif /* WLANTEST_CTRL_H */ 167