home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
200-299
/
ff236.lzh
/
DiskHandler
/
support.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-08-09
|
1KB
|
46 lines
/***********************************************************************
*
* 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);
}