home *** CD-ROM | disk | FTP | other *** search
- #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));
- }
-