XDK API  3.6.0
Documentation
Data Structures | Macros | Typedefs
wlan_rx_filters.h File Reference
#include "simplelink.h"
+ Include dependency graph for wlan_rx_filters.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  _WlanRxFilterOperationCommandBuff_t
 
struct  _WlanRxFilterPrePreparedFiltersCommandBuff_t
 
struct  _WlanRxFilterPrePreparedFiltersCommandResponseBuff_t
 
struct  _WlanRxFilterRetrieveEnableStatusCommandResponseBuff_t
 
struct  _WlanRxFilterUpdateArgsCommandBuff_t
 
struct  SlrxFilterAction_t
 
union  SlrxFilterActionType_t
 
struct  SlrxFilterCombinationType_t
 
union  SlrxFilterFlags_t
 
union  SlrxFilterHeaderArg_t
 
struct  SlrxFilterHeaderType_t
 
struct  SlrxFilterPayloadType_t
 
struct  SlrxFilterRegxPattern_t
 
union  SlrxFilterRule_t
 
struct  SlrxFilterRuleHeaderArgsAndMask_t
 
struct  SlrxFilterTrigger_t
 
union  SlrxFilterTriggerConnectionStates_t
 
union  SlrxFilterTriggerRoles_t
 

Macros

#define ACTION_ARG_EVENT   (2)
 
#define ACTION_ARG_GPIO   (4)
 
#define ACTION_ARG_REG_1_4   (0)
 
#define ACTION_ARG_TEMPLATE   (1)
 
#define ALWAYS_TRUE   (4)
 
#define BSSID_FIELD   (3)
 
#define CLEARBIT8(x, i)   x[i>>3]&=(0x80>>(i&7))^0xFF; /* < Clear bit,8 bit unsigned numbers = x , location = i */
 
#define COMBINATION   (1)
 
#define COMBINED_FUNC_AND   (1)
 
#define COMBINED_FUNC_NOT   (0)
 
#define COMBINED_FUNC_OR   (2)
 
#define COMPARE_FUNC_EQUAL   (1)
 
#define COMPARE_FUNC_IN_BETWEEN   (0)
 
#define COMPARE_FUNC_NOT_EQUAL_TO   (2)
 
#define COMPARE_FUNC_NOT_IN_BETWEEN   (3)
 
#define COMPARE_FUNC_NUM_OF_FILTER_COMPARE_FUNC   (4)
 
#define DST_PORT_FIELD   (15)
 
#define EXACT_PATTERN   (2)
 
#define FRAME_LENGTH_FIELD   (6)
 
#define FRAME_SUBTYPE_FIELD   (2)
 
#define FRAME_TYPE_FIELD   (1)
 
#define HEADER   (0)
 
#define IP_PROTOCOL_FIELD   (9)
 
#define IP_VERSION_FIELD   (8)
 
#define IPV4_DST_ADDRESS_FIELD   (11)
 
#define IPV4_SRC_ADRRESS_FIELD   (10)
 
#define IPV6_DST_ADDRESS_FIELD   (13)
 
#define IPV6_SRC_ADRRESS_FIELD   (12)
 
#define ISBITSET8(x, i)   ((x[i>>3] & (0x80>>(i&7)))!=0) /* < Is bit set, 8 bit unsigned numbers = x , location = i */
 
#define LIKELIHOOD_PATTERN   (3)
 
#define MAC_DST_ADDRESS_FIELD   (5)
 
#define MAC_SRC_ADDRESS_FIELD   (4)
 
#define MAX_RX_FILTER_COUNTER   (9)
 
#define NO_TRIGGER   (0)
 
#define NULL_FIELD_ID_TYPE   (0)
 
#define NUM_OF_FIELD_NAME_FIELD   (16)
 
#define NUM_OF_FILTER_TYPES   (5)
 
#define PROTOCOL_TYPE_FIELD   (7)
 
#define RX_FILTER_ACTION_DROP   (0x1)
 
#define RX_FILTER_ACTION_EVENT_TO_HOST   (0x40) /* unsupported */
 
