-/*! Queue a message to a message port */
-#define PUTMSG(p,m) (ADDTAIL(&(p)->queue,(Node *)(m)), DOEVENT(&(p)->evn))
-#define PUTMSG_INTR(p,m) (ADDTAIL(&(p)->queue,(Node *)(m)), DOEVENT_INTR(&(p)->evn))
+/*! Queue \a msg into \a port, triggering the associated event */
+INLINE void msg_put(MsgPort* port, Msg* msg)
+{
+ ADDTAIL(&port->queue, &msg->link);
+ event_do(&port->evn);
+}