Remove obsolete INITLIST macro.
[bertos.git] / kern / msg.h
index b87881b4b7fb982f0c2bc771f3bd50cbf3c47124..b808602ac132ef2d9cd187e40f4a7525634d35da 100755 (executable)
  * \author Bernardo Innocenti <bernie@develer.com>
  */
 
-/*
- * $Log$
- * Revision 1.2  2004/08/14 19:37:57  rasky
- * Merge da SC: macros.h, pool.h, BIT_CHANGE, nome dei processi, etc.
- *
- * Revision 1.1  2004/06/06 15:11:08  bernie
- * Import into DevLib.
- *
- */
+/*#*
+ *#* $Log$
+ *#* Revision 1.5  2004/11/28 23:20:25  bernie
+ *#* Remove obsolete INITLIST macro.
+ *#*
+ *#* Revision 1.4  2004/10/19 08:22:09  bernie
+ *#* msg_peek(): New function.
+ *#*
+ *#* Revision 1.3  2004/08/25 14:12:09  rasky
+ *#* Aggiornato il comment block dei log RCS
+ *#*
+ *#* Revision 1.2  2004/08/14 19:37:57  rasky
+ *#* Merge da SC: macros.h, pool.h, BIT_CHANGE, nome dei processi, etc.
+ *#*
+ *#* Revision 1.1  2004/06/06 15:11:08  bernie
+ *#* Import into DevLib.
+ *#*
+ *#*/
 #ifndef KERN_MSG_H
 #define KERN_MSG_H
 
@@ -50,7 +59,7 @@ typedef struct Msg
 /*! Initialize a message port */
 INLINE void msg_initPort(MsgPort* port, Event event)
 {
-       INITLIST(&port->queue);
+       LIST_INIT(&port->queue);
        port->evn = event;
 }
 
@@ -67,6 +76,15 @@ INLINE Msg* msg_get(MsgPort* port)
        return (Msg*)REMHEAD(&port->queue);
 }
 
+/* Peek the first message in the queue of \a port, or NULL if the port is empty */
+INLINE Msg *msg_peek(MsgPort *port)
+{
+       if (ISLISTEMPTY(&port->queue))
+               return NULL;
+
+       return (Msg *)port->queue.head;
+}
+
 /*! Send back (reply) \a msg to its sender */
 INLINE void msg_reply(Msg* msg)
 {