#define RX_FILTER_ACTION_GPIO   (0x2)
 
#define RX_FILTER_ACTION_NULL   (0x0)
 
#define RX_FILTER_ACTION_ON_REG_DECREASE   (0x8)
 
#define RX_FILTER_ACTION_ON_REG_INCREASE   (0x4)
 
#define RX_FILTER_ACTION_ON_REG_RESET   (0x10)
 
#define RX_FILTER_ACTION_SEND_TEMPLATE   (0x20) /* unsupported */
 
#define RX_FILTER_BINARY   (0x1)
 
#define RX_FILTER_CONNECTION_STATE_STA_CONNECTED   (1)
 
#define RX_FILTER_CONNECTION_STATE_STA_HAS_IP   (4)
 
#define RX_FILTER_CONNECTION_STATE_STA_HAS_NO_IP   (8)
 
#define RX_FILTER_CONNECTION_STATE_STA_NOT_CONNECTED   (2)
 
#define RX_FILTER_COUNTER1   (1)
 
#define RX_FILTER_COUNTER2   (2)
 
#define RX_FILTER_COUNTER3   (3)
 
#define RX_FILTER_COUNTER4   (4)
 
#define RX_FILTER_COUNTER5   (5)
 
#define RX_FILTER_COUNTER6   (6)
 
#define RX_FILTER_COUNTER7   (7)
 
#define RX_FILTER_COUNTER8   (8)
 
#define RX_FILTER_ENABLE   (0x10)
 
#define RX_FILTER_PERSISTENT   (0x8)
 
#define RX_FILTER_ROLE_AP   (1)
 
#define RX_FILTER_ROLE_NULL   (0)
 
#define RX_FILTER_ROLE_PROMISCUOUS   (4)
 
#define RX_FILTER_ROLE_STA   (2)
 
#define RXFL_ACTION_NO_REG_NUMBER   (47) /* Action require counter number */
 
#define RXFL_ACTION_USE_REG1_TO_REG4   (68) /* Only counters 1 - 4 are allowed, for action */
 
#define RXFL_ACTION_USE_REG5_TO_REG8   (69) /* Only counters 5 - 8 are allowed, for action */
 
#define RXFL_CHILD_IS_ENABLED   (59) /* Can't disable filter while the child is enabled */
 
#define RXFL_DEPEDENCY_NOT_ON_THE_SAME_LAYER   (49) /* The filter and its dependency must be on the same layer */
 
#define RXFL_DEPENDENCY_IS_DISABLED   (58) /* Can't enable filetr in case its depndency filter is disabled */
 
#define RXFL_DEPENDENCY_IS_NOT_PERSISTENT   (74) /* Dependency filter is not persistent */
 
#define RXFL_DEPENDENT_FILTER_DEPENDENCY_ACTION_IS_DROP   (51) /* The dependent filter has Drop action, thus the filter can't be created */
 
#define RXFL_DEPENDENT_FILTER_DO_NOT_EXIST_1   (43) /* The parent filter is null */
 
#define RXFL_DEPENDENT_FILTER_DO_NOT_EXIST_2   (44) /* The parent filter don't exist */
 
#define RXFL_DEPENDENT_FILTER_IS_NOT_ENABLED   (61) /* The dependency filter is not enabled */
 
#define RXFL_DEPENDENT_FILTER_IS_NOT_PERSISTENT   (62) /* The dependency filter is not persistent */
 
#define RXFL_DEPENDENT_FILTER_LAYER_DO_NOT_FIT   (46) /* the filter and its dependency should be from the same layer */
 
#define RXFL_DEPENDENT_FILTER_SOFTWARE_FILTER_NOT_FIT   (75) /* Node filter can't be child of software filter and vice_versa */
 
#define RXFL_DEPENDENT_FILTER_SYSTEM_STATE_DO_NOT_FIT   (45) /* The filter and its dependency system state don't fit */
 
#define RXFL_FIELD_SUPPORT_ONLY_EQUAL_AND_NOTEQUAL   (67) /* Rule compare function Id is out of range */
 
