20 #ifndef included_unix_shared_memory_queue_h 21 #define included_unix_shared_memory_queue_h 26 typedef struct _unix_shared_memory_queue {
27 pthread_mutex_t mutex;
28 pthread_cond_t condvar;
35 int signal_when_queue_non_empty;
43 int signal_when_queue_non_empty);
46 u8 *elem,
int nowait);
48 u8 *elem,
int nowait);
int unix_shared_memory_queue_sub(unix_shared_memory_queue_t *q, u8 *elem, int nowait)
int unix_shared_memory_queue_add(unix_shared_memory_queue_t *q, u8 *elem, int nowait)
int unix_shared_memory_queue_add_raw(unix_shared_memory_queue_t *q, u8 *elem)
void unix_shared_memory_queue_lock(unix_shared_memory_queue_t *q)
int unix_shared_memory_queue_sub_raw(unix_shared_memory_queue_t *q, u8 *elem)
unix_shared_memory_queue_t * unix_shared_memory_queue_init(int nels, int elsize, int consumer_pid, int signal_when_queue_non_empty)
int unix_shared_memory_queue_add_nolock(unix_shared_memory_queue_t *q, u8 *elem)
void unix_shared_memory_queue_unlock(unix_shared_memory_queue_t *q)
int unix_shared_memory_queue_is_full(unix_shared_memory_queue_t *q)
struct _unix_shared_memory_queue unix_shared_memory_queue_t
void unix_shared_memory_queue_free(unix_shared_memory_queue_t *q)