home *** CD-ROM | disk | FTP | other *** search
- {
- These are the things you'll need in order to use Exec messages.
- You will not need to include Exec.i before this.
- }
-
- type
-
- NodeType = (NTUnknown, NTTask, NTInterrupt, NTDevice, NTMsgPort,
- NTMessage, NTFreeMsg, NTReplyMsg, NTResource, NTLibrary,
- NTMemory, NTSoftInt, NTFont, NTProcess, NTSemaphore);
-
- Node = record
- lnSucc : ^Node;
- lnPred : ^Node;
- lnType : Byte;
- lnPri : Byte;
- lnName : String;
- end;
- NodePtr = ^Node;
-
- MinNode = Record
- mln_Succ,
- mln_Pred : ^MinNode;
- end;
- MinNodePtr = ^MinNode;
-
- List = record
- lhHead,
- lhTail,
- lhTailPred : NodePtr;
- lhType,
- lPad : Byte;
- end;
- ListPtr = ^List;
-
- MinList = Record
- mlh_Head,
- mlh_Tail,
- mlh_TailPred : MinNodePtr;
- end;
- MinListPtr = ^MinList;
-
- MsgType = (PASignal, PASoftInt, PAIgnore, PFAction);
-
- MsgPort = record
- mpNode : Node;
- mpFlags,
- mpSigBit : Byte;
- mpSigTask : Address;
- mpMsgList : List;
- end;
- MsgPortPtr = ^MsgPort;
-
- Message = record
- mnNode : Node;
- mnReplyPort : MsgPortPtr;
- mnLength : Short;
- end;
- MessagePtr = ^Message;
-
- Procedure AddPort(p : MsgPortPtr);
- External;
- Function FindPort(n : String): MsgPortPtr;
- External;
- Function GetMsg(p : MsgPortPtr): MessagePtr;
- External;
- Procedure PutMsg(p : MsgPortPtr; m : MessagePtr);
- External;
- Procedure RemPort(m : MsgPortPtr);
- External;
- Procedure ReplyMsg(m : MessagePtr);
- External;
- Function WaitPort(p : MsgPortPtr): MessagePtr;
- External;
-