35 lines
844 B
C
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
|
|
|