4 * Implements Inlines for LWKT messages and ports.
6 * $DragonFly: src/sys/sys/msgport2.h,v 1.8 2004/04/15 00:50:05 dillon Exp $
9 #ifndef _SYS_MSGPORT2_H_
10 #define _SYS_MSGPORT2_H_
12 #ifndef _SYS_THREAD2_H_
13 #include <sys/thread2.h>
18 lwkt_initmsg(lwkt_msg_t msg, int cmd)
21 msg->ms_flags = MSGF_DONE;
22 msg->ms_reply_port = &curthread->td_msgport;
28 lwkt_initmsg_rp(lwkt_msg_t msg, lwkt_port_t rport, int cmd)
31 msg->ms_flags = MSGF_DONE;
32 msg->ms_reply_port = rport;
38 lwkt_reinitmsg(lwkt_msg_t msg, lwkt_port_t rport)
40 msg->ms_flags = (msg->ms_flags & MSGF_ASYNC) | MSGF_DONE;
41 msg->ms_reply_port = rport;
46 lwkt_beginmsg(lwkt_port_t port, lwkt_msg_t msg)
48 return(port->mp_putport(port, msg));
53 lwkt_waitmsg(lwkt_msg_t msg)
55 lwkt_port_t port = msg->ms_reply_port;
56 return(((lwkt_msg_t)port->mp_waitport(port, msg))->ms_error);
61 lwkt_replymsg(lwkt_msg_t msg, int error)
63 lwkt_port_t port = msg->ms_reply_port;
66 msg->ms_error = error;
67 msg->ms_flags |= MSGF_REPLY1;
68 port->mp_replyport(port, msg);
74 lwkt_waitport(lwkt_port_t port, lwkt_msg_t msg)
76 return(port->mp_waitport(port, msg));