www.pudn.com > uCOSII上实现的tcpip.rar > zbuffer.h


#ifndef _ZBUFFER_H
#define _ZBUFFER_H

#include "zarch.h"

typedef struct _zbuffer
{
	struct _zbuffer	*next;
	void			*pdata;	
	u16_t			tot_len;
	u16_t			len;
}zbuffer_t;

extern void zbuffer_init(void);

extern zbuffer_t* zbuffer_new(u16_t	tot_len);
extern void zbuffer_delete(zbuffer_t *pzbuffer);
extern zbuffer_t * zbuffer_adjust(zbuffer_t *pzbuffer, s16_t flen, s16_t blen);
extern void zbuffer_read(zbuffer_t *pzbuffer, u8_t *pdata, u16_t *len);
extern void zbuffer_write(zbuffer_t *pzbuffer, u8_t *pdata, u16_t *len);
extern u8_t zbuffer_head_adjust(zbuffer_t *pzbuffer, s16_t offset);
extern zbuffer_t * zbuffer_add(zbuffer_t *pzbuffer1, zbuffer_t *pzbuffer2);
extern zbuffer_t * zbuffer_copy(zbuffer_t *pzbuffer1, zbuffer_t *pzbuffer2);
extern u16_t zbuffer_chain(zbuffer_t *pzbuffer);
extern void zbuffer_dump(zbuffer_t *pzbuffer);

#endif