include/exec/ports.h

[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]
#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 */

[Back to Amiga Developer Docs]

AltStyle によって変換されたページ (->オリジナル) /