00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _CIRCBUFFER_H
00024 #define _CIRCBUFFER_H
00025
00026 #include <glib.h>
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032 typedef struct _PurpleCircBuffer {
00033
00035 gchar *buffer;
00036
00039 gsize growsize;
00040
00042 gsize buflen;
00043
00045 gsize bufused;
00046
00049 gchar *inptr;
00050
00053 gchar *outptr;
00054
00055 } PurpleCircBuffer;
00056
00068 PurpleCircBuffer *purple_circ_buffer_new(gsize growsize);
00069
00076 void purple_circ_buffer_destroy(PurpleCircBuffer *buf);
00077
00086 void purple_circ_buffer_append(PurpleCircBuffer *buf, gconstpointer src, gsize len);
00087
00100 gsize purple_circ_buffer_get_max_read(const PurpleCircBuffer *buf);
00101
00111 gboolean purple_circ_buffer_mark_read(PurpleCircBuffer *buf, gsize len);
00112
00113 #ifdef __cplusplus
00114 }
00115 #endif
00116
00117 #endif