--- libelwix/inc/elwix/aring.h 2026/02/10 17:50:00 1.5 +++ libelwix/inc/elwix/aring.h 2026/02/11 13:36:09 1.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aring.h,v 1.5 2026/02/10 17:50:00 misho Exp $ +* $Id: aring.h,v 1.6 2026/02/11 13:36:09 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -190,6 +190,26 @@ int lrb_enqueue(lrbuf_t *lrb, void *data, size_t len, * return: -1 error, 0 buffer is empty or >0 stored data bytes */ int lrb_dequeue(lrbuf_t *lrb, void *data, size_t len); +/* + * lrb_getw() - Get address for write + * + * @lrb = Linear ring buffer + * @len = Return available buffer length for write + * return: NULL error or !=NULL pointer for write + * remark: After use of lrb_getw() and write to pointer. + * You should update ring buffer with lrb_enqueue(,NULL,wrote_len,) + */ +void *lrb_getw(lrbuf_t *lrb, size_t *len); +/* + * lrb_getr() - Get address for read + * + * @lrb = Linear ring buffer + * @len = Return available data length for read + * return: NULL error or !=NULL pointer for read + * remark: After use of lrb_getr() and read from pointer. + * You could update ring buffer with lrb_dequeue(,NULL,read_len) + */ +void *lrb_getr(lrbuf_t *lrb, size_t *len); #endif