2 Copyright © 1995-2009, The AROS Development Team. All rights reserved.
12 #include <aros/debug.h>
13 #include "dos_intern.h"
15 /*****************************************************************************
18 #include <proto/dos.h>
23 AROS_LHA(struct MsgPort
*, port
, D1
),
24 AROS_LHA(LONG
, action
, D2
),
25 AROS_LHA(LONG
, arg1
, D3
),
26 AROS_LHA(LONG
, arg2
, D4
),
27 AROS_LHA(LONG
, arg3
, D5
),
28 AROS_LHA(LONG
, arg4
, D6
),
29 AROS_LHA(LONG
, arg5
, D7
),
32 struct DosLibrary
*, DOSBase
, 40, Dos
)
36 Send a dos packet to a filesystem and wait for the action to complete.
46 This function should NOT be used; it's only here for AmigaOS compatibility.
56 *****************************************************************************/
61 * First I create a regular dos packet and then let
66 struct Process
*me
= (struct Process
*)FindTask(NULL
);
67 struct DosPacket
*dp
= (struct DosPacket
*)AllocDosObject(DOS_STDPKT
,
69 struct MsgPort
*replyPort
;
71 BOOL i_am_process
= TRUE
;
78 kprintf("Allocated packet %p\n", dp
);
82 replyPort
= &me
->pr_MsgPort
;
86 /* Make sure that tasks can use DoPkt(). */
87 replyPort
= CreateMsgPort();
89 if (NULL
== replyPort
)
104 SendPkt(dp
, port
, replyPort
);
106 internal_WaitPkt(replyPort
, DOSBase
);
108 SetIoErr(dp
->dp_Res2
);
111 if (FALSE
== i_am_process
)
113 DeleteMsgPort(replyPort
);
116 FreeDosObject(DOS_STDPKT
, dp
);