7d23e971f0
This adds new commands for wlantest_cli to request wlantest to inject frames. This version can only send out Authentication frames and unprotected SA Query Request frames, but there is now place to add more frames and encryption with future commits.
105 lines
3 KiB
C
105 lines
3 KiB
C
/*
|
|
* wlantest control interface
|
|
* Copyright (c) 2010, Jouni Malinen <j@w1.fi>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* Alternatively, this software may be distributed under the terms of BSD
|
|
* license.
|
|
*
|
|
* See README and COPYING for more details.
|
|
*/
|
|
|
|
#ifndef WLANTEST_CTRL_H
|
|
#define WLANTEST_CTRL_H
|
|
|
|
#define WLANTEST_SOCK_NAME "w1.fi.wlantest"
|
|
#define WLANTEST_CTRL_MAX_CMD_LEN 1000
|
|
#define WLANTEST_CTRL_MAX_RESP_LEN 1000
|
|
|
|
enum wlantest_ctrl_cmd {
|
|
WLANTEST_CTRL_SUCCESS,
|
|
WLANTEST_CTRL_FAILURE,
|
|
WLANTEST_CTRL_INVALID_CMD,
|
|
WLANTEST_CTRL_UNKNOWN_CMD,
|
|
WLANTEST_CTRL_PING,
|
|
WLANTEST_CTRL_TERMINATE,
|
|
WLANTEST_CTRL_LIST_BSS,
|
|
WLANTEST_CTRL_LIST_STA,
|
|
WLANTEST_CTRL_FLUSH,
|
|
WLANTEST_CTRL_CLEAR_STA_COUNTERS,
|
|
WLANTEST_CTRL_CLEAR_BSS_COUNTERS,
|
|
WLANTEST_CTRL_GET_STA_COUNTER,
|
|
WLANTEST_CTRL_GET_BSS_COUNTER,
|
|
WLANTEST_CTRL_INJECT,
|
|
};
|
|
|
|
enum wlantest_ctrl_attr {
|
|
WLANTEST_ATTR_BSSID,
|
|
WLANTEST_ATTR_STA_ADDR,
|
|
WLANTEST_ATTR_STA_COUNTER,
|
|
WLANTEST_ATTR_BSS_COUNTER,
|
|
WLANTEST_ATTR_COUNTER,
|
|
WLANTEST_ATTR_INJECT_FRAME,
|
|
WLANTEST_ATTR_INJECT_SENDER_AP,
|
|
WLANTEST_ATTR_INJECT_PROTECTION,
|
|
};
|
|
|
|
enum wlantest_bss_counter {
|
|
WLANTEST_BSS_COUNTER_VALID_BIP_MMIE,
|
|
WLANTEST_BSS_COUNTER_INVALID_BIP_MMIE,
|
|
WLANTEST_BSS_COUNTER_MISSING_BIP_MMIE,
|
|
NUM_WLANTEST_BSS_COUNTER
|
|
};
|
|
|
|
enum wlantest_sta_counter {
|
|
WLANTEST_STA_COUNTER_AUTH_TX,
|
|
WLANTEST_STA_COUNTER_AUTH_RX,
|
|
WLANTEST_STA_COUNTER_ASSOCREQ_TX,
|
|
WLANTEST_STA_COUNTER_REASSOCREQ_TX,
|
|
WLANTEST_STA_COUNTER_PTK_LEARNED,
|
|
WLANTEST_STA_COUNTER_VALID_DEAUTH_TX,
|
|
WLANTEST_STA_COUNTER_VALID_DEAUTH_RX,
|
|
WLANTEST_STA_COUNTER_INVALID_DEAUTH_TX,
|
|
WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX,
|
|
WLANTEST_STA_COUNTER_VALID_DISASSOC_TX,
|
|
WLANTEST_STA_COUNTER_VALID_DISASSOC_RX,
|
|
WLANTEST_STA_COUNTER_INVALID_DISASSOC_TX,
|
|
WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX,
|
|
WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_TX,
|
|
WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_RX,
|
|
WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_TX,
|
|
WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_RX,
|
|
WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_TX,
|
|
WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_RX,
|
|
WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_TX,
|
|
WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_RX,
|
|
NUM_WLANTEST_STA_COUNTER
|
|
};
|
|
|
|
enum wlantest_inject_frame {
|
|
WLANTEST_FRAME_AUTH,
|
|
WLANTEST_FRAME_ASSOCREQ,
|
|
WLANTEST_FRAME_REASSOCREQ,
|
|
WLANTEST_FRAME_DEAUTH,
|
|
WLANTEST_FRAME_DISASSOC,
|
|
WLANTEST_FRAME_SAQUERYREQ,
|
|
};
|
|
|
|
/**
|
|
* enum wlantest_inject_protection - WLANTEST_CTRL_INJECT protection
|
|
* @WLANTEST_INJECT_NORMAL: Use normal rules (protect if key is set)
|
|
* @WLANTEST_INJECT_PROTECTED: Force protection (fail if not possible)
|
|
* @WLANTEST_INJECT_UNPROTECTED: Force unprotected
|
|
* @WLANTEST_INJECT_INCORRECT_KEY: Force protection with incorrect key
|
|
*/
|
|
enum wlantest_inject_protection {
|
|
WLANTEST_INJECT_NORMAL,
|
|
WLANTEST_INJECT_PROTECTED,
|
|
WLANTEST_INJECT_UNPROTECTED,
|
|
WLANTEST_INJECT_INCORRECT_KEY,
|
|
};
|
|
|
|
#endif /* WLANTEST_CTRL_H */
|