diff options
author | 2003-05-08 23:26:30 +0000 | |
---|---|---|
committer | 2003-05-08 23:26:30 +0000 | |
commit | cd087ff391bdbcbbdb7da34b396f13d637f24f78 (patch) | |
tree | 7333db3981c56e4ef99022d93be079d0dabe72ee /lib/libc/stdlib/insque.3 | |
parent | move lsearch(3) and insque(3) from libcompat -> libc; they are now POSIX (diff) | |
download | wireguard-openbsd-cd087ff391bdbcbbdb7da34b396f13d637f24f78.tar.xz wireguard-openbsd-cd087ff391bdbcbbdb7da34b396f13d637f24f78.zip |
move insque(3) and remque(3) from libcompat -> libc; they are now POSIX
Diffstat (limited to 'lib/libc/stdlib/insque.3')
-rw-r--r-- | lib/libc/stdlib/insque.3 | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/lib/libc/stdlib/insque.3 b/lib/libc/stdlib/insque.3 new file mode 100644 index 00000000000..b87adb87bcb --- /dev/null +++ b/lib/libc/stdlib/insque.3 @@ -0,0 +1,100 @@ +.\" $OpenBSD: insque.3,v 1.1 2003/05/08 23:26:30 millert Exp $ +.\" Copyright (c) 1993 John Brezak +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" +.Dd August 12, 1993 +.Dt INSQUE 3 +.Os +.Sh NAME +.Nm insque , +.Nm remque +.Nd insert/remove element from a queue +.Sh SYNOPSIS +.Fd #include <search.h> +.Ft void +.Fn insque "void *elem" "void *pred" +.Ft void +.Fn remque "void *elem" +.Sh DESCRIPTION +.Bf -symbolic +These interfaces have been superceded by the +.Xr queue 3 +macros and are provided for compatibility with legacy code. +.Ef +.Pp +.Fn insque +and +.Fn remque +manipulate queues built from doubly linked lists. +The queue can be either circular or linear. +Each element in the queue must be of the following form: +.Bd -literal +struct qelem { + struct qelem *q_forw; + struct qelem *q_back; + char q_data[]; +}; +.Ed +.Pp +The first two elements in the struct must be pointers of the +same type that point to the previous and next elements in +the queue respectively. +Any subsequent data in the struct is application-dependent. +.Pp +The +.Fn insque +function inserts +.Fa elem +into a queue immediately after +.Fa pred . +.Pp +The +.Fn remque +function removes +.Fa elem +from the queue. +.Sh DIAGNOSTICS +These functions are not atomic unless that machine architecture allows it. +.Sh SEE ALSO +.Xr queue 3 +.Sh STANDARDS +The +.Fn lsearch +and +.Fn lfind +functions conform to the +.St -p1003.1-01 +and +.St -xpg4.3 . +specifications. +.Sh HISTORY +The +.Fn insque +and +.Fn remque +functions are derived from the insque and remque instructions on a +.Tn VAX . |