1 2#ifndef UTIL_RINGBUFFER_H 3#define UTIL_RINGBUFFER_H 4 5#include "pipe/p_compiler.h" 6#include "pipe/p_defines.h" /* only for pipe_error! */ 7 8/* Generic header 9 */ 10struct util_packet { 11 unsigned dwords:8; 12 unsigned data24:24; 13}; 14 15struct util_ringbuffer; 16 17struct util_ringbuffer *util_ringbuffer_create( unsigned dwords ); 18 19void util_ringbuffer_destroy( struct util_ringbuffer *ring ); 20 21void util_ringbuffer_enqueue( struct util_ringbuffer *ring, 22 const struct util_packet *packet ); 23 24enum pipe_error util_ringbuffer_dequeue( struct util_ringbuffer *ring, 25 struct util_packet *packet, 26 unsigned max_dwords, 27 boolean wait ); 28 29#endif 30