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