Files
ambz-sdk/lib/amb1_sdk/common/api/wifi/wifi_promisc.h

54 lines
1.5 KiB
C

#ifndef WIFI_PROMISC_H
#define WIFI_PROMISC_H
#include <platform/platform_stdlib.h>
#include "FreeRTOS.h"
#include "wifi/wifi_conf.h"
#ifdef __cplusplus
extern "C" {
#endif
// Promisc mode function declarations
void promisc_deinit(void *padapter);
int promisc_recv_func(void *padapter, void *rframe);
int promisc_recv_lens_func(void *padapter, u8 *payload, u8 plen);
int promisc_filter_retransmit_pkt(u8 enable, u8 filter_interval_ms);
int promisc_filter_with_len(u16 len);
int promisc_set(rtw_rcr_level_t enabled,
void (*callback)(unsigned char *, unsigned int, void *),
unsigned char len_used);
unsigned char is_promisc_enabled(void);
int promisc_get_fixed_channel(void *fixed_bssid, u8 *ssid, int *ssid_length);
void promisc_filter_by_ap_and_phone_mac(u8 enable, void *ap_mac,
void *phone_mac);
// Packet filter functions
#ifdef CONFIG_PROMISC
void promisc_init_packet_filter(void);
int promisc_add_packet_filter(u8 filter_id, rtw_packet_filter_pattern_t *patt,
rtw_packet_filter_rule_t rule);
int promisc_enable_packet_filter(u8 filter_id);
int promisc_disable_packet_filter(u8 filter_id);
int promisc_remove_packet_filter(u8 filter_id);
#endif
// Command function
void cmd_promisc(int argc, char **argv);
// Constants
#define MAX_PACKET_FILTER_INFO 5
#define FILTER_ID_INIT_VALUE 10
#ifdef CONFIG_INIC_CMD_RSP
// maximum packets for each channel
#define MAX_INIC_FRAME_NUM 50
#endif
#ifdef __cplusplus
}
#endif
#endif /* WIFI_PROMISC_H */