8 static inline unsigned ring_wrap(
unsigned size,
unsigned idx)
10 return idx >= size ? idx - size : idx;
14 static inline unsigned ring_data_avail(
unsigned size,
unsigned head,
unsigned tail)
19 return size + head - tail;
41 return (tail ? size : size - 1) - head;
43 return tail - head - 1;
49 if (head < tail || !tail)
static unsigned ring_space_contig(unsigned size, unsigned head, unsigned tail)
static unsigned ring_wrap(unsigned size, unsigned idx)
static unsigned ring_space_wrapped(unsigned size, unsigned head, unsigned tail)
static unsigned ring_data_avail(unsigned size, unsigned head, unsigned tail)
static unsigned ring_space_avail(unsigned size, unsigned head, unsigned tail)
static unsigned ring_data_contig(unsigned size, unsigned head, unsigned tail)