📄 net_arp.h
字号:
NET_ARP_EXT NET_ARP_CACHE *NetARP_CacheListHead; /* Ptr to head of ARP Cache List. */
NET_ARP_EXT NET_ARP_CACHE *NetARP_CacheListTail; /* Ptr to tail of ARP Cache List. */
NET_ARP_EXT CPU_INT16U NetARP_CacheTimeout_sec; /* ARP cache timeout (in secs ). */
NET_ARP_EXT NET_TMR_TICK NetARP_CacheTimeout_tick; /* ARP cache timeout (in ticks). */
NET_ARP_EXT CPU_INT16U NetARP_CacheAccessedTh_nbr; /* Nbr successful srch's to promote ARP cache. */
NET_ARP_EXT CPU_INT08U NetARP_ReqMaxAttempts_nbr; /* ARP req max nbr of attempts. */
NET_ARP_EXT CPU_INT08U NetARP_ReqTimeout_sec; /* ARP req wait-for-reply timeout (in secs ). */
NET_ARP_EXT NET_TMR_TICK NetARP_ReqTimeout_tick; /* ARP req wait-for-reply timeout (in ticks). */
#if (NET_CTR_CFG_STAT_EN == DEF_ENABLED) /* --------------- NET ARP STATS -------------- */
NET_ARP_EXT NET_CTR NetARP_StatRxPktCtr; /* Nbr rx'd pkts. */
NET_ARP_EXT NET_CTR NetARP_StatRxMsgProcessedCtr; /* Nbr rx'd msgs successfully processed. */
NET_ARP_EXT NET_CTR NetARP_StatRxMsgReqProcessedCtr; /* Nbr rx'd req msgs successfully processed. */
NET_ARP_EXT NET_CTR NetARP_StatRxMsgReplyProcessedCtr; /* Nbr rx'd reply msgs successfully processed. */
NET_ARP_EXT NET_CTR NetARP_StatTxMsgCtr; /* Nbr tx'd msgs. */
NET_ARP_EXT NET_CTR NetARP_StatTxMsgReqCtr; /* Nbr tx'd req msgs. */
NET_ARP_EXT NET_CTR NetARP_StatTxMsgReplyCtr; /* Nbr tx'd reply msgs. */
#endif
#if (NET_CTR_CFG_ERR_EN == DEF_ENABLED) /* --------------- NET ARP ERRS --------------- */
NET_ARP_EXT NET_CTR NetARP_ErrNoneAvailCtr; /* Nbr ARP caches unavail. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrHW_TypeCtr; /* Nbr rx'd msgs with invalid hw type. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrHW_AddrLenCtr; /* Nbr rx'd msgs with invalid hw addr len.*/
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrHW_AddrCtr; /* Nbr rx'd msgs with invalid hw addr. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrProtocolTypeCtr; /* Nbr rx'd msgs with invalid protocol type. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrProtocolAddrLenCtr; /* Nbr rx'd msgs with invalid protocol addr len.*/
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrProtocolAddrCtr; /* Nbr rx'd msgs with invalid protocol addr. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrOpCodeCtr; /* Nbr rx'd msgs with invalid op code. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrOpAddrCtr; /* Nbr rx'd msgs with invalid op code/addr. */
NET_ARP_EXT NET_CTR NetARP_ErrRxHdrMsgLenCtr; /* Nbr rx'd msgs with invalid msg len. */
NET_ARP_EXT NET_CTR NetARP_ErrRxPktTargetReplyCtr; /* Nbr rx'd msgs for invalid reply msg dest. */
NET_ARP_EXT NET_CTR NetARP_ErrRxPktTargetNotThisHostCtr; /* Nbr rx'd msgs for invalid dest. */
NET_ARP_EXT NET_CTR NetARP_ErrRxPktDiscardedCtr; /* Nbr rx'd msgs discarded. */
NET_ARP_EXT NET_CTR NetARP_ErrTxPktDiscardedCtr; /* Nbr tx msgs discarded. */
#if (NET_ERR_CFG_ARG_CHK_DBG_EN == DEF_ENABLED)
NET_ARP_EXT NET_CTR NetARP_ErrNullPtrCtr; /* Nbr null ARP ptr accesses. */
NET_ARP_EXT NET_CTR NetARP_ErrNotUsedCtr; /* Nbr unused ARP cache accesses. */
NET_ARP_EXT NET_CTR NetARP_ErrInvalidTypeCtr; /* Nbr ARP caches with invalid type. */
NET_ARP_EXT NET_CTR NetARP_ErrRxInvalidBufIxCtr; /* Nbr rx pkts with invalid buf ix. */
NET_ARP_EXT NET_CTR NetARP_ErrTxHdrOpCodeCtr; /* Nbr tx msgs with invalid op code. */
#endif
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
void NetARP_Init (void);
/* ------------ CFG FNCTS ------------- */
CPU_BOOLEAN NetARP_CfgCacheTimeout (CPU_INT16U timeout_sec);
CPU_BOOLEAN NetARP_CfgCacheAccessedTh (CPU_INT16U nbr_access);
CPU_BOOLEAN NetARP_CfgReqMaxRetries (CPU_INT08U max_nbr_retries);
CPU_BOOLEAN NetARP_CfgReqTimeout (CPU_INT08U timeout_sec);
/* ------------- RX FNCTS ------------- */
void NetARP_Rx (NET_BUF *pbuf,
NET_ERR *perr);
/* --------- ARP CACHE FNCTS ---------- */
void NetARP_CacheHandler (NET_BUF *pbuf, /* Handle ARP cache & lookups. */
NET_ERR *perr);
/* ------ ARP CACHE STATUS FNCTS ------ */
CPU_INT08U NetARP_CacheCalcStat (void); /* Calc ARP cache stats (as needed). */
NET_STAT_POOL NetARP_CachePoolStatGet (void);
void NetARP_CachePoolStatResetMaxUsed(void);
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
* DEFINED IN NETWORK INTERFACE LAYER & NETWORK PROTOCOL LAYER
*********************************************************************************************************
*/
CPU_INT08U *NetARP_GetHostAddrPtrHW (void);
CPU_INT08U *NetARP_GetHostAddrPtrProtocol (void);
CPU_BOOLEAN NetARP_IsValidAddrHW (CPU_INT08U *paddr_hw);
CPU_BOOLEAN NetARP_IsValidAddrProtocol (CPU_INT08U *paddr_protocol);
/*$PAGE*/
/*
*********************************************************************************************************
* CONFIGURATION ERRORS
*********************************************************************************************************
*/
#ifndef NET_ARP_CFG_HW_TYPE
#error "NET_ARP_CFG_HW_TYPE not #define'd in 'net_cfg.h'"
#error " [MUST be NET_ARP_HW_TYPE_ETHER] "
#elif (NET_ARP_CFG_HW_TYPE != NET_ARP_HW_TYPE_ETHER)
#error "NET_ARP_CFG_HW_TYPE illegally #define'd in 'net_cfg.h'"
#error " [MUST be NET_ARP_HW_TYPE_ETHER] "
#else
/* Correctly configured in 'net_cfg_net.h'; DO NOT MODIFY. */
#ifndef NET_ARP_CFG_HW_ADDR_LEN
#error "NET_ARP_CFG_HW_ADDR_LEN not #define'd in 'net_cfg_net.h'"
#error " [MUST be NET_ARP_HW_ADDR_LEN_ETHER] "
#elif (NET_ARP_CFG_HW_ADDR_LEN != NET_ARP_HW_ADDR_LEN_ETHER)
#error "NET_ARP_CFG_HW_ADDR_LEN illegally #define'd in 'net_cfg_net.h'"
#error " [MUST be NET_ARP_HW_ADDR_LEN_ETHER] "
#endif
#endif
#ifndef NET_ARP_CFG_PROTOCOL_TYPE
#error "NET_ARP_CFG_PROTOCOL_TYPE not #define'd in 'net_cfg.h' "
#error " [MUST be NET_ARP_PROTOCOL_TYPE_IP_V4]"
#elif (NET_ARP_CFG_PROTOCOL_TYPE != NET_ARP_PROTOCOL_TYPE_IP_V4)
#error "NET_ARP_CFG_PROTOCOL_TYPE illegally #define'd in 'net_cfg.h' "
#error " [MUST be NET_ARP_PROTOCOL_TYPE_IP_V4]"
#else
/* Correctly configured in 'net_cfg_net.h'; DO NOT MODIFY. */
#ifndef NET_ARP_CFG_PROTOCOL_ADDR_LEN
#error "NET_ARP_CFG_PROTOCOL_ADDR_LEN not #define'd in 'net_cfg_net.h' "
#error " [MUST be NET_ARP_PROTOCOL_ADDR_LEN_IP_V4]"
#elif (NET_ARP_CFG_PROTOCOL_ADDR_LEN != NET_ARP_PROTOCOL_ADDR_LEN_IP_V4)
#error "NET_ARP_CFG_PROTOCOL_ADDR_LEN illegally #define'd in 'net_cfg_net.h' "
#error " [MUST be NET_ARP_PROTOCOL_ADDR_LEN_IP_V4]"
#endif
#endif
#ifndef NET_ARP_CFG_NBR_CACHE
#error "NET_ARP_CFG_NBR_CACHE not #define'd in 'net_cfg.h'"
#error " [MUST be > 0] "
#error " [ && < 65536] "
/* See 'ARP CACHE QUANTITY DATA TYPE'. */
#elif ((NET_ARP_CFG_NBR_CACHE < 1) || \
(NET_ARP_CFG_NBR_CACHE > DEF_INT_16U_MAX_VAL))
#error "NET_ARP_CFG_NBR_CACHE illegally #define'd in 'net_cfg.h'"
#error " [MUST be > 0] "
#error " [ && < 65536] "
#endif
#ifndef NET_ARP_CFG_ADDR_FLTR_EN
#error "NET_ARP_CFG_ADDR_FLTR_EN not #define'd in 'net_cfg.h'"
#error " [MUST be DEF_DISABLED] "
#error " [ || DEF_ENABLED ] "
#elif ((NET_ARP_CFG_ADDR_FLTR_EN != DEF_DISABLED) && \
(NET_ARP_CFG_ADDR_FLTR_EN != DEF_ENABLED ))
#error "NET_ARP_CFG_ADDR_FLTR_EN illegally #define'd in 'net_cfg.h'"
#error " [MUST be DEF_DISABLED] "
#error " [ || DEF_ENABLED ] "
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* MODULE END
*
* Note(s) : (1) See 'MODULE Note #1'.
*********************************************************************************************************
*/
#endif /* End of ARP module include (see Note #1). */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -