Lines Matching defs:ring
6 * Simple descriptor-based ring. virtio 0.9 compatible event index is used for
56 struct desc *ring;
76 /* implemented by ring */
82 ret = posix_memalign((void **)&ring, 0x1000, ring_size * sizeof *ring);
84 perror("Unable to allocate ring buffer.\n");
101 ring[i] = desc;
125 ring[head].addr = (unsigned long)(void*)buf;
126 ring[head].len = len;
133 index = ring[head].index;
138 ring[head].flags = DESC_HW;
149 if (ring[head].flags & DESC_HW)
153 *lenp = ring[head].len;
154 index = ring[head].index & (ring_size - 1);
168 return (ring[head].flags & DESC_HW);
223 return !(ring[head].flags & DESC_HW);
230 if (!(ring[head].flags & DESC_HW))
241 ring[head].len--;
249 ring[head].flags = 0;