www.pudn.com > streamrtp.rar > bufpool.h
/*------------------------------------------------------------------------- * buffpool.h *------------------------------------------------------------------------- */ #ifndef BUFPOOL_H #define BUFPOOL_H #include#include #define BPMINB 2 /* Minimum buffer length */ struct bufpool { /* Description of a single pool */ char *bp_base; /* beginning of pool's memory */ int bp_size; /* size of buffers in this pool */ int bp_total; /* # buffers this pool */ char *bp_next; /* pointer to next free buffer */ sem_t bp_sem; /* semaphore that counts buffers*/ pthread_mutex_t bp_mutex; }; int bufpoolinit(struct bufpool *, int, int); int *bufpoolgetbuf(struct bufpool *); void bufpoolfreebuf(void *); int bufpooldestroy(struct bufpool *); #endif