#define RXFL_FILTER_DO_NOT_EXISTS   (50) /* The filter doesn't exists */
 
#define RXFL_FILTER_HAS_CHILDS   (60) /* The filter has childs and can't be removed */
 
#define RXFL_FRAME_TYPE_NOT_SUPPORTED   (38) /* ASCII frame type string is illegal */
 
#define RXFL_NO_FILTERS_ARE_DEFINED   (24) /* No filters are defined in the system */
 
#define RXFL_NUMBER_OF_ARGS_EXCEEDED   (48) /* Number of arguments excceded */
 
#define RXFL_NUMBER_OF_CONNECTION_POINTS_EXCEEDED   (52) /* Number of connection points exceeded */
 
#define RXFL_NUMBER_OF_FILTER_EXCEEDED   (23) /* Number of max filters excceded */
 
#define RXFL_OK   (0) /* O.K */
 
#define RXFL_OUTPUT_OR_INPUT_BUFFER_LENGTH_TOO_SMALL   (76) /* ! The output buffer length is smaller than required for that operation */
 
#define RXFL_RULE_FIELD_ID_NOT_SUPPORTED   (37) /* Rule field ID is out of range */
 
#define RXFL_RULE_HEADER_ACTION_TYPE_NOT_SUPPORTED   (42) /* The action type is not supported */
 
#define RXFL_RULE_HEADER_COMBINATION_OPERATOR_OUT_OF_RANGE   (33) /* Combination function Id is out of ramge */
 
#define RXFL_RULE_HEADER_COMPARE_FUNC_OUT_OF_RANGE   (39) /* The rule compare function is out of range */
 
#define RXFL_RULE_HEADER_FIELD_ID_ASCII_NOT_SUPPORTED   (36) /* This ASCII field ID is not supported */
 
#define RXFL_RULE_HEADER_FIELD_ID_OUT_OF_RANGE   (32) /* rule field Id is out of range */
 
#define RXFL_RULE_HEADER_NOT_SUPPORTED   (35) /* The header rule is not supported on current release */
 
#define RXFL_RULE_HEADER_OUT_OF_RANGE   (34) /* The header rule is out of range */
 
#define RXFL_RULE_HEADER_TRIGGER_COMPARE_FUNC_OUT_OF_RANGE   (41) /* The Trigger comparision function is out of range */
 
#define RXFL_RULE_HEADER_TRIGGER_OUT_OF_RANGE   (40) /* The Trigger is out of range */
 
#define RXFL_SYSTEM_STATE_NOT_SUPPORTED_FOR_THIS_FILTER   (72) /* System state is not supported */
 
#define RXFL_THE_FILTER_IS_NOT_OF_HEADER_TYPE   (65) /* The filter should be of header type */
 
#define RXFL_TRIGGER_USE_REG1_TO_REG4   (70) /* Only counters 1 - 4 are allowed, for trigger */
 
#define RXFL_TRIGGER_USE_REG5_TO_REG8   (71) /* Only counters 5 - 8 are allowed, for Tigger */
 
#define RXFL_UPDATE_NOT_SUPPORTED   (31) /* Update not supported */
 
#define RXFL_WRONG_COMPARE_FUNC_FOR_BROADCAST_ADDRESS   (64) /* The compare funcion is not suitable for broadcast address */
 
#define RXFL_WRONG_MULTICAST_ADDRESS   (63) /* The address should be of muticast type */
 
#define RXFL_WRONG_MULTICAST_BROADCAST_ADDRESS   (66) /* The address should be of type mutlicast or broadcast */
 
#define SETBIT8(x, i)   x[i>>3]|=(0x80>>(i&7)); /* < Set bit,8 bit unsigned numbers = x , location = i */
 
#define SL_ARP_AUTO_REPLY_PRE_PREPARED_FILTERS   (0)
 
#define SL_ENABLE_DISABLE_RX_FILTER   (0)
 
#define SL_FILTER_PRE_PREPARED_RETRIEVE_CREATE_REMOVE_STATE   (5)
 
#define SL_FILTER_PRE_PREPARED_SET_CREATE_REMOVE_STATE   (6)
 
