wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
offchannel.c File Reference

wpa_supplicant - Off-channel Action frame TX/RX Copyright (c) 2011, Qualcomm Atheros More...

#include "includes.h"
#include "common.h"
#include "utils/eloop.h"
#include "wpa_supplicant_i.h"
#include "p2p_supplicant.h"
#include "driver_i.h"
#include "offchannel.h"

Functions

void offchannel_send_action_tx_status (struct wpa_supplicant *wpa_s, const u8 *dst, const u8 *data, size_t data_len, enum offchannel_send_action_result result)
 TX status callback. More...
 
int offchannel_send_action (struct wpa_supplicant *wpa_s, unsigned int freq, const u8 *dst, const u8 *src, const u8 *bssid, const u8 *buf, size_t len, unsigned int wait_time, void(*tx_cb)(struct wpa_supplicant *wpa_s, unsigned int freq, const u8 *dst, const u8 *src, const u8 *bssid, const u8 *data, size_t data_len, enum offchannel_send_action_resultresult), int no_cck)
 Request off-channel Action frame TX. More...
 
void offchannel_send_action_done (struct wpa_supplicant *wpa_s)
 Notify completion of Action frame sequence. More...
 
void offchannel_remain_on_channel_cb (struct wpa_supplicant *wpa_s, unsigned int freq, unsigned int duration)
 Remain-on-channel callback function. More...
 
void offchannel_cancel_remain_on_channel_cb (struct wpa_supplicant *wpa_s, unsigned int freq)
 Remain-on-channel stopped callback. More...
 
const void * offchannel_pending_action_tx (struct wpa_supplicant *wpa_s)
 Check whether there is a pending Action TX. More...
 
void offchannel_clear_pending_action_tx (struct wpa_supplicant *wpa_s)
 Clear pending Action frame TX. More...
 
void offchannel_deinit (struct wpa_supplicant *wpa_s)
 Deinit off-channel operations. More...
 

Detailed Description

wpa_supplicant - Off-channel Action frame TX/RX Copyright (c) 2011, Qualcomm Atheros

Function Documentation

void offchannel_cancel_remain_on_channel_cb ( struct wpa_supplicant wpa_s,
unsigned int  freq 
)

Remain-on-channel stopped callback.

Parameters
wpa_sPointer to wpa_supplicant data
freqFrequency (in MHz) of the selected channel

This function is called whenever the driver notifies termination of a remain-on-channel operation.

void offchannel_clear_pending_action_tx ( struct wpa_supplicant wpa_s)

Clear pending Action frame TX.

Parameters
wpa_sPointer to wpa_supplicant data
void offchannel_deinit ( struct wpa_supplicant wpa_s)

Deinit off-channel operations.

Parameters
wpa_sPointer to wpa_supplicant data

This function is used to free up any allocated resources for off-channel operations.

const void* offchannel_pending_action_tx ( struct wpa_supplicant wpa_s)

Check whether there is a pending Action TX.

Parameters
wpa_sPointer to wpa_supplicant data
Returns
Pointer to pending frame or NULL if no pending operation

This function can be used to check whether there is a pending Action frame TX operation. The returned pointer should be used only for checking whether it is NULL (no pending frame) or to print the pointer value in debug information (i.e., the pointer should not be dereferenced).

void offchannel_remain_on_channel_cb ( struct wpa_supplicant wpa_s,
unsigned int  freq,
unsigned int  duration 
)

Remain-on-channel callback function.

Parameters
wpa_sPointer to wpa_supplicant data
freqFrequency (in MHz) of the selected channel
durationDuration of the remain-on-channel operation in milliseconds

This function is called whenever the driver notifies beginning of a remain-on-channel operation.

int offchannel_send_action ( struct wpa_supplicant wpa_s,
unsigned int  freq,
const u8 *  dst,
const u8 *  src,
const u8 *  bssid,
const u8 *  buf,
size_t  len,
unsigned int  wait_time,
void(*)(struct wpa_supplicant *wpa_s, unsigned int freq, const u8 *dst, const u8 *src, const u8 *bssid, const u8 *data, size_t data_len, enum offchannel_send_action_resultresult)  tx_cb,
int  no_cck 
)

Request off-channel Action frame TX.

Parameters
wpa_sPointer to wpa_supplicant data
freqThe frequency in MHz indicating the channel on which the frame is to transmitted or 0 for the current channel (only if associated)
dstAction frame destination MAC address
srcAction frame source MAC address
bssidAction frame BSSID
bufFrame to transmit starting from the Category field
lenLength of buf in bytes
wait_timeWait time for response in milliseconds
tx_cbCallback function for indicating TX status or NULL for now callback
no_cckWhether CCK rates are to be disallowed for TX rate selection
Returns
0 on success or -1 on failure

This function is used to request an Action frame to be transmitted on the current operating channel or on another channel (off-channel). The actual frame transmission will be delayed until the driver is ready on the specified channel. The wait_time parameter can be used to request the driver to remain awake on the channel to wait for a response.

void offchannel_send_action_done ( struct wpa_supplicant wpa_s)

Notify completion of Action frame sequence.

Parameters
wpa_sPointer to wpa_supplicant data

This function can be used to cancel a wait for additional response frames on the channel that was used with offchannel_send_action().

void offchannel_send_action_tx_status ( struct wpa_supplicant wpa_s,
const u8 *  dst,
const u8 *  data,
size_t  data_len,
enum offchannel_send_action_result  result 
)

TX status callback.

Parameters
wpa_sPointer to wpa_supplicant data
dstDestination MAC address of the transmitted Action frame
dataTransmitted frame payload
data_lenLength of data in bytes
resultTX status

This function is called whenever the driver indicates a TX status event for a frame sent by offchannel_send_action() using wpa_drv_send_action().