📄 net_util.h
字号:
* Argument(s) : various.
*
* Return(s) : various.
*
* Caller(s) : various.
*
* These macro's are INTERNAL network protocol suite macro's & SHOULD NOT be called by
* application function(s).
*
* Note(s) : (1) Network data value macro's appropriately convert data words :
*
* (a) (1) From network word order to host CPU word order
* (2) From host CPU word order to network word order
*
* (b) NO network-to-host word-order conversion performed
*
* (2) (a) Some network data values MUST start on appropriate CPU word-aligned addresses :
*
* (1) Data values
* (2) Variables to receive data values
*
* (b) Some network data values may start on any CPU address, word-aligned or not :
*
* (1) Addresses to data values
* (2) Addresses to receive data values
*
* See also 'lib_mem.h MEMORY DATA VALUE MACRO'S Note #1'.
*********************************************************************************************************
*/
/* See Notes #1a1, #2a2, & #2b1.*/
#define NET_UTIL_VAL_GET_NET_16(addr) MEM_VAL_GET_INT16U_BIG(addr)
#define NET_UTIL_VAL_GET_NET_32(addr) MEM_VAL_GET_INT32U_BIG(addr)
/* See Notes #1a2, #2a1, & #2b2.*/
#define NET_UTIL_VAL_SET_NET_16(addr, val) MEM_VAL_SET_INT16U_BIG(addr, val)
#define NET_UTIL_VAL_SET_NET_32(addr, val) MEM_VAL_SET_INT32U_BIG(addr, val)
/* See Notes #1a1 & #2b. */
#define NET_UTIL_VAL_COPY_GET_NET_16(addr_dest, addr_src) MEM_VAL_COPY_GET_INT16U_BIG(addr_dest, addr_src)
#define NET_UTIL_VAL_COPY_GET_NET_32(addr_dest, addr_src) MEM_VAL_COPY_GET_INT32U_BIG(addr_dest, addr_src)
/* See Notes #1a2 & #2b. */
#define NET_UTIL_VAL_COPY_SET_NET_16(addr_dest, addr_src) MEM_VAL_COPY_SET_INT16U_BIG(addr_dest, addr_src)
#define NET_UTIL_VAL_COPY_SET_NET_32(addr_dest, addr_src) MEM_VAL_COPY_SET_INT32U_BIG(addr_dest, addr_src)
/* See Notes #1b, #2a2, & #2b1. */
#define NET_UTIL_VAL_GET_HOST_16(addr) MEM_VAL_GET_INT16U(addr)
#define NET_UTIL_VAL_GET_HOST_32(addr) MEM_VAL_GET_INT32U(addr)
/* See Notes #1b, #2a1, & #2b2. */
#define NET_UTIL_VAL_SET_HOST_16(addr, val) MEM_VAL_SET_INT16U(addr, val)
#define NET_UTIL_VAL_SET_HOST_32(addr, val) MEM_VAL_SET_INT32U(addr, val)
/* See Notes #1b & #2b. */
#define NET_UTIL_VAL_COPY_GET_HOST_16(addr_dest, addr_src) MEM_VAL_COPY_GET_INT16U(addr_dest, addr_src)
#define NET_UTIL_VAL_COPY_GET_HOST_32(addr_dest, addr_src) MEM_VAL_COPY_GET_INT32U(addr_dest, addr_src)
/* See Notes #1b & #2b. */
#define NET_UTIL_VAL_COPY_SET_HOST_16(addr_dest, addr_src) MEM_VAL_COPY_SET_INT16U(addr_dest, addr_src)
#define NET_UTIL_VAL_COPY_SET_HOST_32(addr_dest, addr_src) MEM_VAL_COPY_SET_INT32U(addr_dest, addr_src)
/* See Notes #1b & #2b. */
#define NET_UTIL_VAL_COPY_16(addr_dest, addr_src) MEM_VAL_COPY_16(addr_dest, addr_src)
#define NET_UTIL_VAL_COPY_32(addr_dest, addr_src) MEM_VAL_COPY_32(addr_dest, addr_src)
/*$PAGE*/
/*
*********************************************************************************************************
* DATA TYPES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* GLOBAL VARIABLES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
/* --------------- CHK SUM FNCTS -------------- */
NET_CHK_SUM NetUtil_16BitOnesCplChkSumHdrCalc (void *phdr,
CPU_INT16U hdr_size,
NET_ERR *perr);
CPU_BOOLEAN NetUtil_16BitOnesCplChkSumHdrVerify (void *phdr,
CPU_INT16U hdr_size,
NET_ERR *perr);
NET_CHK_SUM NetUtil_16BitOnesCplChkSumDataCalc (void *pdata_buf,
void *ppseudo_hdr,
CPU_INT16U pseudo_hdr_size,
NET_ERR *perr);
CPU_BOOLEAN NetUtil_16BitOnesCplChkSumDataVerify(void *pdata_buf,
void *ppseudo_hdr,
CPU_INT16U pseudo_hdr_size,
NET_ERR *perr);
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
* DEFINED IN PRODUCT'S net_util_a.*
*
* Note(s) : (1) The network protocol suite's network-specific library port optimization file(s) are located
* in the following directories :
*
* (a) \<Network Protocol Suite>\Ports\<cpu>\<compiler>\net_util_a.*
*
* where
* <Network Protocol Suite> directory path for network protocol suite
* <cpu> directory name for specific processor (CPU)
* <compiler> directory name for specific compiler
*********************************************************************************************************
*/
#if ((defined(uC_CFG_OPTIMIZE_ASM_EN)) && \
(uC_CFG_OPTIMIZE_ASM_EN == DEF_ENABLED))
/* Optimize 16-bit sum for 32-bit. */
CPU_INT32U NetUtil_16BitSumDataCalcAlign_32 (void *pdata_32,
CPU_INT32U size);
#endif
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
* DEFINED IN PRODUCT'S net_bsp.c
*********************************************************************************************************
*/
/* ----------------- TS FNCTS ----------------- */
NET_TS NetUtil_TS_Get (void); /* #### Provide fnct description/notes. */
/*
*********************************************************************************************************
* CONFIGURATION ERRORS
*********************************************************************************************************
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -