summaryrefslogtreecommitdiff
path: root/static/freebsd/man9/physio.9 4.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man9/physio.9 4.html')
-rw-r--r--static/freebsd/man9/physio.9 4.html100
1 files changed, 0 insertions, 100 deletions
diff --git a/static/freebsd/man9/physio.9 4.html b/static/freebsd/man9/physio.9 4.html
deleted file mode 100644
index 2992988d..00000000
--- a/static/freebsd/man9/physio.9 4.html
+++ /dev/null
@@ -1,100 +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"><code class="In">#include
- &lt;<a class="In">sys/param.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/systm.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/bio.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/buf.h</a>&gt;</code></p>
-<p class="Pp"><var class="Ft">int</var>
- <br/>
- <code class="Fn">physio</code>(<var class="Fa" style="white-space: nowrap;">struct
- cdev *dev</var>, <var class="Fa" style="white-space: nowrap;">struct uio
- *uio</var>, <var class="Fa" style="white-space: nowrap;">int
- ioflag</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
- <code class="Fn">read</code>() and <code class="Fn">write</code>() routines
- to start I/O on a user process buffer. The maximum amount of data to
- transfer with each call is determined by
- <var class="Fa">dev-&gt;si_iosize_max</var>. The
- <code class="Fn">physio</code>() call converts the I/O request into a
- <a class="permalink" href="#strategy"><code class="Fn" id="strategy">strategy</code></a>()
- request and passes the new request to the driver's
- <code class="Fn">strategy</code>() routine for processing.</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 those pages into memory. This is done by calling
- <a class="permalink" href="#vmapbuf"><code class="Fn" id="vmapbuf">vmapbuf</code></a>()
- for the appropriate pages. <code class="Fn">physio</code>() always awaits
- the completion of the entire requested transfer before returning, unless an
- error condition is detected earlier.</p>
-<p class="Pp">A break-down of the arguments follows:</p>
-<dl class="Bl-tag">
- <dt><var class="Fa">dev</var></dt>
- <dd>The device number identifying the device to interact with.</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 <var class="Va">uio_segflg</var> set to anything other than
- <code class="Dv">UIO_USERSPACE</code> are undefined.</dd>
- <dt id="read"><var class="Fa">ioflag</var></dt>
- <dd>The ioflag argument from the
- <a class="permalink" href="#read"><code class="Fn">read</code></a>() or
- <a class="permalink" href="#write"><code class="Fn" id="write">write</code></a>()
- function calling <code class="Fn">physio</code>().</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
- <var class="Va">b_error</var> 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>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp">The <code class="Nm">physio</code> manual page is originally from
- <span class="Ux">NetBSD</span> with minor changes for applicability with
- <span class="Ux">FreeBSD</span>.</p>
-<p class="Pp">The <code class="Nm">physio</code> call has been completely
- re-written for providing higher I/O and paging performance.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">January 19, 2012</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>