Creates an I/O request.
Item CreateIOReq( const char *name, uint8 pri, Item dev, Item mp )
This convenience procedure creates an I/O request item.
When you create an I/O request, you must decide how the device will notify you when an I/O operation completes. There are two choices:
With notification by signal, the device will send your task the SIGF_IODONE signal whenever an I/O operation completes. This is a low-overhead mechanism, which is also low on information. When you get the signal, all you know is that an I/O operation has completed. You do not know which operation has completed. This has to be determined by looking at the state of all outstanding I/O requests.
Notification by message involves slightly more overhead, but provides much more information. When you create the I/O request, you indicate a message port. Whenever an I/O operation completes, the device will send a message to that message port. The message will contain the following information:
The procedure returns the item number of the new I/O request or one of the following error codes if an error occurs:
Convenience call implemented in clib.lib V20.
When you no longer need an I/O request, use DeleteIOReq()
to delete it.
You can use FindNamedItem()
to find a I/O request by name. When creating I/O requests, you should assign unique names whenever possible.
The kernel may change the priority of an I/O request to help optimize throughput.
DeleteIOReq
()