supply
#define NETADD(c) { *netoring.supply = c; ring_supplied(&netoring, 1); }
*ttyoring.supply = c; \
ttyoring.supply = \
(ttyoring.supply+1 < ttyoring.top)? \
ttyoring.supply+1 : \
ttyoring.supply+1-ttyoring.size; \
ring->supply = ring->consume = ring->bottom = buffer;
ring->mark = ring_decrement(ring, ring->supply, 1);
ring->supply = ring_increment(ring, ring->supply, count);
ring->consume = ring->supply = ring->bottom;
return (ring_subtract(ring, ring->consume, ring->supply));
if ((ring->consume < ring->supply) || ring_empty(ring)) {
return (ring_subtract(ring, ring->top, ring->supply));
return (ring_subtract(ring, ring->consume, ring->supply));
return (ring_subtract(ring, ring->supply,
if ((ring->supply < ring->consume) || ring_full(ring)) {
return (ring_subtract(ring, ring->supply,
(void) memcpy(ring->supply, buffer, i);
if (ring_empty(ring) || ring->clearto == ring->supply)
s = ring->supply;
ring->clearto = ring->supply;
ring->clearto = ring->supply;
#define ring_empty(d) (((d)->consume == (d)->supply) && \
#define ring_full(d) (((d)->supply == (d)->consume) && \
unsigned char *supply; /* where data comes in to */
c = recv(net, netiring.supply, canread, 0);
Dump('<', netiring.supply, c);
c = TerminalRead((char *)ttyiring.supply,
Dump('<', ttyiring.supply, c);
extern void supply(struct sockaddr_in6 *, struct interface *,
supply(from, ifp, 0,
supply(sin6, ifp, rtstate, splith);
extern void supply(struct sockaddr_in *, struct interface *,
supply(from, ifp, OUT_QUERY, 0,
supply(from, ifp, OUT_UNICAST, 0,
supply(&dst, ifp, type, flash, vers, _B_TRUE);