home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_progs
/
prog_oth
/
empthand.lha
/
misc.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-26
|
1KB
|
55 lines
/*
MISC.c
------
DOS-Packet-Routinen
grob angelehnt an eine ältere Routinensammlung
von Phillip Lindsay
Diese Version von Oliver Wagner, © Amiga-DOS
*/
#include <proto/exec.h>
#include <proto/dos.h>
/* Packet zurückgeben, mit entsprechenden Returncodes */
void returnpacket(struct DosPacket *packet, struct Process *p, long res1, long res2)
{
struct Message *msg;
struct MsgPort *replyport;
/* Return-Codes setzen */
packet->dp_Res1=res1;
packet->dp_Res2=res2;
/* ReplyPort holen */
replyport=packet->dp_Port;
/* Zeiger auf die Exec-Message des Packets */
msg=packet->dp_Link;
/* Packet-Port zurücksetzen */
packet->dp_Port=&p->pr_MsgPort;
/* Message und Packet verbinden */
msg->mn_Node.ln_Name=(char *)packet;
msg->mn_Node.ln_Succ=NULL;
msg->mn_Node.ln_Pred=NULL;
/* und Message abschicken */
PutMsg(replyport,msg);
}
struct DosPacket *getpacket(struct Process *p)
{
struct MsgPort *port;
struct Message *msg;
/* Port unseres Process */
port = &p->pr_MsgPort;
/* Auf Nachricht warten */
WaitPort(port);
/* Nachricht abholen */
msg = GetMsg(port);
/* Packet extrahieren und zurückgeben */
return((struct DosPacket *)msg->mn_Node.ln_Name);
}