skbuff.c

来自「LPC2292 bios测试程序 说明:YL_LPC229X_BIOS_Dat」· C语言 代码 · 共 66 行

C
66
字号
#include "../../inc/config.h"
#include "skbuff.h"
#include "utils.h"

#ifdef	TFTP_DOWNLOAD_SUPPORT

struct sk_buff skbuff[5];
int skb_cur = 0;

int skb_init( void )
{
	return 0;
}

void skb_headerinit( struct sk_buff* skb )
{
	memset( skb , 0 , sizeof( struct sk_buff ) );

	skb->data = skb->buf;
	skb->len = 0;
	skb->truesize = ETH_FRAME_LEN;
}

struct sk_buff* alloc_skb( unsigned int size )
{
	struct sk_buff* skb;

	skb = &skbuff[skb_cur];
	//	skb_cur = (skb_cur + 1) % 5;
	skb_cur++;
	if ( skb_cur >= 5 )
		skb_cur = 0;
	skb_headerinit( skb );
	return skb;
}

void free_skb( struct sk_buff* skb )
{
}

unsigned char* skb_put( struct sk_buff* skb , unsigned int len )
{
	skb->len += len;
	return skb->data;
}

unsigned char* skb_pull( struct sk_buff* skb , unsigned int len )
{
	skb->data += len;
	skb->len -= len;
	return skb->data;
}

unsigned char* skb_push( struct sk_buff* skb , unsigned int len )
{
	skb->data -= len;
	skb->len += len;
	return skb->data;
}

void skb_reserve( struct sk_buff* skb , unsigned int len )
{
	skb->data += len;
}

#endif

⌨️ 快捷键说明

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