5 Copyright 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Message ports and messages
13 # include "exec/nodes.h"
16 # include "exec/lists.h"
24 UBYTE mp_SigBit
; /* Signal bit number */
25 void * mp_SigTask
; /* Object to be signalled */
26 struct List mp_MsgList
; /* Linked list of messages */
29 #define mp_SoftInt mp_SigTask /* Alias */
31 /* mp_Flags: Port arrival actions (PutMsg) */
32 #define PF_ACTION 7 /* Mask */
34 #define PA_SIGNAL 0 /* Signal task in mp_SigTask */
35 #define PA_SOFTINT 1 /* Signal SoftInt in mp_SoftInt/mp_SigTask */
36 #define PA_IGNORE 2 /* Ignore arrival */
38 #define PA_CALL 3 /* Call function in mp_SigTask. This was never
39 documented on AmigaOS and was never defined
40 but would work for mp_Flags == 3 */
42 #define PA_FASTCALL 4 /* AROS extension. Like PA_SOFTINT, calls an
43 Interrupt in mp_SoftInt, but passes the
44 message as the third argument without doesn't
45 add it to the message list and so doesn't
46 require any locking, task switching or
47 Disable()/Enable() pairs */
53 struct MsgPort
* mn_ReplyPort
; /* message reply port */
54 UWORD mn_Length
; /* total message length, in bytes */
55 /* (include the size of the Message
56 structure in the length) */
62 struct MsgPort
* mn_ReplyPort
; /* message reply port */
63 UWORD mn_Length
; /* total message length, in bytes */
64 /* (include the size of the Message
65 structure in the length) */
66 ULONG mn_Magic
; /* can be used to figure out the message sender */
67 ULONG mn_Version
; /* version can be used to extend a message in later versions */
70 /* definition for entry Magic in Messages
71 Magic is introduced to prevent Multiple Ports, for example if you´r using
72 ScreenNotifications and DecorNotifications you must have two Ports as long
73 as you cannot figure out which Messsage ist posted. With Magic this is no
76 #define MAGIC_DECORATOR 0x8000001
77 #define MAGIC_SCREENNOTIFY 0x8000002
79 #endif /* EXEC_PORTS_H */