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