Lines Matching refs:msgbuf

49 static void	ibuf_enqueue(struct msgbuf *, struct ibuf *);
50 static void ibuf_dequeue(struct msgbuf *, struct ibuf *);
51 static void msgbuf_drain(struct msgbuf *, size_t);
397 ibuf_close(struct msgbuf *msgbuf, struct ibuf *buf) in ibuf_close() argument
399 ibuf_enqueue(msgbuf, buf); in ibuf_close()
549 ibuf_write(struct msgbuf *msgbuf) in ibuf_write() argument
557 TAILQ_FOREACH(buf, &msgbuf->bufs, entry) { in ibuf_write()
566 if ((n = writev(msgbuf->fd, iov, i)) == -1) { in ibuf_write()
579 msgbuf_drain(msgbuf, n); in ibuf_write()
585 msgbuf_init(struct msgbuf *msgbuf) in msgbuf_init() argument
587 msgbuf->queued = 0; in msgbuf_init()
588 msgbuf->fd = -1; in msgbuf_init()
589 TAILQ_INIT(&msgbuf->bufs); in msgbuf_init()
593 msgbuf_drain(struct msgbuf *msgbuf, size_t n) in msgbuf_drain() argument
597 for (buf = TAILQ_FIRST(&msgbuf->bufs); buf != NULL && n > 0; in msgbuf_drain()
602 ibuf_dequeue(msgbuf, buf); in msgbuf_drain()
611 msgbuf_clear(struct msgbuf *msgbuf) in msgbuf_clear() argument
615 while ((buf = TAILQ_FIRST(&msgbuf->bufs)) != NULL) in msgbuf_clear()
616 ibuf_dequeue(msgbuf, buf); in msgbuf_clear()
620 msgbuf_write(struct msgbuf *msgbuf) in msgbuf_write() argument
636 TAILQ_FOREACH(buf, &msgbuf->bufs, entry) { in msgbuf_write()
662 if ((n = sendmsg(msgbuf->fd, &msg, 0)) == -1) { in msgbuf_write()
684 msgbuf_drain(msgbuf, n); in msgbuf_write()
690 msgbuf_queuelen(struct msgbuf *msgbuf) in msgbuf_queuelen() argument
692 return (msgbuf->queued); in msgbuf_queuelen()
696 ibuf_enqueue(struct msgbuf *msgbuf, struct ibuf *buf) in ibuf_enqueue() argument
700 TAILQ_INSERT_TAIL(&msgbuf->bufs, buf, entry); in ibuf_enqueue()
701 msgbuf->queued++; in ibuf_enqueue()
705 ibuf_dequeue(struct msgbuf *msgbuf, struct ibuf *buf) in ibuf_dequeue() argument
707 TAILQ_REMOVE(&msgbuf->bufs, buf, entry); in ibuf_dequeue()
708 msgbuf->queued--; in ibuf_dequeue()