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

📄 ebbuff.h

📁 eybuild中文手册 eybuild中文手册 eybuild中文手册
💻 H
字号:
/* ebbuff.h - buffer header file */

/* Copyright(C) eyBuild Group, 2005, 2006. All Rights Reserved. */

/*
modification history
--------------------
01a, 2006-01-13, newzy   create
*/

/* ebuild in/out */
#ifndef _INC_EBBUFF_H_
#define _INC_EBBUFF_H_

#include <stdarg.h>
#include <ebfrm.h>

#ifdef __cplusplus
extern "C" {
#endif

/* defines */
#define EB_BUFF_SIZE	4096    /* default size, 4k */

/* typedefs */
typedef enum {
	EB_CONST = 1,	/* const data table */
	EB_LOCAL = 2	/* local data */
} EB_TLV_TYPE;

typedef struct EB_TLV
{
	int				type;	/* data type */
    int             len;    /* data length */
} EB_TLV;

/* cache buffer for output */
typedef struct eb_buffer
{
	void *			pself;		/* for verify itself */	
    EB_TLV *		curtlv;     /* current pointer */
    BOOL            autoflush;  /* whether auto flush, default TRUE */
    char *          pbuf;       /* buffer to hold data */
    int             size;       /* buffer size */
    int             count;      /* block number */
	BOOL			flushed;	/* flush has been called */
	void *			pagestack[MAX_CALL_DEPTH+1];
	void *			pifbuf;		/* inflat buffer */
} EB_BUFFER;


/* externs */
extern void * ebBufCreate(int size);
extern void ebBufDistroy(void * fp);
extern int  ebBufReset(void * fp);
extern int  ebBufResize(void * fp, int size);
extern int  ebBufFlush(void * fp);
extern int  ebCheckBufSize(void * ebfp);
extern int  ebSetBufAutoFlush(void * ebfp, BOOL autoflush);
extern BOOL ebBufIsFlushed(void * ebfp);
extern int  ebBufTlvSet(void * fp, int type, int len, char *pdata);
extern int  ebBufTlvAdd(void * ebfp, int type, int len, char *pdata);
extern int  ebBufStringAdd(void * fp, char * pstr);
extern int  ebvprintf(void * fp, const char * fmt, va_list);

extern int  ebprintf(void * fp, const char * fmt, ...);
extern int  ebWriteBlock(void * ebfp, void * data, size_t size);
extern int  ebDeflatAdd(void * ebfp, void * data, size_t offset, size_t len);


#ifdef __cplusplus
}
#endif

#endif /* _INC_EBBUFF_H_ */

⌨️ 快捷键说明

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