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