grub2: bring back build of aros-side grub2 tools
[AROS.git] / rom / exec / sendio.c
blobd460972ad93159d40761bfcde29d95f551662702
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Start an asynchronous I/O request.
6 Lang: english
7 */
8 #include <exec/execbase.h>
9 #include <exec/io.h>
10 #include <aros/libcall.h>
11 #include <proto/exec.h>
13 /*****************************************************************************
15 NAME */
17 AROS_LH1(void, SendIO,
19 /* SYNOPSIS */
20 AROS_LHA(struct IORequest *, iORequest, A1),
22 /* LOCATION */
23 struct ExecBase *, SysBase, 77, Exec)
25 /* FUNCTION
26 Start an asynchronous I/O request by calling the device's BeginIO()
27 vector. After sending the messages asynchronously you can wait for
28 the message to be replied at the I/O reply port.
30 INPUTS
31 iORequest - Pointer to iorequest structure.
33 RESULT
35 NOTES
37 EXAMPLE
39 BUGS
41 SEE ALSO
42 OpenDevice(), CloseDevice(), DoIO(), CheckIO(), AbortIO(), WaitIO()
44 INTERNALS
46 ******************************************************************************/
48 AROS_LIBFUNC_INIT
50 /* Prepare the message. Don't set quick bit. */
51 iORequest->io_Flags=0;
52 iORequest->io_Message.mn_Node.ln_Type=0;
54 /* Call BeginIO() vector */
55 AROS_LVO_CALL1NR(void,
56 AROS_LCA(struct IORequest *,iORequest,A1),
57 struct Device *,iORequest->io_Device,5,
60 AROS_LIBFUNC_EXIT
61 } /* SendIO */