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