DEFINITION MODULE ExecSupport;
(*$ LargeVars:=FALSE NameChk:=FALSE *)

FROM SYSTEM IMPORT
 ADDRESS;
FROM ExecD IMPORT
 ListPtr,IOStdReqPtr,MsgPortPtr,TaskPtr;

PROCEDURE NewList(list{8}:ListPtr);
PROCEDURE IsListEmpty(list{8}:ListPtr):BOOLEAN;

PROCEDURE BeginIO(ioRequest{9}:ADDRESS);
PROCEDURE AbortIO(ioRequest{9}:ADDRESS);
PROCEDURE CreatePort(portName:ADDRESS;
                     priority:SHORTINT):MsgPortPtr;
PROCEDURE DeletePort(msgPort:MsgPortPtr);
PROCEDURE IsMsgPortEmpty(msgPort{8}:MsgPortPtr):BOOLEAN;

PROCEDURE CreateExtIO(ioReplyPort:MsgPortPtr;
                      size:INTEGER):ADDRESS;
PROCEDURE DeleteExtIO(extIOReq:ADDRESS);
PROCEDURE CreateStdIO(ioReplyPort:MsgPortPtr)
                      :IOStdReqPtr;
PROCEDURE DeleteStdIO(ioStdReq:IOStdReqPtr);
PROCEDURE CreateTask(taskName:ADDRESS;
                     priority:SHORTINT;
                     initPC:ADDRESS;
                     stackSize:LONGINT):TaskPtr;
PROCEDURE DeleteTask(t:TaskPtr);

END ExecSupport.
