#ifndef EXEC_PORTS_H #define EXEC_PORTS_H /* ** $VER: ports.h 39.0 (15.10.1991) ** Includes Release 44.1 ** ** Message ports and Messages. ** ** (C) Copyright 1985-1999 Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_NODES_H #include <exec/nodes.h> #endif /* EXEC_NODES_H */ #ifndef EXEC_LISTS_H #include <exec/lists.h> #endif /* EXEC_LISTS_H */ #ifndef EXEC_TASKS_H #include <exec/tasks.h> #endif /* EXEC_TASKS_H */ /****** MsgPort *****************************************************/ struct MsgPort { struct Node mp_Node; UBYTE mp_Flags; UBYTE mp_SigBit; /* signal bit number */ void *mp_SigTask; /* object to be signalled */ struct List mp_MsgList; /* message linked list */ }; #define mp_SoftInt mp_SigTask /* Alias */ /* mp_Flags: Port arrival actions (PutMsg) */ #define PF_ACTION 3 /* Mask */ #define PA_SIGNAL 0 /* Signal task in mp_SigTask */ #define PA_SOFTINT 1 /* Signal SoftInt in mp_SoftInt/mp_SigTask */ #define PA_IGNORE 2 /* Ignore arrival */ /****** Message *****************************************************/ struct Message { struct Node mn_Node; struct MsgPort *mn_ReplyPort; /* message reply port */ UWORD mn_Length; /* total message length, in bytes */ /* (include the size of the Message */ /* structure in the length) */ }; #endif /* EXEC_PORTS_H */