2024-06-01 15:59:51 -05:00

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