97 lines
3.6 KiB
C
97 lines
3.6 KiB
C
/*
|
|
* RWL definitions of
|
|
* Broadcom 802.11bang Networking Device Driver
|
|
*
|
|
* Copyright (C) 2012, Broadcom Corporation
|
|
* All Rights Reserved.
|
|
*
|
|
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
|
|
* the contents of this file may not be disclosed to third parties, copied
|
|
* or duplicated in any form, in whole or in part, without the prior
|
|
* written permission of Broadcom Corporation.
|
|
*
|
|
* $Id: rwl_wifi.h 281527 2011-09-02 17:12:53Z $
|
|
*
|
|
*/
|
|
|
|
#ifndef _rwl_wifi_h_
|
|
#define _rwl_wifi_h_
|
|
|
|
#if defined(RWL_WIFI) || defined(WIFI_REFLECTOR) || defined(RFAWARE)
|
|
|
|
#define RWL_ACTION_WIFI_CATEGORY 127 /* Vendor-specific category value for WiFi */
|
|
#define RWL_WIFI_OUI_BYTE0 0x00 /* BRCM-specific public OUI */
|
|
#define RWL_WIFI_OUI_BYTE1 0x90
|
|
#define RWL_WIFI_OUI_BYTE2 0x4c
|
|
#define RWL_WIFI_ACTION_FRAME_SIZE sizeof(struct dot11_action_wifi_vendor_specific)
|
|
#define RWL_WIFI_FIND_MY_PEER 0x09 /* Used while finding server */
|
|
#define RWL_WIFI_FOUND_PEER 0x0A /* Server response to the client */
|
|
#define RWL_WIFI_DEFAULT 0x00
|
|
#define RWL_ACTION_WIFI_FRAG_TYPE 0x55 /* Fragment indicator for receiver */
|
|
|
|
/*
|
|
* Information about the action frame data fields in the dot11_action_wifi_vendor_specific
|
|
* cdc structure (1 to 16). This does not include the status flag. Since this
|
|
* is not directly visible to the driver code, we can't use sizeof(struct cdc_ioctl).
|
|
* Hence Ref MAC address offset starts from byte 17.
|
|
* REF MAC ADDR (6 bytes (MAC Address len) from byte 17 to 22)
|
|
* DUT MAC ADDR (6 bytes after the REF MAC Address byte 23 to 28)
|
|
* unused (byte 29 to 49)
|
|
* REF/Client Channel offset (50)
|
|
* DUT/Server channel offset (51)
|
|
* ---------------------------------------------------------------------------------------
|
|
* cdc struct|REF MAC ADDR|DUT_MAC_ADDR|un used|REF Channel|DUT channel|Action frame Data|
|
|
* 1---------17-----------23-------------------50----------51----------52----------------1040
|
|
* REF MAC addr after CDC struct without status flag (status flag not used by wifi)
|
|
*/
|
|
|
|
#define RWL_REF_MAC_ADDRESS_OFFSET 17
|
|
#define RWL_DUT_MAC_ADDRESS_OFFSET 23
|
|
#define RWL_WIFI_CLIENT_CHANNEL_OFFSET 50
|
|
#define RWL_WIFI_SERVER_CHANNEL_OFFSET 51
|
|
|
|
#ifdef WIFI_REFLECTOR
|
|
#include <bcmcdc.h>
|
|
#define REMOTE_FINDSERVER_CMD 16
|
|
#define RWL_WIFI_ACTION_CMD "wifiaction"
|
|
#define RWL_WIFI_ACTION_CMD_LEN 11 /* With the NULL terminator */
|
|
#define REMOTE_SET_CMD 1
|
|
#define REMOTE_GET_CMD 2
|
|
#define REMOTE_REPLY 4
|
|
#define RWL_WIFI_DEFAULT_TYPE 0x00
|
|
#define RWL_WIFI_DEFAULT_SUBTYPE 0x00
|
|
#define RWL_ACTION_FRAME_DATA_SIZE 1024 /* fixed size for the wifi frame data */
|
|
#define RWL_WIFI_CDC_HEADER_OFFSET 0
|
|
#define RWL_WIFI_FRAG_DATA_SIZE 960 /* max size of the frag data */
|
|
#define RWL_DEFAULT_WIFI_FRAG_COUNT 127 /* maximum fragment count */
|
|
#define RWL_WIFI_RETRY 5 /* CMD retry count for wifi */
|
|
#define RWL_WIFI_SEND 5 /* WIFI frame sent count */
|
|
#define RWL_WIFI_SEND_DELAY 100 /* delay between two frames */
|
|
#define MICROSEC_CONVERTOR_VAL 1000
|
|
#ifndef IFNAMSIZ
|
|
#define IFNAMSIZ 16
|
|
#endif
|
|
|
|
typedef struct rem_packet {
|
|
rem_ioctl_t rem_cdc;
|
|
uchar message [RWL_ACTION_FRAME_DATA_SIZE];
|
|
} rem_packet_t;
|
|
|
|
struct send_packet {
|
|
char command [RWL_WIFI_ACTION_CMD_LEN];
|
|
dot11_action_wifi_vendor_specific_t response;
|
|
} PACKED;
|
|
typedef struct send_packet send_packet_t;
|
|
|
|
#define REMOTE_SIZE sizeof(rem_ioctl_t)
|
|
#endif /* WIFI_REFLECTOR */
|
|
|
|
typedef struct rwl_request {
|
|
struct rwl_request* next_request;
|
|
struct dot11_action_wifi_vendor_specific action_frame;
|
|
} rwl_request_t;
|
|
|
|
|
|
#endif /* defined(RWL_WIFI) || defined(WIFI_REFLECTOR) */
|
|
#endif /* _rwl_wifi_h_ */
|