home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
502b.lha
/
PCQ_v1.2
/
Include
/
Exec
/
Ports.i
< prev
next >
Wrap
Text File
|
1991-05-07
|
1KB
|
56 lines
{
Ports.i for PCQ Pascal
This file defines ports and messages, which are used for inter-
task communications using the routines defined toward the
bottom of this file.
}
{$I "Include:Exec/Nodes.i"}
{$I "Include:Exec/Lists.i"}
type
PortType = (PASignal, PASoftInt, PAIgnore, PFAction);
{****** MsgPort *****************************************************}
MsgPort = record
mp_Node : Node;
mp_Flags : PortType;
mp_SigBit : Byte; { signal bit number }
mp_SigTask : Address; { task to be signalled (TaskPtr) }
mp_MsgList : List; { message linked list }
end;
MsgPortPtr = ^MsgPort;
{****** Message *****************************************************}
Message = record
mn_Node : Node;
mn_ReplyPort : MsgPortPtr; { message reply port }
mn_Length : Short; { message len in bytes }
end;
MessagePtr = ^Message;
Procedure AddPort(port : MsgPortPtr);
External;
Function FindPort(name : String): MsgPortPtr;
External;
Function GetMsg(port : MsgPortPtr): MessagePtr;
External;
Procedure PutMsg(port : MsgPortPtr; mess : MessagePtr);
External;
Procedure RemPort(port : MsgPortPtr);
External;
Procedure ReplyMsg(mess : MessagePtr);
External;
Function WaitPort(port : MsgPortPtr): MessagePtr;
External;