#ifndef EXEC_LISTS_H
#define EXEC_LISTS_H

/*******************************************************************
 pOS / Amiga adapt
*******************************************************************/

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_NODES_H
#include <exec/nodes.h>
#endif


struct List
{
  struct Node* lh_Head;
  struct Node* lh_Tail;
  struct Node* lh_TailPred;
  UBYTE        lh_Pad[2];
};


struct MinList
{
  struct MinNode* mlh_Head;
  struct MinNode* mlh_Tail;
  struct MinNode* mlh_TailPred;
};



#define IsListEmpty(x) \
 ( ((x)->lh_TailPred) == (struct Node *)(x) )

#define IsMsgPortEmpty(x) \
 ( ((x)->mp_MsgList.lh_TailPred) == (struct Node *)(&(x)->mp_MsgList) )


#endif  /* EXEC_LISTS_H */
