]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/device_read_async_inband.html
xnu-344.tar.gz
[apple/xnu.git] / osfmk / man / device_read_async_inband.html
1 <h2>device_read_async_inband</h2> <hr> <p> <strong>System Trap</strong> - Read a sequence of bytes "inband" from a device object. <h3>SYNOPSIS</h3> <pre> <strong>kern_return_t device_read_async_inband</strong> <strong>(mach_port_t</strong> <var>device</var>, <strong>mach_port_t</strong> <var>queue</var>, <strong>mach_port_t</strong> <var>request_id</var>, <strong>dev_mode_t</strong> <var>mode</var>, <strong>recnum_t</strong> <var>recnum</var>, <strong>io_buf_len_t</strong> <var>bytes_wanted</var><strong>);</strong> </pre> <h3>PARAMETERS</h3> <dl> <p> <dt> <var>device</var> <dd> [in device send right] A device port to the device to be read. <p> <dt> <var>queue</var> <dd> [in io_done queue send right] The port returned from <strong>io_done_queue_create</strong>. <p> <dt> <var>request_id</var> <dd> [in send right] An unique request identifier that will be passed back as part of the io_done_result structure. <p> <dt> <var>mode</var> <dd> [in scalar] I/O mode value. Meaningful options are: <p> <dl> <dt> <strong>D_NOWAIT</strong> <dd> Do not wait if data is unavailable. </dl> <p> <dt> <var>recnum</var> <dd> [in scalar] Record number to be read. <p> <dt> <var>bytes_wanted</var> <dd> [in scalar] Size of data transfer. </dl> <h3>DESCRIPTION</h3> <p> The <strong>device_read_async_inband</strong> function enqueues a read operation for a sequence of bytes from a device object. The meaning of <var>recnum</var> as well as the specific operation performed is device dependent. This call differs from <strong>device_read_async</strong> in that the returned bytes are returned "inband" in the completion IPC message (in <strong>io_done_result.qd_inline</strong>). <h3>RETURN VALUES</h3> <p> <strong>device_read_async_inband</strong> returns only invalid parameter errors. <h3>RELATED INFORMATION</h3> <p> Functions: <a href="device_read_async.html"><strong>device_read_async</strong></a>, <a href="DR_overwrite_async.html"><strong>device_read_overwrite_async</strong></a>, <a href="device_write_async.html"><strong>device_write_async</strong></a>, <a href="device_write_async_inband.html"><strong>device_write_async_inband</strong></a>, <a href="io_done_queue_create.html"><strong>io_done_queue_create</strong></a>.