diff options
Diffstat (limited to 'static/freebsd/man9/buf_ring.9 3.html')
| -rw-r--r-- | static/freebsd/man9/buf_ring.9 3.html | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/static/freebsd/man9/buf_ring.9 3.html b/static/freebsd/man9/buf_ring.9 3.html deleted file mode 100644 index b7aed8b2..00000000 --- a/static/freebsd/man9/buf_ring.9 3.html +++ /dev/null @@ -1,130 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">BUF_RING(9)</td> - <td class="head-vol">Kernel Developer's Manual</td> - <td class="head-rtitle">BUF_RING(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">buf_ring</code>, - <code class="Nm">buf_ring_alloc</code>, - <code class="Nm">buf_ring_free</code>, - <code class="Nm">buf_ring_enqueue</code>, - <code class="Nm">buf_ring_dequeue_mc</code>, - <code class="Nm">buf_ring_dequeue_sc</code>, - <code class="Nm">buf_ring_count</code>, - <code class="Nm">buf_ring_empty</code>, - <code class="Nm">buf_ring_full</code>, <code class="Nm">buf_ring_peek</code> - — <span class="Nd">multi-producer, {single, multi}-consumer lock-less - ring buffer</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 - <<a class="In">sys/param.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/buf_ring.h</a>></code></p> -<p class="Pp"><var class="Ft">struct buf_ring *</var> - <br/> - <code class="Fn">buf_ring_alloc</code>(<var class="Fa" style="white-space: nowrap;">int - count</var>, <var class="Fa" style="white-space: nowrap;">struct malloc_type - *type</var>, <var class="Fa" style="white-space: nowrap;">int flags</var>, - <var class="Fa" style="white-space: nowrap;">struct mtx *sc_lock</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">buf_ring_free</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>, <var class="Fa" style="white-space: nowrap;">struct - malloc_type *type</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">buf_ring_enqueue</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>, <var class="Fa" style="white-space: nowrap;">void - *buf</var>);</p> -<p class="Pp"><var class="Ft">void *</var> - <br/> - <code class="Fn">buf_ring_dequeue_mc</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>);</p> -<p class="Pp"><var class="Ft">void *</var> - <br/> - <code class="Fn">buf_ring_dequeue_sc</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">buf_ring_count</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">buf_ring_empty</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">buf_ring_full</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>);</p> -<p class="Pp"><var class="Ft">void *</var> - <br/> - <code class="Fn">buf_ring_peek</code>(<var class="Fa" style="white-space: nowrap;">struct - buf_ring *br</var>);</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The <code class="Nm">buf_ring</code> functions provide a lock-less - multi-producer and lock-less multi-consumer as well as single-consumer ring - buffer.</p> -<p class="Pp" id="buf_ring_alloc">The - <a class="permalink" href="#buf_ring_alloc"><code class="Fn">buf_ring_alloc</code></a>() - function is used to allocate a buf_ring ring buffer with - <var class="Fa">count</var> slots using malloc_type - <var class="Fa">type</var> and memory flags <var class="Fa">flags</var>. The - single consumer interface is protected by <var class="Fa">sc_lock</var>.</p> -<p class="Pp" id="buf_ring_free">The - <a class="permalink" href="#buf_ring_free"><code class="Fn">buf_ring_free</code></a>() - function is used to free a buf_ring. The user is responsible for freeing any - enqueued items.</p> -<p class="Pp" id="buf_ring_enqueue">The - <a class="permalink" href="#buf_ring_enqueue"><code class="Fn">buf_ring_enqueue</code></a>() - function is used to enqueue a buffer to a buf_ring.</p> -<p class="Pp" id="buf_ring_dequeue_mc">The - <a class="permalink" href="#buf_ring_dequeue_mc"><code class="Fn">buf_ring_dequeue_mc</code></a>() - function is a multi-consumer safe way of dequeueing elements from a - buf_ring.</p> -<p class="Pp" id="buf_ring_dequeue_sc">The - <a class="permalink" href="#buf_ring_dequeue_sc"><code class="Fn">buf_ring_dequeue_sc</code></a>() - function is a single-consumer interface to dequeue elements - requiring the - user to serialize accesses with a lock.</p> -<p class="Pp" id="buf_ring_count">The - <a class="permalink" href="#buf_ring_count"><code class="Fn">buf_ring_count</code></a>() - function returns the number of elements in a buf_ring.</p> -<p class="Pp" id="buf_ring_empty">The - <a class="permalink" href="#buf_ring_empty"><code class="Fn">buf_ring_empty</code></a>() - function returns <code class="Dv">TRUE</code> if the buf_ring is empty, - <code class="Dv">FALSE</code> otherwise.</p> -<p class="Pp" id="buf_ring_full">The - <a class="permalink" href="#buf_ring_full"><code class="Fn">buf_ring_full</code></a>() - function returns <code class="Dv">TRUE</code> if no more items can be - enqueued, <code class="Dv">FALSE</code> otherwise.</p> -<p class="Pp" id="buf_ring_peek">The - <a class="permalink" href="#buf_ring_peek"><code class="Fn">buf_ring_peek</code></a>() - function returns a pointer to the last element in the buf_ring if the - buf_ring is not empty, <code class="Dv">NULL</code> otherwise.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN - VALUES</a></h1> -<p class="Pp">The <code class="Fn">buf_ring_enqueue</code>() function return - <code class="Er">ENOBUFS</code> if there are no available slots in the - buf_ring.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp">These functions were introduced in <span class="Ux">FreeBSD - 8.0</span>.</p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">September 27, 2012</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
