1*76404edcSAsim Jamshed #ifndef __APP_RELAYBUFFER 2*76404edcSAsim Jamshed #define __APP_RELAYBUFFER 3*76404edcSAsim Jamshed 4*76404edcSAsim Jamshed #include <mtcp_api.h> 5*76404edcSAsim Jamshed 6*76404edcSAsim Jamshed #define MAX_REP_LEN (10*1024) 7*76404edcSAsim Jamshed 8*76404edcSAsim Jamshed typedef struct ring_buffer ring_buffer; 9*76404edcSAsim Jamshed 10*76404edcSAsim Jamshed ring_buffer* InitBuffer(int size); 11*76404edcSAsim Jamshed 12*76404edcSAsim Jamshed int GetTotSizeRBuffer(ring_buffer* r_buff); 13*76404edcSAsim Jamshed int GetDataSizeRBuffer(ring_buffer* r_buff); 14*76404edcSAsim Jamshed int GetCumSizeRBuffer(ring_buffer* r_buff); 15*76404edcSAsim Jamshed int GetRemainBufferSize(ring_buffer *r_buff); 16*76404edcSAsim Jamshed int CheckAvailableSize(ring_buffer *r_buff, int size); 17*76404edcSAsim Jamshed 18*76404edcSAsim Jamshed u_char* GetDataPoint(ring_buffer* r_buff); 19*76404edcSAsim Jamshed u_char* GetInputPoint(ring_buffer *r_buff); 20*76404edcSAsim Jamshed 21*76404edcSAsim Jamshed int RemoveDataFromBuffer(ring_buffer *r_buff, int size); 22*76404edcSAsim Jamshed int AddDataLen(ring_buffer *r_buffer, int size); 23*76404edcSAsim Jamshed 24*76404edcSAsim Jamshed int CopyData(ring_buffer *dest_buff, ring_buffer *src_buff, int len); 25*76404edcSAsim Jamshed int MoveData(ring_buffer *dest_buff, ring_buffer *src_buff, int len); 26*76404edcSAsim Jamshed int MoveToREPData(ring_buffer *dest_buff, ring_buffer *src_buff, int len); 27*76404edcSAsim Jamshed 28*76404edcSAsim Jamshed int MtcpWriteFromBuffer(mctx_t mtcp, int fid, ring_buffer *r_buff); 29*76404edcSAsim Jamshed int MtcpReadFromBuffer(mctx_t mtcp, int fid, ring_buffer *r_buff); 30*76404edcSAsim Jamshed 31*76404edcSAsim Jamshed #endif 32