Lines Matching refs:msgbuf
33 void ibuf_enqueue(struct msgbuf *, struct ibuf *);
34 void ibuf_dequeue(struct msgbuf *, struct ibuf *);
139 ibuf_close(struct msgbuf *msgbuf, struct ibuf *buf) in ibuf_close() argument
141 ibuf_enqueue(msgbuf, buf); in ibuf_close()
145 ibuf_write(struct msgbuf *msgbuf) in ibuf_write() argument
153 TAILQ_FOREACH(buf, &msgbuf->bufs, entry) { in ibuf_write()
162 if ((n = writev(msgbuf->fd, iov, i)) == -1) { in ibuf_write()
175 msgbuf_drain(msgbuf, n); in ibuf_write()
188 msgbuf_init(struct msgbuf *msgbuf) in msgbuf_init() argument
190 msgbuf->queued = 0; in msgbuf_init()
191 msgbuf->fd = -1; in msgbuf_init()
192 TAILQ_INIT(&msgbuf->bufs); in msgbuf_init()
196 msgbuf_drain(struct msgbuf *msgbuf, size_t n) in msgbuf_drain() argument
200 for (buf = TAILQ_FIRST(&msgbuf->bufs); buf != NULL && n > 0; in msgbuf_drain()
205 ibuf_dequeue(msgbuf, buf); in msgbuf_drain()
214 msgbuf_clear(struct msgbuf *msgbuf) in msgbuf_clear() argument
218 while ((buf = TAILQ_FIRST(&msgbuf->bufs)) != NULL) in msgbuf_clear()
219 ibuf_dequeue(msgbuf, buf); in msgbuf_clear()
223 msgbuf_write(struct msgbuf *msgbuf) in msgbuf_write() argument
239 TAILQ_FOREACH(buf, &msgbuf->bufs, entry) { in msgbuf_write()
263 if ((n = sendmsg(msgbuf->fd, &msg, 0)) == -1) { in msgbuf_write()
285 msgbuf_drain(msgbuf, n); in msgbuf_write()
291 ibuf_enqueue(struct msgbuf *msgbuf, struct ibuf *buf) in ibuf_enqueue() argument
293 TAILQ_INSERT_TAIL(&msgbuf->bufs, buf, entry); in ibuf_enqueue()
294 msgbuf->queued++; in ibuf_enqueue()
298 ibuf_dequeue(struct msgbuf *msgbuf, struct ibuf *buf) in ibuf_dequeue() argument
300 TAILQ_REMOVE(&msgbuf->bufs, buf, entry); in ibuf_dequeue()
305 msgbuf->queued--; in ibuf_dequeue()