Lines Matching refs:msgq
22 static struct msgqueue_entry *mqe_alloc(MsgQueue_t *msgq) in mqe_alloc() argument
26 if ((mq = msgq->free) != NULL) in mqe_alloc()
27 msgq->free = mq->next; in mqe_alloc()
38 static void mqe_free(MsgQueue_t *msgq, struct msgqueue_entry *mq) in mqe_free() argument
41 mq->next = msgq->free; in mqe_free()
42 msgq->free = mq; in mqe_free()
51 void msgqueue_initialise(MsgQueue_t *msgq) in msgqueue_initialise() argument
55 msgq->qe = NULL; in msgqueue_initialise()
56 msgq->free = &msgq->entries[0]; in msgqueue_initialise()
59 msgq->entries[i].next = &msgq->entries[i + 1]; in msgqueue_initialise()
61 msgq->entries[NR_MESSAGES - 1].next = NULL; in msgqueue_initialise()
70 void msgqueue_free(MsgQueue_t *msgq) in msgqueue_free() argument
80 int msgqueue_msglength(MsgQueue_t *msgq) in msgqueue_msglength() argument
82 struct msgqueue_entry *mq = msgq->qe; in msgqueue_msglength()
85 for (mq = msgq->qe; mq; mq = mq->next) in msgqueue_msglength()
98 struct message *msgqueue_getmsg(MsgQueue_t *msgq, int msgno) in msgqueue_getmsg() argument
102 for (mq = msgq->qe; mq && msgno; mq = mq->next, msgno--); in msgqueue_getmsg()
115 int msgqueue_addmsg(MsgQueue_t *msgq, int length, ...) in msgqueue_addmsg() argument
117 struct msgqueue_entry *mq = mqe_alloc(msgq); in msgqueue_addmsg()
133 mqp = &msgq->qe; in msgqueue_addmsg()
148 void msgqueue_flush(MsgQueue_t *msgq) in msgqueue_flush() argument
152 for (mq = msgq->qe; mq; mq = mqnext) { in msgqueue_flush()
154 mqe_free(msgq, mq); in msgqueue_flush()
156 msgq->qe = NULL; in msgqueue_flush()