Lines Matching refs:rbuf

64 	INOUT	DAPL_RING_BUFFER	*rbuf,  in dapls_rbuf_alloc()  argument
82 rbuf->base = (void *) dapl_os_alloc(rsize * sizeof (void *)); in dapls_rbuf_alloc()
83 if (rbuf->base != NULL) { in dapls_rbuf_alloc()
84 rbuf->lim = rsize - 1; in dapls_rbuf_alloc()
85 rbuf->head = 0; in dapls_rbuf_alloc()
86 rbuf->tail = 0; in dapls_rbuf_alloc()
87 dapl_os_lock_init(&rbuf->lock); in dapls_rbuf_alloc()
118 INOUT DAPL_RING_BUFFER *rbuf, in dapls_rbuf_realloc() argument
127 if (rbuf->head != rbuf->tail) { in dapls_rbuf_realloc()
138 rbuf->base = (void *)dapl_os_realloc(rbuf->base, in dapls_rbuf_realloc()
140 if (NULL == rbuf->base) { in dapls_rbuf_realloc()
146 rbuf->lim = rsize - 1; in dapls_rbuf_realloc()
170 IN DAPL_RING_BUFFER *rbuf) in dapls_rbuf_destroy() argument
172 if ((NULL == rbuf) || in dapls_rbuf_destroy()
173 (NULL == rbuf->base)) { in dapls_rbuf_destroy()
177 dapl_os_lock_destroy(&rbuf->lock); in dapls_rbuf_destroy()
178 dapl_os_free(rbuf->base, (rbuf->lim + 1) * sizeof (void *)); in dapls_rbuf_destroy()
179 rbuf->base = NULL; in dapls_rbuf_destroy()
180 rbuf->lim = 0; in dapls_rbuf_destroy()
202 IN DAPL_RING_BUFFER *rbuf, in dapls_rbuf_add() argument
207 dapl_os_lock(&rbuf->lock); in dapls_rbuf_add()
208 pos = rbuf->head; in dapls_rbuf_add()
209 if (((pos + 1) & rbuf->lim) != rbuf->tail) { in dapls_rbuf_add()
210 rbuf->base[pos] = entry; in dapls_rbuf_add()
211 rbuf->head = (pos + 1) & rbuf->lim; in dapls_rbuf_add()
212 dapl_os_unlock(&rbuf->lock); in dapls_rbuf_add()
216 dapl_os_unlock(&rbuf->lock); in dapls_rbuf_add()
237 IN DAPL_RING_BUFFER *rbuf) in dapls_rbuf_remove() argument
241 dapl_os_lock(&rbuf->lock); in dapls_rbuf_remove()
242 if (rbuf->head != rbuf->tail) { in dapls_rbuf_remove()
243 pos = rbuf->tail; in dapls_rbuf_remove()
244 rbuf->tail = (pos + 1) & rbuf->lim; in dapls_rbuf_remove()
245 dapl_os_unlock(&rbuf->lock); in dapls_rbuf_remove()
246 return (rbuf->base[pos]); in dapls_rbuf_remove()
249 dapl_os_unlock(&rbuf->lock); in dapls_rbuf_remove()
271 IN DAPL_RING_BUFFER *rbuf) in dapls_rbuf_count() argument
276 dapl_os_lock(&rbuf->lock); in dapls_rbuf_count()
277 head = rbuf->head; in dapls_rbuf_count()
278 tail = rbuf->tail; in dapls_rbuf_count()
279 dapl_os_unlock(&rbuf->lock); in dapls_rbuf_count()
285 return ((rbuf->lim + 1 - tail + head)); in dapls_rbuf_count()