1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
4 .\" ========================================================================
5 .de Sh \" Subsection heading
13 .de Sp \" Vertical space (when we can't use .PP)
17 .de Vb \" Begin verbatim text
22 .de Ve \" End verbatim text
26 .\" Set up some character translations and predefined strings. \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
29 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
30 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
31 .\" nothing in troff, for use with C<>.
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD. Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
57 . tm Index:\\$1\t\\n%\t"\\$2"
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear. Run. Save yourself. No user-serviceable parts.
70 . \" fudge factors for nroff and troff
79 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
85 . \" simple accents for nroff and troff
95 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 . \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 . \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 . \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
129 .\" ========================================================================
132 .TH list 3 "2008-04-06" "INN 2.4.5" "InterNetNews Documentation"
134 list \- list routines
136 .IX Header "SYNOPSIS"
137 \&\fB#include <inn/list.h>\fR
147 struct node *tailpred;
150 \&\fBvoid list_new(struct list *\fR\fIlist\fR\fB);\fR
152 \&\fBstruct node *list_addhead(struct list *\fR\fIlist\fR\fB, struct node *\fR\fInode\fR\fB);\fR
154 \&\fBstruct node *list_addtail(struct list *\fR\fIlist\fR\fB, struct node *\fR\fInode\fR\fB);\fR
156 \&\fBstruct node *list_head(struct list *\fR\fIlist\fR\fB);\fR
158 \&\fBstruct node *list_tail(struct list *\fR\fIlist\fR\fB);\fR
160 \&\fBstruct node *list_succ(struct node *\fR\fInode\fR\fB);\fR
162 \&\fBstruct node *list_pred(struct node *\fR\fInode\fR\fB);\fR
164 \&\fBstruct node *list_remhead(struct list *\fR\fIlist\fR\fB);\fR
166 \&\fBstruct node *list_remtail(struct list *\fR\fIlist\fR\fB);\fR
168 \&\fBstruct node *list_remove(struct node *\fR\fInode\fR\fB);\fR
170 \&\fBstruct node *list_insert(struct list *\fR\fIlist\fR\fB, struct node *\fR\fInode\fR\fB, struct node *\fR\fIpred\fR\fB);\fR
172 \&\fBbool list_isempty(struct list *\fR\fIlist\fR\fB);\fR
174 .IX Header "DESCRIPTION"
175 \&\fBlist_new\fR initialises the list header \fIlist\fR so as to create an
178 \&\fBlist_addhead\fR adds \fInode\fR to the head of \fIlist\fR, returning the node
181 \&\fBlist_addtail\fR adds \fInode\fR to the tail of \fIlist\fR, returning the node
184 \&\fBlist_head\fR returns a pointer to the the node at the head of \fIlist\fR
185 or \fB\s-1NULL\s0\fR if the list is empty.
187 \&\fBlist_tail\fR returns a pointer to the the node at the tail of \fIlist\fR
188 or \fB\s-1NULL\s0\fR if the list is empty.
190 \&\fBlist_succ\fR returns the next (successor) node on the list after
191 \&\fInode\fR or \fB\s-1NULL\s0\fR if \fInode\fR was the final node.
193 \&\fBlist_pred\fR returns the previous (predecessor) node on the list before
194 \&\fInode\fR or \fB\s-1NULL\s0\fR if \fInode\fR was the first node.
196 \&\fBlist_remhead\fR removes the first node from \fIlist\fR and returns it to
197 the caller. If the list is empty \fB\s-1NULL\s0\fR is returned.
199 \&\fBlist_remtail\fR removes the last node from \fIlist\fR and returns it to
200 the caller. If the list is empty \fB\s-1NULL\s0\fR is returned.
202 \&\fBlist_remove\fR removes \fInode\fR from the list it is on and returns it
205 \&\fBlist_insert\fR inserts \fInode\fR onto \fIlist\fR after the node \fIpred\fR. If
206 \&\fIpred\fR is \fB\s-1NULL\s0\fR then \fInode\fR is added to the head of \fIlist\fR.
209 Written by Alex Kiernan <alex.kiernan@thus.net> for InterNetNews 2.4.0.
211 $Id: list.3 7880 2008-06-16 20:37:13Z iulius $