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