86 lines
4.1 KiB
Groff
86 lines
4.1 KiB
Groff
.TH @LISTHASH_PREFIX@_list_new 3 "Jan 2000" "University of Illinois" "C Library Calls"
|
|
\" @configure_input@
|
|
.SH NAME
|
|
@LISTHASH_PREFIX@_list_new, @LISTHASH_PREFIX@_list_free, @LISTHASH_PREFIX@_list_next,
|
|
@LISTHASH_PREFIX@_list_prev, @LISTHASH_PREFIX@_list_add, @LISTHASH_PREFIX@_list_del,
|
|
@LISTHASH_PREFIX@_list_search, @LISTHASH_PREFIX@_list_dup, @LISTHASH_PREFIX@_list_merge,
|
|
@LISTHASH_PREFIX@_list_add_str \- linked list routines
|
|
.SH SYNOPSIS
|
|
.B #include <@LISTHASH_PREFIX@.h>
|
|
.P
|
|
.BI "@LISTHASH_PREFIX@_list_t *@LISTHASH_PREFIX@_list_new(int " flags ","
|
|
.BI "int (*" cmpfunc ")());"
|
|
.br
|
|
.BI "void @LISTHASH_PREFIX@_list_free(@LISTHASH_PREFIX@_list_t *" l ", void (*" freefunc ")());"
|
|
.br
|
|
.BI "int @LISTHASH_PREFIX@_list_add_str(@LISTHASH_PREFIX@_list_t *" l ", char *" str ","
|
|
.BI "char *" delim ");"
|
|
.br
|
|
.BI "int @LISTHASH_PREFIX@_list_add(@LISTHASH_PREFIX@_list_t *" l ", void *" data ");"
|
|
.br
|
|
.BI "void @LISTHASH_PREFIX@_list_del(@LISTHASH_PREFIX@_list_t *" l ", @LISTHASH_PREFIX@_node_t **" n ");"
|
|
.br
|
|
.BI "int @LISTHASH_PREFIX@_list_search(@LISTHASH_PREFIX@_list_t *" l ", @LISTHASH_PREFIX@_node_t **" n ","
|
|
.BI "void *" data ", int (*" matchfunc ")());"
|
|
.br
|
|
.BI "int @LISTHASH_PREFIX@_list_next(@LISTHASH_PREFIX@_list_t *" l ", @LISTHASH_PREFIX@_node_t **" n ");"
|
|
.br
|
|
.BI "int @LISTHASH_PREFIX@_list_prev(@LISTHASH_PREFIX@_list_t *" l ", @LISTHASH_PREFIX@_node_t **" n ");"
|
|
.br
|
|
.BI "@LISTHASH_PREFIX@_list_t *@LISTHASH_PREFIX@_list_dup(@LISTHASH_PREFIX@_list_t *" l ");"
|
|
.br
|
|
.BI "@LISTHASH_PREFIX@_list_t *@LISTHASH_PREFIX@_list_merge(int (*" cmpfunc ")(), int " flags ","
|
|
.BI "@LISTHASH_PREFIX@_list_t *" list1 ", @LISTHASH_PREFIX@_list_t *" list2 ");"
|
|
.SH DESCRIPTION
|
|
The \fB@LISTHASH_PREFIX@_list_new\fP() function creates a new list. The \fIflags\fP
|
|
argument must be one of the following values:
|
|
.IP \fBLIST_USERFUNC\fP
|
|
The \fIcmpfunc\fP argument points to a user-supplied function which
|
|
determines the ordering of the list.
|
|
.IP \fBLIST_STACK\fP
|
|
Use the list as a stack. New elements are added to the front of the list.
|
|
.IP \fBLIST_QUEUE\fP
|
|
Use the list as a queue. New elements are added to the end of the list.
|
|
.PP
|
|
The \fB@LISTHASH_PREFIX@_list_free\fP() function deallocates all memory associated
|
|
with the list \fIl\fP. If \fIfreefunc\fP is not \fINULL\fP, it is called
|
|
to free memory associated with each node in the list.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_add\fP() function adds the element pointed to by
|
|
\fIdata\fP to the list \fIl\fP. The position of the new element will
|
|
be determined by the flags passed to \fB@LISTHASH_PREFIX@_list_new\fP() when the
|
|
list was created.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_add_str\fP() function tokenizes the string \fIstr\fP
|
|
using the delimiter characters in the string \fIdelim\fP. The resulting
|
|
tokens are added to list \fIl\fP using \fB@LISTHASH_PREFIX@_list_add\fP().
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_search\fP() function searches for an element which
|
|
matches \fIdata\fP using the matching function \fImatchfunc\fP. If
|
|
\fImatchfunc\fP is \fINULL\fP, a default matching function designed for
|
|
ASCII strings is used. Searching begins from the node pointed to by
|
|
\fIn\fP.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_del\fP() function removes the entry pointed to by
|
|
\fIn\fP from the list pointed to by \fIl\fP.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_dup\fP() function creates a copy of the list \fIl\fP
|
|
using dynamically allocated memory.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_merge\fP() function creates a new
|
|
list with \fIflags\fP and \fIcmpfunc\fP, in the same way as
|
|
\fB@LISTHASH_PREFIX@_list_new\fP(). It then adds all elements from \fIlist1\fP
|
|
and \fIlist2\fP using \fB@LISTHASH_PREFIX@_list_add\fP().
|
|
.SH RETURN VALUE
|
|
The \fB@LISTHASH_PREFIX@_list_new\fP(), \fB@LISTHASH_PREFIX@_list_dup\fP(), and
|
|
\fB@LISTHASH_PREFIX@_list_merge\fP() functions return a pointer to the new list
|
|
structure, or \fINULL\fP on error.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_next\fP(), \fB@LISTHASH_PREFIX@_list_prev\fP(), and
|
|
\fB@LISTHASH_PREFIX@_list_search\fP() functions return 1 when valid data is
|
|
returned, or 0 otherwise.
|
|
|
|
The \fB@LISTHASH_PREFIX@_list_add\fP() and \fB@LISTHASH_PREFIX@_list_add_str\fP() functions
|
|
return 0 on success, or -1 on error.
|
|
.SH SEE ALSO
|
|
.BR @LISTHASH_PREFIX@_hash_new (3)
|