#define SL_FILTER_RETRIEVE_ENABLE_STATE   (4)
 
#define SL_MULTICASTSIPV4_DROP_PREPREPARED_FILTERS   (1)
 
#define SL_MULTICASTSIPV6_DROP_PREPREPARED_FILTERS   (2)
 
#define SL_MULTICASTSWIFI_DROP_PREPREPARED_FILTERS   (3)
 
#define SL_REMOVE_RX_FILTER   (1)
 
#define SL_RX_FILTER_LENGTH_OF_REGX_PATTERN_LENGTH   (32)
 
#define SL_RX_FILTER_MAX_FILTERS   64
 
#define SL_RX_FILTER_MAX_PRE_PREPARED_FILTERS_SETS   (32)
 
#define SL_RX_FILTER_NUM_OF_BYTES_FOR_ACTIONS_ARGS   (5)
 
#define SL_RX_FILTER_NUM_OF_COMBINATION_TYPE_ARGS   (2)
 
#define SL_RX_FILTER_NUM_OF_FILTER_HEADER_ARGS   (2)
 
#define SL_RX_FILTER_NUM_OF_FILTER_PAYLOAD_ARGS   (2)
 
#define SL_STORE_RX_FILTERS   (2)
 
#define SL_UPDATE_RX_FILTER_ARGS   (3)
 
#define SRC_PORT_FIELD   (14)
 
#define TRIGGER_COMPARE_FUNC_BIGGER_THAN   (3)
 
#define TRIGGER_COMPARE_FUNC_EQUAL   (0)
 
#define TRIGGER_COMPARE_FUNC_NOT_EQUAL_TO   (1)
 
#define TRIGGER_COMPARE_FUNC_NUM_OF_FILTER_COMPARE_FUNC   (4)
 
#define TRIGGER_COMPARE_FUNC_SMALLER_THAN   (2)
 

Typedefs

typedef struct
_WlanRxFilterOperationCommandBuff_t 
_WlanRxFilterOperationCommandBuff_t
 
typedef struct
_WlanRxFilterPrePreparedFiltersCommandBuff_t 
_WlanRxFilterPrePreparedFiltersCommandBuff_t
 
typedef struct
_WlanRxFilterPrePreparedFiltersCommandResponseBuff_t 
_WlanRxFilterPrePreparedFiltersCommandResponseBuff_t
 
typedef struct
_WlanRxFilterRetrieveEnableStatusCommandResponseBuff_t 
_WlanRxFilterRetrieveEnableStatusCommandResponseBuff_t
 
typedef struct
_WlanRxFilterUpdateArgsCommandBuff_t 
_WlanRxFilterUpdateArgsCommandBuff_t
 
typedef struct SlrxFilterAction_t SlrxFilterAction_t
 
typedef _u8 SlrxFilterActionArg_t
 
typedef _u8 SlrxFilterActionArgs_t
 
typedef union
SlrxFilterActionType_t 
SlrxFilterActionType_t
 
typedef _u8 SlrxFilterAsciiArg_t
 
typedef _u8 SlrxFilterBinaryArg_t
 
typedef struct
SlrxFilterCombinationType_t 
SlrxFilterCombinationType_t
 
typedef _u8 SlrxFilterCombinationTypeOperator_t
 
typedef _u8 SlrxFilterCompareFunction_t
 
typedef _u8 SlrxFilterCompareMask_t
 
typedef _u8 SlrxFilterCounterId_t
 
typedef _u32 SlrxFilterDBTriggerArg_t
 
typedef union SlrxFilterFlags_t SlrxFilterFlags_t
 
typedef _u8 SlrxFilterHdrField_t
 
typedef union SlrxFilterHeaderArg_t SlrxFilterHeaderArg_t
 
typedef struct
SlrxFilterHeaderType_t 
SlrxFilterHeaderType_t
 
typedef _i8 SlrxFilterID_t
 
typedef _u8 SlrxFilterIdMask_t [128/8]
 
typedef _u32 SlrxFilterOffset_t
 
typedef _u8 SLrxFilterOperation_t
 
