00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __PJ_FIFOBUF_H__
00021 #define __PJ_FIFOBUF_H__
00022
00023 #include <pj/types.h>
00024
00025 PJ_BEGIN_DECL
00026
00027 typedef struct pj_fifobuf_t pj_fifobuf_t;
00028 struct pj_fifobuf_t
00029 {
00030 char *first, *last;
00031 char *ubegin, *uend;
00032 int full;
00033 };
00034
00035 PJ_DECL(void) pj_fifobuf_init (pj_fifobuf_t *fb, void *buffer, unsigned size);
00036 PJ_DECL(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fb);
00037 PJ_DECL(void*) pj_fifobuf_alloc (pj_fifobuf_t *fb, unsigned size);
00038 PJ_DECL(pj_status_t) pj_fifobuf_unalloc (pj_fifobuf_t *fb, void *buf);
00039 PJ_DECL(pj_status_t) pj_fifobuf_free (pj_fifobuf_t *fb, void *buf);
00040
00041 PJ_END_DECL
00042
00043 #endif
00044