znetif.c

来自「uCOSII上实现的tcpip协议实现代码(gcc编译)」· C语言 代码 · 共 64 行

C
64
字号
#include "include/znetif.h"void znetif_init(znetif_t *pnetif){	u8_t	i;	pnetif->_buffer.rindex = 0;	pnetif->_buffer.windex = 0;		for ( i = 0; i < ZNETIF_BUFFER_LEN; i++)	{		pnetif->_buffer._buffer_pool[i] = NULL;	}}zbuffer_t * znetif_read(znetif_t *pnetif){	zbuffer_t	*p = NULL;	sys_enter_critical();	p = pnetif->_buffer._buffer_pool[ pnetif->_buffer.rindex ] ;	if ( p != NULL )	{		pnetif->_buffer._buffer_pool[ pnetif->_buffer.rindex ] = NULL;				pnetif->_buffer.rindex ++;		if ( pnetif->_buffer.rindex >=  ZNETIF_BUFFER_LEN )		{			pnetif->_buffer.rindex = 0;		}				sys_exit_critical();		return p;	}	else	{		sys_exit_critical();		return NULL;	}}u8_t znetif_write(znetif_t *pnetif, zbuffer_t *pbuffer){	if (pbuffer == NULL)			return;	sys_enter_critical();	if( pnetif->_buffer._buffer_pool[ pnetif->_buffer.windex ] == NULL )	{		pnetif->_buffer._buffer_pool[ pnetif->_buffer.windex ] = pbuffer;				pnetif->_buffer.windex ++;		if ( pnetif->_buffer.windex >=  ZNETIF_BUFFER_LEN )		{			pnetif->_buffer.windex = 0;		}				sys_exit_critical();		return 0;	}	sys_exit_critical();	return -1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?