typedef struct
SlrxFilterPayloadType_t 
SlrxFilterPayloadType_t
 
typedef _u8 SlrxFilterPrePreparedFilters_t
 
typedef _u8 SlrxFilterPrePreparedFiltersMask_t [SL_RX_FILTER_MAX_PRE_PREPARED_FILTERS_SETS/8]
 
typedef struct
SlrxFilterRegxPattern_t 
SlrxFilterRegxPattern_t
 
typedef union SlrxFilterRule_t SlrxFilterRule_t
 
typedef struct
SlrxFilterRuleHeaderArgsAndMask_t 
SlrxFilterRuleHeaderArgsAndMask_t
 
typedef _u8 SlrxFilterRuleType_t
 
typedef struct SlrxFilterTrigger_t SlrxFilterTrigger_t
 
typedef union
SlrxFilterTriggerConnectionStates_t 
SlrxFilterTriggerConnectionStates_t
 
typedef union
SlrxFilterTriggerRoles_t 
SlrxFilterTriggerRoles_t
 
typedef _u8 SlrxTriggerCompareFunction_t
 

Macro Definition Documentation

#define ACTION_ARG_EVENT   (2)
#define ACTION_ARG_GPIO   (4)
#define ACTION_ARG_REG_1_4   (0)
#define ACTION_ARG_TEMPLATE   (1)
#define ALWAYS_TRUE   (4)
#define BSSID_FIELD   (3)
#define CLEARBIT8 (   x,
 
)    x[i>>3]&=(0x80>>(i&7))^0xFF; /* < Clear bit,8 bit unsigned numbers = x , location = i */
#define COMBINATION   (1)
#define COMBINED_FUNC_AND   (1)

filterID1 && filterID2

#define COMBINED_FUNC_NOT   (0)

!filterID1

#define COMBINED_FUNC_OR   (2)

filterID1 && filterID2

