47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
#ifndef __INC_LIBTHECORE_BUFFER_H__
|
|
#define __INC_LIBTHECORE_BUFFER_H__
|
|
|
|
#define SAFE_BUFFER_DELETE(buf) { if(buf != NULL) { buffer_delete(buf); buf = NULL; } }
|
|
|
|
typedef struct buffer BUFFER;
|
|
typedef struct buffer * LPBUFFER;
|
|
|
|
struct buffer
|
|
{
|
|
struct buffer * next;
|
|
|
|
char * write_point;
|
|
int write_point_pos;
|
|
|
|
const char * read_point;
|
|
int length;
|
|
|
|
char * mem_data;
|
|
int mem_size;
|
|
|
|
long flag;
|
|
};
|
|
|
|
extern LPBUFFER buffer_new(int size);
|
|
extern void buffer_delete(LPBUFFER buffer);
|
|
extern void buffer_reset(LPBUFFER buffer);
|
|
|
|
extern DWORD buffer_size(LPBUFFER buffer);
|
|
extern int buffer_has_space(LPBUFFER buffer);
|
|
|
|
extern void buffer_write (LPBUFFER& buffer, const void* src, int length);
|
|
extern void buffer_read(LPBUFFER buffer, void * buf, int bytes);
|
|
extern BYTE buffer_get_byte(LPBUFFER buffer);
|
|
extern WORD buffer_get_word(LPBUFFER buffer);
|
|
extern DWORD buffer_get_dword(LPBUFFER buffer);
|
|
|
|
extern const void * buffer_read_peek(LPBUFFER buffer);
|
|
extern void buffer_read_proceed(LPBUFFER buffer, int length);
|
|
|
|
extern void * buffer_write_peek(LPBUFFER buffer);
|
|
extern void buffer_write_proceed(LPBUFFER buffer, int length);
|
|
|
|
extern void buffer_adjust_size(LPBUFFER & buffer, int add_size);
|
|
#endif
|
|
//martysama0134's 623a0779c74cb7565145d45548376308
|