4 * Implements Inlines for LWKT messages and ports.
6 * $DragonFly: src/sys/sys/msgport2.h,v 1.7 2004/03/06 19:40:32 dillon Exp $
9 #ifndef _SYS_MSGPORT2_H_
10 #define _SYS_MSGPORT2_H_
14 lwkt_initmsg(lwkt_msg_t msg, int cmd)
17 msg->ms_flags = MSGF_DONE;
18 msg->ms_reply_port = &curthread->td_msgport;
24 lwkt_initmsg_rp(lwkt_msg_t msg, lwkt_port_t rport, int cmd)
27 msg->ms_flags = MSGF_DONE;
28 msg->ms_reply_port = rport;
34 lwkt_reinitmsg(lwkt_msg_t msg, lwkt_port_t rport)
36 msg->ms_flags = (msg->ms_flags & MSGF_ASYNC) | MSGF_DONE;
37 msg->ms_reply_port = rport;
42 lwkt_beginmsg(lwkt_port_t port, lwkt_msg_t msg)
44 return(port->mp_putport(port, msg));
49 lwkt_forwardmsg(lwkt_port_t port, lwkt_msg_t msg)
51 return(port->mp_putport(port, msg));
56 lwkt_waitmsg(lwkt_msg_t msg)
58 lwkt_port_t port = msg->ms_reply_port;
59 return(((lwkt_msg_t)port->mp_waitport(port, msg))->ms_error);
64 lwkt_abortmsg(lwkt_msg_t msg)
66 lwkt_port_t port = msg->ms_target_port;
67 port->mp_abortport(port, msg);
72 lwkt_replymsg(lwkt_msg_t msg, int error)
74 lwkt_port_t port = msg->ms_reply_port;
75 msg->ms_error = error;
76 port->mp_replyport(port, msg);
81 lwkt_waitport(lwkt_port_t port, lwkt_msg_t msg)
83 return(port->mp_waitport(port, msg));