#define COMPARE_FUNC_EQUAL   (1)
#define COMPARE_FUNC_IN_BETWEEN   (0)
#define COMPARE_FUNC_NOT_EQUAL_TO   (2)
#define COMPARE_FUNC_NOT_IN_BETWEEN   (3)
#define COMPARE_FUNC_NUM_OF_FILTER_COMPARE_FUNC   (4)
#define DST_PORT_FIELD   (15)
#define EXACT_PATTERN   (2)
#define FRAME_LENGTH_FIELD   (6)
#define FRAME_SUBTYPE_FIELD   (2)
#define FRAME_TYPE_FIELD   (1)
#define HEADER   (0)
#define IP_PROTOCOL_FIELD   (9)
#define IP_VERSION_FIELD   (8)
#define IPV4_DST_ADDRESS_FIELD   (11)
#define IPV4_SRC_ADRRESS_FIELD   (10)
#define IPV6_DST_ADDRESS_FIELD   (13)
#define IPV6_SRC_ADRRESS_FIELD   (12)
#define ISBITSET8 (   x,
 
)    ((x[i>>3] & (0x80>>(i&7)))!=0) /* < Is bit set, 8 bit unsigned numbers = x , location = i */
#define LIKELIHOOD_PATTERN   (3)
#define MAC_DST_ADDRESS_FIELD   (5)
#define MAC_SRC_ADDRESS_FIELD   (4)
#define MAX_RX_FILTER_COUNTER   (9)
#define NO_TRIGGER   (0)
#define NULL_FIELD_ID_TYPE   (0)
#define NUM_OF_FIELD_NAME_FIELD   (16)
#define NUM_OF_FILTER_TYPES   (5)
#define PROTOCOL_TYPE_FIELD   (7)
#define RX_FILTER_ACTION_DROP   (0x1)
#define RX_FILTER_ACTION_EVENT_TO_HOST   (0x40) /* unsupported */
#define RX_FILTER_ACTION_GPIO   (0x2)
#define RX_FILTER_ACTION_NULL   (0x0)
#define RX_FILTER_ACTION_ON_REG_DECREASE   (0x8)
#define RX_FILTER_ACTION_ON_REG_INCREASE   (0x4)
#define RX_FILTER_ACTION_ON_REG_RESET   (0x10)
#define RX_FILTER_ACTION_SEND_TEMPLATE   (0x20) /* unsupported */
#define RX_FILTER_BINARY   (0x1)
#define RX_FILTER_CONNECTION_STATE_STA_CONNECTED   (1)
#define RX_FILTER_CONNECTION_STATE_STA_HAS_IP   (4)
#define RX_FILTER_CONNECTION_STATE_STA_HAS_NO_IP   (8)
#define RX_FILTER_CONNECTION_STATE_STA_NOT_CONNECTED   (2)
#define RX_FILTER_COUNTER1   (1)
#define RX_FILTER_COUNTER2   (2)
#define RX_FILTER_COUNTER3   (3)
#define RX_FILTER_COUNTER4   (4)
#define RX_FILTER_COUNTER5   (5)
#define RX_FILTER_COUNTER6   (6)
#define RX_FILTER_COUNTER7   (7)
#define RX_FILTER_COUNTER8   (8)
#define RX_FILTER_ENABLE   (0x10)
#define RX_FILTER_PERSISTENT   (0x8)
#define RX_FILTER_ROLE_AP   (1)
#define RX_FILTER_ROLE_NULL   (0)
#define RX_FILTER_ROLE_PROMISCUOUS   (4)
#define RX_FILTER_ROLE_STA   (2)
#define RXFL_ACTION_NO_REG_NUMBER   (47) /* Action require counter number */
#define RXFL_ACTION_USE_REG1_TO_REG4   (68) /* Only counters 1 - 4 are allowed, for action */
#define RXFL_ACTION_USE_REG5_TO_REG8   (69) /* Only counters 5 - 8 are allowed, for action */
#define RXFL_CHILD_IS_ENABLED   (59) /* Can't disable filter while the child is enabled */
#define RXFL_DEPEDENCY_NOT_ON_THE_SAME_LAYER   (49) /* The filter and its dependency must be on the same layer */
#define RXFL_DEPENDENCY_IS_DISABLED   (58) /* Can't enable filetr in case its depndency filter is disabled */
#define RXFL_DEPENDENCY_IS_NOT_PERSISTENT   (74) /* Dependency filter is not persistent */
#define RXFL_DEPENDENT_FILTER_DEPENDENCY_ACTION_IS_DROP   (51) /* The dependent filter has Drop action, thus the filter can't be created */
#define RXFL_DEPENDENT_FILTER_DO_NOT_EXIST_1   (43) /* The parent filter is null */
#define RXFL_DEPENDENT_FILTER_DO_NOT_EXIST_2   (44) /* The parent filter don't exist */
#define RXFL_DEPENDENT_FILTER_IS_NOT_ENABLED   (61) /* The dependency filter is not enabled */
#define RXFL_DEPENDENT_FILTER_IS_NOT_PERSISTENT   (62) /* The dependency filter is not persistent */
#define RXFL_DEPENDENT_FILTER_LAYER_DO_NOT_FIT   (46) /* the filter and its dependency should be from the same layer */
#define RXFL_DEPENDENT_FILTER_SOFTWARE_FILTER_NOT_FIT   (75) /* Node filter can't be child of software filter and vice_versa */
#define RXFL_DEPENDENT_FILTER_SYSTEM_STATE_DO_NOT_FIT   (45) /* The filter and its dependency system state don't fit */
#define RXFL_FIELD_SUPPORT_ONLY_EQUAL_AND_NOTEQUAL   (67) /* Rule compare function Id is out of range */
#define RXFL_FILTER_DO_NOT_EXISTS   (50) /* The filter doesn't exists */
#define RXFL_FILTER_HAS_CHILDS   (60) /* The filter has childs and can't be removed */
#define RXFL_FRAME_TYPE_NOT_SUPPORTED   (38) /* ASCII frame type string is illegal */
#define RXFL_NO_FILTERS_ARE_DEFINED   (24) /* No filters are defined in the system */
#define RXFL_NUMBER_OF_ARGS_EXCEEDED   (48) /* Number of arguments excceded */
#define RXFL_NUMBER_OF_CONNECTION_POINTS_EXCEEDED   (52) /* Number of connection points exceeded */
#define RXFL_NUMBER_OF_FILTER_EXCEEDED   (23) /* Number of max filters excceded */
#define RXFL_OK   (0) /* O.K */
#define RXFL_OUTPUT_OR_INPUT_BUFFER_LENGTH_TOO_SMALL   (76) /* ! The output buffer length is smaller than required for that operation */
#define RXFL_RULE_FIELD_ID_NOT_SUPPORTED   (37) /* Rule field ID is out of range */
#define RXFL_RULE_HEADER_ACTION_TYPE_NOT_SUPPORTED   (42) /* The action type is not supported */
#define RXFL_RULE_HEADER_COMBINATION_OPERATOR_OUT_OF_RANGE   (33) /* Combination function Id is out of ramge */
#define RXFL_RULE_HEADER_COMPARE_FUNC_OUT_OF_RANGE   (39) /* The rule compare function is out of range */
#define RXFL_RULE_HEADER_FIELD_ID_ASCII_NOT_SUPPORTED   (36) /* This ASCII field ID is not supported */
#define RXFL_RULE_HEADER_FIELD_ID_OUT_OF_RANGE   (32) /* rule field Id is out of range */
#define RXFL_RULE_HEADER_NOT_SUPPORTED   (35) /* The header rule is not supported on current release */
#define RXFL_RULE_HEADER_OUT_OF_RANGE   (34) /* The header rule is out of range */
#define RXFL_RULE_HEADER_TRIGGER_COMPARE_FUNC_OUT_OF_RANGE   (41) /* The Trigger comparision function is out of range */
#define RXFL_RULE_HEADER_TRIGGER_OUT_OF_RANGE   (40) /* The Trigger is out of range */
#define RXFL_SYSTEM_STATE_NOT_SUPPORTED_FOR_THIS_FILTER   (72) /* System state is not supported */
#define RXFL_THE_FILTER_IS_NOT_OF_HEADER_TYPE   (65) /* The filter should be of header type */
#define RXFL_TRIGGER_USE_REG1_TO_REG4   (70) /* Only counters 1 - 4 are allowed, for trigger */
#define RXFL_TRIGGER_USE_REG5_TO_REG8   (71) /* Only counters 5 - 8 are allowed, for Tigger */
#define RXFL_UPDATE_NOT_SUPPORTED   (31) /* Update not supported */
#define RXFL_WRONG_COMPARE_FUNC_FOR_BROADCAST_ADDRESS   (64) /* The compare funcion is not suitable for broadcast address */
#define RXFL_WRONG_MULTICAST_ADDRESS   (63) /* The address should be of muticast type */
#define RXFL_WRONG_MULTICAST_BROADCAST_ADDRESS   (66) /* The address should be of type mutlicast or broadcast */
#define SETBIT8 (   x,
 
)    x[i>>3]|=(0x80>>(i&7)); /* < Set bit,8 bit unsigned numbers = x , location = i */
#define SL_ARP_AUTO_REPLY_PRE_PREPARED_FILTERS   (0)
#define SL_ENABLE_DISABLE_RX_FILTER   (0)
#define SL_FILTER_PRE_PREPARED_RETRIEVE_CREATE_REMOVE_STATE   (5)
#define SL_FILTER_PRE_PREPARED_SET_CREATE_REMOVE_STATE   (6)
#define SL_FILTER_RETRIEVE_ENABLE_STATE   (4)
#define SL_MULTICASTSIPV4_DROP_PREPREPARED_FILTERS   (1)
#define SL_MULTICASTSIPV6_DROP_PREPREPARED_FILTERS   (2)
#define SL_MULTICASTSWIFI_DROP_PREPREPARED_FILTERS   (3)
#define SL_REMOVE_RX_FILTER   (1)
#define SL_RX_FILTER_LENGTH_OF_REGX_PATTERN_LENGTH   (32)
#define SL_RX_FILTER_MAX_FILTERS   64

