Lines Matching defs:queue
41 sys_queue_reset( SysQueue queue )
43 queue->start = queue->end = 0;
47 sys_queue_add( SysQueue queue, void* item )
49 assert( queue->end - queue->start < SYS_MAX_QUEUE );
50 assert( queue->start == 0 );
52 queue->pending[ queue->end++ ] = item;
57 sys_queue_remove( SysQueue queue, void* item )
60 assert( queue->end > queue->start );
62 count = queue->end - queue->start;
63 for ( nn = queue->start; count > 0; ++nn, --count ) {
64 if ( queue->pending[nn] == item ) {
65 queue->pending[nn] = queue->pending[nn+count-1];
66 queue->end -= 1;
75 sys_queue_get( SysQueue queue )
77 if (queue->end > queue->start) {
78 return queue->pending[ queue->start++ ];
176 /* queue of pending channels */