Files
2026-02-01 22:23:06 +08:00

35 lines
844 B
C

#ifndef __EV_BUFFER_H__
#define __EV_BUFFER_H__
#include "list.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct ev_buffer_t EV_BUFFER_S;
struct ev_buffer_t {
LIST_S buffer_list;
int total_num;
};
EV_BUFFER_S * ev_buffer_new(void);
int ev_buffer_free(EV_BUFFER_S * ev_buffer);
int ev_buffer_write_data(EV_BUFFER_S * ev_buffer, unsigned char * pbuf, int n);
int ev_buffer_read_data(EV_BUFFER_S * ev_buffer, unsigned char * pbuf, int n);
int ev_buffer_get_length(EV_BUFFER_S * ev_buffer);
int ev_buffer_calc_length(EV_BUFFER_S * ev_buffer); // for verify
void * ev_buffer_reserve_space(EV_BUFFER_S * ev_buffer, int n);
int ev_buffer_commit_space(EV_BUFFER_S * ev_buffer, int n);
void * ev_buffer_pullup(EV_BUFFER_S * ev_buffer, int *plen);
int ev_buffer_drain(EV_BUFFER_S * ev_buffer, int n);
#ifdef __cplusplus
}
#endif
#endif