home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************************
- *
- * Support Function -- Extended IO Request plus DosPacket
- *
- ***********************************************************************/
-
- #include "handler.h"
-
- struct IOExtPacket *CreateExtPkt(ioReplyPort,size)
- struct MsgPort *ioReplyPort;
- LONG size;
- {
- struct IOExtPacket *ioExtPkt;
-
- if (ioReplyPort == 0)
- return ((struct IODosPkt *) 0);
-
- ioExtPkt = (struct IOExtPacket *)AllocMem (size, MEMF_CLEAR | MEMF_PUBLIC);
-
- if (ioExtPkt == 0)
- return ((struct IOExtPacket *) 0);
-
- ioExtPkt -> io_req.io_Message.mn_Node.ln_Type = NT_MESSAGE;
- ioExtPkt -> io_req.io_Message.mn_Node.ln_Pri = 0;
- ioExtPkt -> io_req.io_Message.mn_ReplyPort = ioReplyPort;
- ioExtPkt -> io_req.io_Message.mn_Node.ln_Name =
- (char *)&(ioExtPkt -> io_pkt);
-
- ioExtPkt -> io_pkt.dp_Link = &(ioExtPkt ->io_req.io_Message);
- ioExtPkt -> io_pkt.dp_Port = ioReplyPort;
-
- return (ioExtPkt);
- }
-
- void DeleteExtPkt(ioExtPkt,size)
- struct IOExtPacket *ioExtPkt;
- LONG size;
- {
- ioExtPkt -> io_req.io_Message.mn_Node.ln_Type = 0xff;
- ioExtPkt -> io_req.io_Device = (struct Device *) -1;
- ioExtPkt -> io_req.io_Unit = (struct Unit *) -1;
-
- FreeMem ((char *)ioExtPkt, size);
- }
-
-