⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net_arp.h

📁 ucos的tcpip协议占
💻 H
📖 第 1 页 / 共 3 页
字号:

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 + -