summaryrefslogtreecommitdiff
path: root/static/netbsd/man9/physio.9 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man9/physio.9 3.html')
-rw-r--r--static/netbsd/man9/physio.9 3.html93
1 files changed, 0 insertions, 93 deletions
diff --git a/static/netbsd/man9/physio.9 3.html b/static/netbsd/man9/physio.9 3.html
deleted file mode 100644
index 6f566d57..00000000
--- a/static/netbsd/man9/physio.9 3.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">PHYSIO(9)</td>
- <td class="head-vol">Kernel Developer's Manual</td>
- <td class="head-rtitle">PHYSIO(9)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">physio</code> &#x2014; <span class="Nd">initiate
- I/O on raw devices</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp"><var class="Ft">int</var>
- <br/>
- <code class="Fn">physio</code>(<var class="Fa">void (*strategy)(buf_t
- *)</var>, <var class="Fa">buf_t *bp</var>, <var class="Fa">dev_t dev</var>,
- <var class="Fa">int flags</var>, <var class="Fa">void (*minphys)(buf_t
- *)</var>, <var class="Fa">struct uio *uio</var>);</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The
- <a class="permalink" href="#physio"><code class="Fn" id="physio">physio</code></a>()
- is a helper function typically called from character device read and write
- routines to start I/O on a user process buffer. It calls back on the
- provided <var class="Fa">strategy</var> routine one or more times to
- complete the transfer described by <var class="Fa">uio</var>. The maximum
- amount of data to transfer with each call to <var class="Fa">strategy</var>
- is determined by the <var class="Fa">minphys</var> routine.</p>
-<p class="Pp" id="physio~2">Since <var class="Fa">uio</var> normally describes
- user space addresses,
- <a class="permalink" href="#physio~2"><code class="Fn">physio</code></a>()
- needs to lock the appropriate data area into memory before each transaction
- with <var class="Fa">strategy</var> (see <a class="Xr">uvm_vslock(9)</a> and
- <a class="Xr">uvm_vsunlock(9)</a>). The <code class="Fn">physio</code>()
- function always awaits the completion of the entire requested transfer
- before returning, unless an error condition is detected earlier. In all
- cases, the buffer passed in <var class="Fa">bp</var> is locked (marked as
- &#x201C;busy&#x201D;) for the duration of the entire transfer.</p>
-<p class="Pp">A break-down of the arguments follows:</p>
-<dl class="Bl-tag">
- <dt><var class="Fa">strategy</var></dt>
- <dd>The device strategy routine to call for each chunk of data to initiate
- device I/O.</dd>
- <dt><var class="Fa">bp</var></dt>
- <dd>The buffer to use with the strategy routine. The buffer flags will have
- <code class="Dv">B_BUSY</code>, <code class="Dv">B_PHYS</code>, and
- <code class="Dv">B_RAW</code> set when passed to the strategy routine. If
- <code class="Dv">NULL</code>, a buffer is allocated from a system
- pool.</dd>
- <dt><var class="Fa">dev</var></dt>
- <dd>The device number identifying the device to interact with.</dd>
- <dt><var class="Fa">flags</var></dt>
- <dd>Direction of transfer; the only valid settings are
- <code class="Dv">B_READ</code> or <code class="Dv">B_WRITE</code>.</dd>
- <dt><var class="Fa">minphys</var></dt>
- <dd>A device specific routine called to determine the maximum transfer size
- that the device's strategy routine can handle.</dd>
- <dt><var class="Fa">uio</var></dt>
- <dd>The description of the entire transfer as requested by the user process.
- Currently, the results of passing a <var class="Fa">uio</var> structure
- with the &#x2018;uio_segflg&#x2019; set to anything other than
- <code class="Dv">UIO_USERSPACE</code>, are undefined.</dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
- VALUES</a></h1>
-<p class="Pp">If successful <code class="Fn">physio</code>() returns 0.
- <code class="Er">EFAULT</code> is returned if the address range described by
- <var class="Fa">uio</var> is not accessible by the requesting process.
- <code class="Fn">physio</code>() will return any error resulting from calls
- to the device strategy routine, by examining the
- <code class="Dv">B_ERROR</code> buffer flag and the &#x2018;b_error&#x2019;
- field. Note that the actual transfer size may be less than requested by
- <var class="Fa">uio</var> if the device signals an &#x201C;end of
- file&#x201D; condition.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">read(2)</a>, <a class="Xr">write(2)</a></p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">September 12, 2019</td>
- <td class="foot-os">NetBSD 10.1</td>
- </tr>
-</table>