Lines Matching refs:msgbuf
35 void ibuf_enqueue(struct msgbuf *, struct ibuf *);
36 void ibuf_dequeue(struct msgbuf *, struct ibuf *);
141 ibuf_close(struct msgbuf *msgbuf, struct ibuf *buf)
143 ibuf_enqueue(msgbuf, buf);
147 ibuf_write(struct msgbuf *msgbuf)
155 TAILQ_FOREACH(buf, &msgbuf->bufs, entry) {
164 if ((n = writev(msgbuf->fd, iov, i)) == -1) {
177 msgbuf_drain(msgbuf, n);
190 msgbuf_init(struct msgbuf *msgbuf)
192 msgbuf->queued = 0;
193 msgbuf->fd = -1;
194 TAILQ_INIT(&msgbuf->bufs);
198 msgbuf_drain(struct msgbuf *msgbuf, size_t n)
202 for (buf = TAILQ_FIRST(&msgbuf->bufs); buf != NULL && n > 0;
207 ibuf_dequeue(msgbuf, buf);
216 msgbuf_clear(struct msgbuf *msgbuf)
220 while ((buf = TAILQ_FIRST(&msgbuf->bufs)) != NULL)
221 ibuf_dequeue(msgbuf, buf);
225 msgbuf_write(struct msgbuf *msgbuf)
241 TAILQ_FOREACH(buf, &msgbuf->bufs, entry) {
265 if ((n = sendmsg(msgbuf->fd, &msg, 0)) == -1) {
287 msgbuf_drain(msgbuf, n);
293 ibuf_enqueue(struct msgbuf *msgbuf, struct ibuf *buf)
295 TAILQ_INSERT_TAIL(&msgbuf->bufs, buf, entry);
296 msgbuf->queued++;
300 ibuf_dequeue(struct msgbuf *msgbuf, struct ibuf *buf)
302 TAILQ_REMOVE(&msgbuf->bufs, buf, entry);
307 msgbuf->queued--;