1<h2>device_read</h2> 2<hr> 3<p> 4<strong>Function</strong> - Read a sequence of bytes from a specific device. 5<h3>SYNOPSIS</h3> 6<pre> 7<strong>#include<device/device.h></strong> 8 9<strong>kern_return_t device_read</strong> 10 <strong>(device_t</strong> <var>device</var>, 11 <strong>mach_port_t</strong> <var>reply_port</var>, 12 <strong>dev_mode_t</strong> <var>mode</var>, 13 <strong>recnum_t</strong> <var>recnum</var>, 14 <strong>io_buf_len_t</strong> <var>bytes_wanted</var>, 15 <strong>io_buf_ptr_t</strong> <var>io_buf_ptr_t</var>, 16 <strong>mach_msg_type_number_t</strong> <var>mach_msg_type_number_t</var><strong>);</strong> 17 18 19<strong>#include<device/device_request.h></strong> 20 21<strong>kern_return_t device_read_request</strong> 22 <strong>(mach_port_t</strong> <var>device</var>, 23 <strong>mach_port_t</strong> <var>reply_port</var>, 24 <strong>dev_mode_t</strong> <var>mode</var>, 25 <strong>recnum_t</strong> <var>recnum</var>, 26 <strong>io_buf_len_t</strong> <var>bytes_wanted</var><strong>);</strong> 27 28 29 30<strong>kern_return_t ds_device_read_reply</strong> 31 <strong>(mach_port_t</strong> <var>reply_port</var>, 32 <strong>kern_return_t</strong> <var>return_code</var>, 33 <strong>io_buf_ptr_t</strong> <var>data</var>, 34 <strong>mach_msg_type_number_t</strong> <var>data_count</var><strong>);</strong> 35</pre> 36<h3>PARAMETERS</h3> 37<dl> 38<p> 39<dt> <var>device</var> 40<dd> 41[in device send right] 42A device port to the device to be read. 43<p> 44<dt> <var>reply_port</var> 45<dd> 46[in reply receive (to be converted to send-once) right] 47The port to 48which the reply message is to be sent. 49<p> 50<dt> <var>mode</var> 51<dd> 52[in scalar] 53I/O mode value. Meaningful options are: 54<dl> 55<p> 56<dt> <strong>D_NOWAIT</strong> 57<dd> 58Do not wait if data is unavailable. 59</dl> 60<p> 61<dt> <var>recnum</var> 62<dd> 63[in scalar] 64Record number to be read. 65<p> 66<dt> <var>bytes_wanted</var> 67<dd> 68[in scalar] 69Size of data transfer. 70<p> 71<dt> <var>return_code</var> 72<dd> 73[in scalar] 74The return status code from the read. 75<p> 76<dt> <var>data</var> 77<dd> 78[out pointer to dynamic array of bytes, in for asynchronous form] 79Returned data bytes. 80<p> 81<dt> <var>data_count</var> 82<dd> 83[out scalar, in for asynchronous form] 84Number of returned data bytes. 85</dl> 86<h3>DESCRIPTION</h3> 87<p> 88The <strong>device_read</strong> function reads a sequence of bytes 89from a device object. The 90meaning of <var>recnum</var> as well as the specific operation performed is device 91dependent. 92<h3>RETURN VALUES</h3> 93<p> 94Only generic errors apply. 95<h3>RELATED INFORMATION</h3> 96<p> 97Functions: 98<a href="device_read_inband.html"><strong>device_read_inband</strong></a>, 99<a href="device_read_overwrite.html"><strong>device_read_overwrite</strong></a>, 100<a href="device_reply_server.html"><strong>device_reply_server</strong></a>. 101