#include "PopUpMenu.h"
/*+++++++++++++++++++++++++++++++++++++++++++++
+ CreatePort(Name, Pri)
+ DeletePort(Port)
+
+ Replacements for amiga.lib
+++++++++++++++++++++++++++++++++++++++++++++++*/
struct MsgPort *CreatePort(Name, Pri)
char *Name;
LONG Pri;
{
UBYTE SigBit;
if ((SigBit = AllocSignal(-1)) != -1) {
struct MsgPort *const Port = AllocMem(sizeof(struct MsgPort),
MEMF_CLEAR | MEMF_PUBLIC);
if (Port) {
Port->mp_Node.ln_Name = Name;
Port->mp_Node.ln_Pri = Pri;
Port->mp_Node.ln_Type = NT_MSGPORT;
Port->mp_Flags = PA_SIGNAL;
Port->mp_SigBit = SigBit;
Port->mp_SigTask = (struct Task *)FindTask(0);
AddPort(Port);
return(Port);
}
else
FreeSignal((LONG)SigBit);
}
return(NULL);
}
VOID DeletePort(Port)
struct MsgPort *const Port;
{
RemPort(Port);
FreeSignal((LONG)Port->mp_SigBit);
FreeMem(Port,sizeof(struct MsgPort));
}