365 lines
14 KiB
C
365 lines
14 KiB
C
|
/*
|
||
|
* Neighbor Awareness Networking
|
||
|
*
|
||
|
* Copyright (C) 1999-2017, Broadcom Corporation
|
||
|
*
|
||
|
* Unless you and Broadcom execute a separate written software license
|
||
|
* agreement governing use of this software, this software is licensed to you
|
||
|
* under the terms of the GNU General Public License version 2 (the "GPL"),
|
||
|
* available at http://www.broadcom.com/licenses/GPLv2.php, with the
|
||
|
* following added to such license:
|
||
|
*
|
||
|
* As a special exception, the copyright holders of this software give you
|
||
|
* permission to link this software with independent modules, and to copy and
|
||
|
* distribute the resulting executable under terms of your choice, provided that
|
||
|
* you also meet, for each linked independent module, the terms and conditions of
|
||
|
* the license of that module. An independent module is a module which is not
|
||
|
* derived from this software. The special exception does not apply to any
|
||
|
* modifications of the software.
|
||
|
*
|
||
|
* Notwithstanding the above, under no circumstances may you combine this
|
||
|
* software in any way with any other Broadcom software provided under a license
|
||
|
* other than the GPL, without Broadcom's express prior written consent.
|
||
|
*
|
||
|
* <<Broadcom-WL-IPTag/Open:>>
|
||
|
*
|
||
|
* $Id: wl_cfgnan.h 650782 2016-07-22 11:51:53Z $
|
||
|
*/
|
||
|
|
||
|
#ifndef _wl_cfgnan_h_
|
||
|
#define _wl_cfgnan_h_
|
||
|
|
||
|
#define NAN_IOCTL_BUF_SIZE 512
|
||
|
#define NAN_EVENT_NAME_MAX_LEN 40
|
||
|
#define NAN_CONFIG_ATTR_MAX_LEN 24
|
||
|
#define NAN_RTT_IOVAR_BUF_SIZE 1024
|
||
|
#define WL_NAN_EVENT_CLEAR_BIT 32
|
||
|
#define NAN_EVENT_MASK_ALL 0x7fffffff
|
||
|
|
||
|
#define NAN_MAXIMUM_ID_NUMBER 255
|
||
|
#define NAN_MAXIMUM_MASTER_PREFERENCE 255
|
||
|
#ifdef NAN_DP
|
||
|
#define MAX_IF_ADD_WAIT_TIME 1000
|
||
|
#endif /* NAN_DP */
|
||
|
#define NAN_INVALID_ID(id) (id > NAN_MAXIMUM_ID_NUMBER)
|
||
|
#define NAN_INVALID_ROLE(role) (role > WL_NAN_ROLE_ANCHOR_MASTER)
|
||
|
#define NAN_INVALID_CHANSPEC(chanspec) ((chanspec == INVCHANSPEC) || \
|
||
|
(chanspec == 0))
|
||
|
#define NAN_INVALID_EVENT(num) ((num < WL_NAN_EVENT_START) || \
|
||
|
(num >= WL_NAN_EVENT_INVALID))
|
||
|
#define NAN_INVALID_PROXD_EVENT(num) (num != WLC_E_PROXD_NAN_EVENT)
|
||
|
#define NAN_EVENT_BIT(event) (1U << (event - WL_NAN_EVENT_START))
|
||
|
#define NAME_TO_STR(name) #name
|
||
|
#define NAN_ID_CTRL_SIZE ((NAN_MAXIMUM_ID_NUMBER/8) + 1)
|
||
|
|
||
|
#define SUPP_EVENT_PREFIX "CTRL-EVENT-"
|
||
|
#define EVENT_RTT_STATUS_STR "NAN-RTT-STATUS"
|
||
|
|
||
|
#define TIMESTAMP_PREFIX "TSF=" /* timestamp */
|
||
|
#define AMR_PREFIX "AMR=" /* anchor master rank */
|
||
|
#define DISTANCE_PREFIX "DIST=" /* distance */
|
||
|
#define ATTR_PREFIX "ATTR=" /* attribute */
|
||
|
#define ROLE_PREFIX "ROLE=" /* role */
|
||
|
#define CHAN_PREFIX "CHAN=" /* channel */
|
||
|
#define BITMAP_PREFIX "BMAP=" /* bitmap */
|
||
|
#define DEBUG_PREFIX "DEBUG=" /* debug enable/disable flag */
|
||
|
#define DW_LEN_PREFIX "DW_LEN=" /* discovery window length */
|
||
|
#define DW_INT_PREFIX "DW_INT=" /* discovery window interval */
|
||
|
#define STATUS_PREFIX "STATUS=" /* status */
|
||
|
#define PUB_ID_PREFIX "PUB_ID=" /* publisher id */
|
||
|
#define SUB_ID_PREFIX "SUB_ID=" /* subscriber id */
|
||
|
#define INSTANCE_ID_PREFIX "LOCAL_ID=" /* Instance id */
|
||
|
#define REMOTE_INSTANCE_ID_PREFIX "PEER_ID=" /* Peer id */
|
||
|
|
||
|
#ifdef NAN_P2P_CONFIG
|
||
|
#define P2P_IE_PREFIX "P2P_IE=" /* p2p ie id */
|
||
|
#define IE_EN_PREFIX "ENBLE_IE=" /* enable p2p ie */
|
||
|
#endif
|
||
|
#define PUB_PR_PREFIX "PUB_PR=" /* publish period */
|
||
|
#define PUB_INT_PREFIX "PUB_INT=" /* publish interval (ttl) */
|
||
|
#define CLUS_ID_PREFIX "CLUS_ID=" /* cluster id */
|
||
|
#define IF_ADDR_PREFIX "IF_ADDR=" /* IF address */
|
||
|
#define MAC_ADDR_PREFIX "MAC_ADDR=" /* mac address */
|
||
|
#define SVC_HASH_PREFIX "SVC_HASH=" /* service hash */
|
||
|
#define SVC_INFO_PREFIX "SVC_INFO=" /* service information */
|
||
|
#define HOP_COUNT_PREFIX "HOP_COUNT=" /* hop count */
|
||
|
#define MASTER_PREF_PREFIX "MASTER_PREF=" /* master preference */
|
||
|
#define ACTIVE_OPTION "ACTIVE" /* Active Subscribe. */
|
||
|
#define SOLICITED_OPTION "SOLICITED" /* Solicited Publish. */
|
||
|
#define UNSOLICITED_OPTION "UNSOLICITED" /* Unsolicited Publish. */
|
||
|
/* anchor master beacon transmission time */
|
||
|
#define AMBTT_PREFIX "AMBTT="
|
||
|
/* passive scan period for cluster merge */
|
||
|
#define SCAN_PERIOD_PREFIX "SCAN_PERIOD="
|
||
|
/* passive scan interval for cluster merge */
|
||
|
#define SCAN_INTERVAL_PREFIX "SCAN_INTERVAL="
|
||
|
#define BCN_INTERVAL_PREFIX "BCN_INTERVAL="
|
||
|
|
||
|
#define NAN_EVENT_STR_STARTED "NAN-STARTED"
|
||
|
#define NAN_EVENT_STR_JOINED "NAN-JOINED"
|
||
|
#define NAN_EVENT_STR_ROLE_CHANGE "NAN-ROLE-CHANGE"
|
||
|
#define NAN_EVENT_STR_SCAN_COMPLETE "NAN-SCAN-COMPLETE"
|
||
|
#define NAN_EVENT_STR_SDF_RX "NAN-SDF-RX"
|
||
|
#define NAN_EVENT_STR_REPLIED "NAN-REPLIED"
|
||
|
#define NAN_EVENT_STR_TERMINATED "NAN-TERMINATED"
|
||
|
#define NAN_EVENT_STR_FOLLOWUP_RX "NAN-FOLLOWUP-RX"
|
||
|
#define NAN_EVENT_STR_STATUS_CHANGE "NAN-STATUS-CHANGE"
|
||
|
#define NAN_EVENT_STR_MERGED "NAN-MERGED"
|
||
|
#define NAN_EVENT_STR_STOPPED "NAN-STOPPED"
|
||
|
#define NAN_EVENT_STR_P2P_RX "NAN-P2P-RX"
|
||
|
#define NAN_EVENT_STR_WINDOW_BEGUN_P2P "NAN-WINDOW-BEGUN-P2P"
|
||
|
#define NAN_EVENT_STR_WINDOW_BEGUN_MESH "NAN-WINDOW-BEGUN-MESH"
|
||
|
#define NAN_EVENT_STR_WINDOW_BEGUN_IBSS "NAN-WINDOW-BEGUN-IBSS"
|
||
|
#define NAN_EVENT_STR_WINDOW_BEGUN_RANGING "NAN-WINDOW-BEGUN-RANGING"
|
||
|
#define NAN_EVENT_STR_INVALID "NAN-INVALID"
|
||
|
|
||
|
#ifdef NAN_DP
|
||
|
enum nan_dp_states {
|
||
|
NAN_DP_STATE_DISABLED = 0,
|
||
|
NAN_DP_STATE_ENABLED = 1
|
||
|
};
|
||
|
#endif /* NAN_DP */
|
||
|
|
||
|
enum nan_de_event_type {
|
||
|
NAN_EVENT_START = 0,
|
||
|
NAN_EVENT_JOIN = 1
|
||
|
};
|
||
|
|
||
|
typedef struct nan_str_data {
|
||
|
u8 *data;
|
||
|
u32 dlen;
|
||
|
} nan_str_data_t;
|
||
|
|
||
|
typedef struct nan_mac_list {
|
||
|
u8 *list;
|
||
|
u32 num_mac_addr;
|
||
|
} nan_mac_list_t;
|
||
|
|
||
|
typedef struct nan_config_attr {
|
||
|
char name[NAN_CONFIG_ATTR_MAX_LEN]; /* attribute name */
|
||
|
u16 type; /* attribute xtlv type */
|
||
|
} nan_config_attr_t;
|
||
|
|
||
|
typedef struct wl_nan_sid_beacon_tune {
|
||
|
u8 sid_enable; /* flag for sending service id in beacon */
|
||
|
u8 sid_count; /* Limit for number of SIDs to be included in Beacons */
|
||
|
} wl_nan_sid_beacon_ctrl_t;
|
||
|
|
||
|
typedef struct nan_cmd_data {
|
||
|
nan_config_attr_t attr; /* set config attributes */
|
||
|
nan_str_data_t svc_hash; /* service hash */
|
||
|
nan_str_data_t svc_info; /* service information */
|
||
|
nan_str_data_t p2p_info; /* p2p information */
|
||
|
struct ether_addr mac_addr; /* mac address */
|
||
|
struct ether_addr clus_id; /* cluster id */
|
||
|
struct ether_addr if_addr; /* if addr */
|
||
|
u32 beacon_int; /* beacon interval */
|
||
|
u32 ttl; /* time to live */
|
||
|
u32 period; /* publish period */
|
||
|
u32 bmap; /* bitmap */
|
||
|
u32 role; /* role */
|
||
|
wl_nan_instance_id_t pub_id; /* publisher id */
|
||
|
wl_nan_instance_id_t sub_id; /* subscriber id */
|
||
|
wl_nan_instance_id_t local_id; /* Local id */
|
||
|
wl_nan_instance_id_t remote_id; /* Remote id */
|
||
|
uint32 flags; /* Flag bits */
|
||
|
u16 dw_len; /* discovery window length */
|
||
|
u16 master_pref; /* master preference */
|
||
|
chanspec_t chanspec; /* channel */
|
||
|
u8 debug_flag; /* debug enable/disable flag */
|
||
|
u8 life_count; /* life count of the instance */
|
||
|
u8 srf_type; /* SRF type */
|
||
|
u8 srf_include; /* SRF include */
|
||
|
u8 use_srf; /* use SRF */
|
||
|
nan_str_data_t rx_match; /* matching filter rx */
|
||
|
nan_str_data_t tx_match; /* matching filter tx */
|
||
|
nan_mac_list_t mac_list; /* mac list */
|
||
|
uint8 hop_count_limit; /* hop count limit */
|
||
|
uint8 nan_band; /* nan band <A/B/AUTO> */
|
||
|
uint8 support_5g; /* To decide dual band support */
|
||
|
uint32 nan_oui; /* configured nan oui */
|
||
|
#ifdef NAN_DP
|
||
|
struct ether_addr data_cluster_id; /* data cluster id */
|
||
|
#endif /* NAN_DP */
|
||
|
wl_nan_sid_beacon_ctrl_t sid_beacon; /* sending service id in beacon */
|
||
|
} nan_cmd_data_t;
|
||
|
|
||
|
typedef int (nan_func_t)(struct net_device *ndev, struct bcm_cfg80211 *cfg,
|
||
|
char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
|
||
|
typedef struct nan_cmd {
|
||
|
const char *name; /* command name */
|
||
|
nan_func_t *func; /* command hadler */
|
||
|
} nan_cmd_t;
|
||
|
|
||
|
typedef struct nan_event_hdr {
|
||
|
u16 event_subtype;
|
||
|
u32 flags; /* future use */
|
||
|
} nan_event_hdr_t;
|
||
|
|
||
|
typedef struct wl_nan_tlv_data {
|
||
|
wl_nan_status_t nstatus; /* status data */
|
||
|
wl_nan_disc_params_t params; /* discovery parameters */
|
||
|
struct ether_addr mac_addr; /* peer mac address */
|
||
|
struct ether_addr clus_id; /* cluster id */
|
||
|
nan_str_data_t svc_info; /* service info */
|
||
|
nan_str_data_t vend_info; /* vendor info */
|
||
|
/* anchor master beacon transmission time */
|
||
|
u32 ambtt;
|
||
|
u32 dev_role; /* device role */
|
||
|
u16 inst_id; /* instance id */
|
||
|
u16 peer_inst_id; /* Peer instance id */
|
||
|
u16 pub_id; /* publisher id */
|
||
|
u16 sub_id; /* subscriber id */
|
||
|
u16 master_pref; /* master preference */
|
||
|
chanspec_t chanspec; /* channel */
|
||
|
u8 amr[NAN_MASTER_RANK_LEN]; /* anchor master role */
|
||
|
u8 svc_name[WL_NAN_SVC_HASH_LEN]; /* service name */
|
||
|
u8 hop_count; /* hop count */
|
||
|
u8 enabled; /* nan status flag */
|
||
|
nan_scan_params_t scan_params; /* scan_param */
|
||
|
int reason_code; /* reason code */
|
||
|
} wl_nan_tlv_data_t;
|
||
|
|
||
|
typedef struct _nan_de_event_data {
|
||
|
wl_nan_cfg_status_t *nstatus;
|
||
|
u8 nan_de_evt_type;
|
||
|
} nan_de_event_data_t;
|
||
|
|
||
|
typedef struct _nan_hal_resp {
|
||
|
unsigned short instance_id;
|
||
|
unsigned short subcmd;
|
||
|
int status;
|
||
|
int value;
|
||
|
} nan_hal_resp_t;
|
||
|
|
||
|
#ifdef NAN_DP
|
||
|
typedef struct nan_data_path_peer {
|
||
|
struct ether_addr addr; /* peer mac address */
|
||
|
chanspec_t chanspec; /* Channel Specification */
|
||
|
} nan_data_path_peer_t;
|
||
|
#endif /* NAN_DP */
|
||
|
|
||
|
extern int wl_cfgnan_set_vars_cbfn(void *ctx, uint8 *tlv_buf,
|
||
|
uint16 type, uint16 len);
|
||
|
extern int wl_cfgnan_enable_events(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg);
|
||
|
extern int wl_cfgnan_start_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_stop_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_support_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_status_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_pub_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_p2p_ie_add_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_p2p_ie_enable_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_p2p_ie_del_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
|
||
|
extern int wl_cfgnan_sub_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_cancel_pub_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_cancel_sub_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_transmit_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_set_config_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_rtt_config_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
extern int wl_cfgnan_rtt_find_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
#ifdef WL_NAN_DEBUG
|
||
|
extern int wl_cfgnan_debug_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
#endif /* WL_NAN_DEBUG */
|
||
|
extern int wl_cfgnan_cmd_handler(struct net_device *dev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int cmd_len);
|
||
|
extern s32 wl_cfgnan_notify_nan_status(struct bcm_cfg80211 *cfg,
|
||
|
bcm_struct_cfgdev *cfgdev, const wl_event_msg_t *e, void *data);
|
||
|
extern s32 wl_cfgnan_notify_proxd_status(struct bcm_cfg80211 *cfg,
|
||
|
bcm_struct_cfgdev *cfgdev, const wl_event_msg_t *e, void *data);
|
||
|
extern int wl_cfgnan_generate_inst_id(struct bcm_cfg80211 *cfg,
|
||
|
uint8 inst_type, uint8 *p_inst_id);
|
||
|
extern int wl_cfgnan_validate_inst_id(struct bcm_cfg80211 *cfg,
|
||
|
uint8 inst_id);
|
||
|
extern int wl_cfgnan_remove_inst_id(struct bcm_cfg80211 *cfg,
|
||
|
uint8 inst_id);
|
||
|
extern int wl_cfgnan_get_inst_type(struct bcm_cfg80211 *cfg,
|
||
|
uint8 inst_id, uint8 *inst_type);
|
||
|
|
||
|
typedef enum {
|
||
|
NAN_ATTRIBUTE_HEADER = 100,
|
||
|
NAN_ATTRIBUTE_HANDLE,
|
||
|
NAN_ATTRIBUTE_TRANSAC_ID,
|
||
|
/* NAN Enable request attributes */
|
||
|
NAN_ATTRIBUTE_5G_SUPPORT,
|
||
|
NAN_ATTRIBUTE_CLUSTER_LOW,
|
||
|
NAN_ATTRIBUTE_CLUSTER_HIGH,
|
||
|
NAN_ATTRIBUTE_SID_BEACON,
|
||
|
NAN_ATTRIBUTE_SYNC_DISC_5G,
|
||
|
NAN_ATTRIBUTE_RSSI_CLOSE,
|
||
|
NAN_ATTRIBUTE_RSSI_MIDDLE,
|
||
|
NAN_ATTRIBUTE_RSSI_PROXIMITY,
|
||
|
NAN_ATTRIBUTE_HOP_COUNT_LIMIT,
|
||
|
NAN_ATTRIBUTE_RANDOM_TIME,
|
||
|
NAN_ATTRIBUTE_MASTER_PREF,
|
||
|
NAN_ATTRIBUTE_PERIODIC_SCAN_INTERVAL,
|
||
|
/* Nan Publish/Subscribe request Attributes */
|
||
|
NAN_ATTRIBUTE_PUBLISH_ID,
|
||
|
NAN_ATTRIBUTE_TTL,
|
||
|
NAN_ATTRIBUTE_PERIOD,
|
||
|
NAN_ATTRIBUTE_REPLIED_EVENT_FLAG,
|
||
|
NAN_ATTRIBUTE_PUBLISH_TYPE,
|
||
|
NAN_ATTRIBUTE_TX_TYPE,
|
||
|
NAN_ATTRIBUTE_PUBLISH_COUNT,
|
||
|
NAN_ATTRIBUTE_SERVICE_NAME_LEN,
|
||
|
NAN_ATTRIBUTE_SERVICE_NAME,
|
||
|
NAN_ATTRIBUTE_SERVICE_SPECIFIC_INFO_LEN,
|
||
|
NAN_ATTRIBUTE_SERVICE_SPECIFIC_INFO,
|
||
|
NAN_ATTRIBUTE_RX_MATCH_FILTER_LEN,
|
||
|
NAN_ATTRIBUTE_RX_MATCH_FILTER,
|
||
|
NAN_ATTRIBUTE_TX_MATCH_FILTER_LEN,
|
||
|
NAN_ATTRIBUTE_TX_MATCH_FILTER,
|
||
|
NAN_ATTRIBUTE_SUBSCRIBE_ID,
|
||
|
NAN_ATTRIBUTE_SUBSCRIBE_TYPE,
|
||
|
NAN_ATTRIBUTE_SERVICERESPONSEFILTER,
|
||
|
NAN_ATTRIBUTE_SERVICERESPONSEINCLUDE,
|
||
|
NAN_ATTRIBUTE_USESERVICERESPONSEFILTER,
|
||
|
NAN_ATTRIBUTE_SSIREQUIREDFORMATCHINDICATION,
|
||
|
NAN_ATTRIBUTE_SUBSCRIBE_MATCH,
|
||
|
NAN_ATTRIBUTE_SUBSCRIBE_COUNT,
|
||
|
NAN_ATTRIBUTE_MAC_ADDR,
|
||
|
NAN_ATTRIBUTE_MAC_ADDR_LIST,
|
||
|
NAN_ATTRIBUTE_MAC_ADDR_LIST_NUM_ENTRIES,
|
||
|
NAN_ATTRIBUTE_PUBLISH_MATCH,
|
||
|
/* Nan Event attributes */
|
||
|
NAN_ATTRIBUTE_ENABLE_STATUS,
|
||
|
NAN_ATTRIBUTE_JOIN_STATUS,
|
||
|
NAN_ATTRIBUTE_ROLE,
|
||
|
NAN_ATTRIBUTE_CHANNEL, /* channel */
|
||
|
NAN_ATTRIBUTE_PEER_ID,
|
||
|
NAN_ATTRIBUTE_INST_ID,
|
||
|
NAN_ATTRIBUTE_OUI,
|
||
|
NAN_ATTRIBUTE_DATA_IF_ADD, /* NAN DP Interface Address */
|
||
|
NAN_ATTRIBUTE_STATUS,
|
||
|
NAN_ATTRIBUTE_DE_EVENT_TYPE
|
||
|
} NAN_ATTRIBUTE;
|
||
|
|
||
|
#define NAN_BLOOM_LENGTH_DEFAULT 240
|
||
|
#define NAN_SRF_MAX_MAC (NAN_BLOOM_LENGTH_DEFAULT / ETHER_ADDR_LEN)
|
||
|
|
||
|
#ifdef NAN_DP
|
||
|
int wl_cfgnan_data_path_open_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
int wl_cfgnan_data_path_close_handler(struct net_device *ndev,
|
||
|
struct bcm_cfg80211 *cfg, char *cmd, int size, nan_cmd_data_t *cmd_data);
|
||
|
#endif /* NAN_DP */
|
||
|
#endif /* _wl_cfgnan_h_ */
|