Lines Matching defs:cibuf
58 void ci_get_data(struct dvb_ringbuffer *cibuf, u8 *data, int len)
60 if (dvb_ringbuffer_free(cibuf) < len + 2)
63 DVB_RINGBUFFER_WRITE_BYTE(cibuf, len >> 8);
64 DVB_RINGBUFFER_WRITE_BYTE(cibuf, len & 0xff);
65 dvb_ringbuffer_write(cibuf, data, len);
66 wake_up_interruptible(&cibuf->queue);
107 static int ci_ll_reset(struct dvb_ringbuffer *cibuf, struct file *file,
119 if (dvb_ringbuffer_free(cibuf) < len)
125 dvb_ringbuffer_write(cibuf, msg, 8);
133 static ssize_t ci_ll_write(struct dvb_ringbuffer *cibuf, struct file *file,
152 free = dvb_ringbuffer_free(cibuf);
158 if (wait_event_interruptible(cibuf->queue,
159 (dvb_ringbuffer_free(cibuf) >= count + 2)))
163 DVB_RINGBUFFER_WRITE_BYTE(cibuf, count >> 8);
164 DVB_RINGBUFFER_WRITE_BYTE(cibuf, count & 0xff);
166 res = dvb_ringbuffer_write(cibuf, page, count);
172 static ssize_t ci_ll_read(struct dvb_ringbuffer *cibuf, struct file *file,
179 if (!cibuf->data || !count)
181 if (non_blocking && (dvb_ringbuffer_empty(cibuf)))
183 if (wait_event_interruptible(cibuf->queue,
184 !dvb_ringbuffer_empty(cibuf)))
186 avail = dvb_ringbuffer_avail(cibuf);
189 len = DVB_RINGBUFFER_PEEK(cibuf, 0) << 8;
190 len |= DVB_RINGBUFFER_PEEK(cibuf, 1);
193 DVB_RINGBUFFER_SKIP(cibuf, 2);
195 return dvb_ringbuffer_read_user(cibuf, buf, len);