--- multiplexer/global.h 2001/08/02 14:51:22 1.16 +++ multiplexer/global.h 2001/08/06 19:43:35 1.17 @@ -151,11 +151,19 @@ typedef struct { #define list_free(refr) \ (((refr).out - (refr).in - 1) & (refr).mask) +/* Version of list_free with cached (refr).in */ +#define list_freecachedin(refr,refrin) \ + (((refr).out - refrin - 1) & (refr).mask) + /* Compute number of free elements up to the wrapping point, if the latter is included in the free part of the buffer */ #define list_freeinend(refr) \ ((refr).mask + 1 - (refr).in) +/* Version of list_freeinend with cached (refr).in */ +#define list_freeinendcachedin(refr,refrin) \ + ((refr).mask + 1 - refrin) + /* Compute number of used elements in buffer (i.e. its current size) */ #define list_size(refr) \ (((refr).in - (refr).out) & (refr).mask)