The Max number of filters for 64 filters

#define SL_RX_FILTER_MAX_PRE_PREPARED_FILTERS_SETS   (32)

The Max number of software filters

#define SL_RX_FILTER_NUM_OF_BYTES_FOR_ACTIONS_ARGS   (5)
#define SL_RX_FILTER_NUM_OF_COMBINATION_TYPE_ARGS   (2)
#define SL_RX_FILTER_NUM_OF_FILTER_HEADER_ARGS   (2)
#define SL_RX_FILTER_NUM_OF_FILTER_PAYLOAD_ARGS   (2)
#define SL_STORE_RX_FILTERS   (2)
#define SL_UPDATE_RX_FILTER_ARGS   (3)
#define SRC_PORT_FIELD   (14)
#define TRIGGER_COMPARE_FUNC_BIGGER_THAN   (3)
#define TRIGGER_COMPARE_FUNC_EQUAL   (0)
#define TRIGGER_COMPARE_FUNC_NOT_EQUAL_TO   (1)
#define TRIGGER_COMPARE_FUNC_NUM_OF_FILTER_COMPARE_FUNC   (4)
#define TRIGGER_COMPARE_FUNC_SMALLER_THAN   (2)

Typedef Documentation

The structure is used for the interface HOST NWP.

Several actions can be defined,
The action is executed in case the filter rule is matched.

