Lines Matching defs:Queue
23 typedef struct Queue Queue; typedef
25 struct Queue struct
29 Block* bfirst; /* buffer */
30 Block* blast;
32 int len; /* bytes allocated to queue */
33 int dlen; /* data bytes in queue */
34 int limit; /* max bytes in queue */
35 int inilim; /* initial limit */
36 int state;
37 int noblock; /* true if writes return immediately when q full */
38 int eof; /* number of eofs read by user */
40 void (*kick)(void*); /* restart output */
41 void (*bypass)(void*, Block*); /* bypass queue altogether */
42 void* arg; /* argument to kick */
44 QLock rlock; /* mutex for reading processes */
45 Rendez rr; /* process waiting to read */
46 QLock wlock; /* mutex for writing processes */
47 Rendez wr; /* process waiting to write */
49 char err[ERRMAX];