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