Provides container for the filter action argument. for example: in case action is to send automatic response , the argument is the template to be used for the automatic response.

Possible value for filter action args

The actions are executed only if the filter is matched,
In case of false match the packet is transfered to the HOST.
The action is composed of bit field structure, up to 2 actions can be defined per filter.

The buffer is used to provide container for ASCII argument, which may be used in case of HEADER rule. example for ASCII argument can be : IP = 256.0.67.1

The buffer provides container for binary argument, which may be used in case of HEADER rule

Defines the structure which define the combination type filter The combined filter enable to make operation on one or two filter, for example !filterId1 or and(filterId2,filterId3).

Enumerate the optional operators for the combination type filterID1 is located in the first arg , filterId2 is the second arg,see SlrxFilterCombinationType_t.CombinationFilterId

Used as comparison function for the header type arguments

The mask is used for the rule comparison function

the counter ID we have 4 counters

Provides container for entering the filter 'when' argument. The current release support 'When rules' which has no arguments. For example : When connect to specific AP – the AP bssid is the argument.

Bit field which sets the behaviour of the RX filter

Provides list of possible header types which may be defined as part of the rule

Structure which defines the Header rule The header rule defines compare function on the protocol header For example destMacAddre is between ( 12:6::78:77, 12:6::78:90 )

Unique filter ID which is allocated by the system , negative number means error

SlrxFilterIdMask_t

Representation of filters Id as a bit field The bit field is used to declare which filters are involved in operation. Number of filter can be up to 128 filters. i.e. 128 bits are needed. On the current release, up to 64 filters can be defined.

The offset relative to the packet payload start location. Not supported on current release

Structure which defines payload rule. Not supported on current release.

Describes the supported software filter sets,

SlrxFilterPrePreparedFiltersMask_t

Describes the supported software filter sets, each bit represents different software filter set The filter sets are defined at SlrxFilterPrePreparedFilters_t

The struct contains the regular expression pattern which is used in case of payload rule. Not supported in the current release

Rule structure composed of behavioral flags and the filter rule definitions

Structure which defines the Header Args and mask

Enumerates the different filter types. On the current release only HEADER and COMBINATION are supported.

The filter trigger, determine when the filter is triggered, The filter is triggered in the following condition :

  1. The filter parent is triggered
  2. The requested connection type exists, i.e. wlan_connect
  3. The filter role is the same as the system role

Bit field representing the possible values of the When section of the rule

Bit field which represents the roleId possible values In the current release only Station/AP roles are supported.


All rights reserved. The use is subject to the XDK SDK EULA by Bosch Connected Devices and Solutions GmbH.
This documentation file has been automatically generated on Thu Mar 14 2019 19:12:47 by doxygen 1.8.8