1*2fe8fb19SBen Gras.\" Copyright (c) 1993 John Brezak 2*2fe8fb19SBen Gras.\" All rights reserved. 3*2fe8fb19SBen Gras.\" 4*2fe8fb19SBen Gras.\" Redistribution and use in source and binary forms, with or without 5*2fe8fb19SBen Gras.\" modification, are permitted provided that the following conditions 6*2fe8fb19SBen Gras.\" are met: 7*2fe8fb19SBen Gras.\" 1. Redistributions of source code must retain the above copyright 8*2fe8fb19SBen Gras.\" notice, this list of conditions and the following disclaimer. 9*2fe8fb19SBen Gras.\" 2. Redistributions in binary form must reproduce the above copyright 10*2fe8fb19SBen Gras.\" notice, this list of conditions and the following disclaimer in the 11*2fe8fb19SBen Gras.\" documentation and/or other materials provided with the distribution. 12*2fe8fb19SBen Gras.\" 3. The name of the author may be used to endorse or promote products 13*2fe8fb19SBen Gras.\" derived from this software without specific prior written permission. 14*2fe8fb19SBen Gras.\" 15*2fe8fb19SBen Gras.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND 16*2fe8fb19SBen Gras.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17*2fe8fb19SBen Gras.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18*2fe8fb19SBen Gras.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE 19*2fe8fb19SBen Gras.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20*2fe8fb19SBen Gras.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21*2fe8fb19SBen Gras.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22*2fe8fb19SBen Gras.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23*2fe8fb19SBen Gras.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24*2fe8fb19SBen Gras.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25*2fe8fb19SBen Gras.\" SUCH DAMAGE. 26*2fe8fb19SBen Gras.\" 27*2fe8fb19SBen Gras.\" $NetBSD: insque.3,v 1.5 2010/04/30 10:24:02 jruoho Exp $ 28*2fe8fb19SBen Gras.\" 29*2fe8fb19SBen Gras.Dd April 30, 2010 30*2fe8fb19SBen Gras.Dt INSQUE 3 31*2fe8fb19SBen Gras.Os 32*2fe8fb19SBen Gras.Sh NAME 33*2fe8fb19SBen Gras.Nm insque , 34*2fe8fb19SBen Gras.Nm remque 35*2fe8fb19SBen Gras.Nd insert/remove element from a queue 36*2fe8fb19SBen Gras.Sh LIBRARY 37*2fe8fb19SBen Gras.Lb libc 38*2fe8fb19SBen Gras.Sh SYNOPSIS 39*2fe8fb19SBen Gras.In search.h 40*2fe8fb19SBen Gras.Ft void 41*2fe8fb19SBen Gras.Fn insque "void *elem" "void *pred" 42*2fe8fb19SBen Gras.Ft void 43*2fe8fb19SBen Gras.Fn remque "void *elem" 44*2fe8fb19SBen Gras.Sh DESCRIPTION 45*2fe8fb19SBen Gras.Fn insque 46*2fe8fb19SBen Grasand 47*2fe8fb19SBen Gras.Fn remque 48*2fe8fb19SBen Grasmanipulate queues built from doubly linked lists. 49*2fe8fb19SBen GrasThe queue can be either circular or linear. 50*2fe8fb19SBen GrasThe functions expect their 51*2fe8fb19SBen Grasarguments to point to a structure whose first and second members are 52*2fe8fb19SBen Graspointers to the next and previous element, respectively. 53*2fe8fb19SBen GrasThe 54*2fe8fb19SBen Gras.Fn insque 55*2fe8fb19SBen Grasfunction also allows the 56*2fe8fb19SBen Gras.Fa pred 57*2fe8fb19SBen Grasargument to be a 58*2fe8fb19SBen Gras.Dv NULL 59*2fe8fb19SBen Graspointer for the initialization of a new linear list's 60*2fe8fb19SBen Grashead element. 61*2fe8fb19SBen Gras.Sh STANDARDS 62*2fe8fb19SBen GrasThe 63*2fe8fb19SBen Gras.Fn insque 64*2fe8fb19SBen Grasand 65*2fe8fb19SBen Gras.Fn remque 66*2fe8fb19SBen Grasfunctions conform to 67*2fe8fb19SBen Gras.St -p1003.1-2001 . 68*2fe8fb19SBen Gras.Sh HISTORY 69*2fe8fb19SBen GrasThe 70*2fe8fb19SBen Gras.Fn insque 71*2fe8fb19SBen Grasand 72*2fe8fb19SBen Gras.Fn remque 73*2fe8fb19SBen Grasare derived from the 74*2fe8fb19SBen Gras.Sq insque 75*2fe8fb19SBen Grasand 76*2fe8fb19SBen Gras.Sq remque 77*2fe8fb19SBen Grasinstructions on the 78*2fe8fb19SBen Gras.Tn VAX . 79*2fe8fb19SBen GrasThey first appeared in 80*2fe8fb19SBen Gras.Bx 4.2 . 81