summaryrefslogtreecommitdiff
path: root/doc/gutenprint/html/group__list.html
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@debian.org>2008-10-26 16:11:41 +0000
committerRoger Leigh <rleigh@debian.org>2008-10-26 16:11:41 +0000
commitdfae5860833782af557deb35e286d7e186fe3cf5 (patch)
treee3b4282ae08e120f78cd0c097f7cb3b570e94da2 /doc/gutenprint/html/group__list.html
parent3b59bb0a607ec27ea60f07d1cd5d1bbb4483c832 (diff)
Imported Upstream version 4.3.99+cvs20050702
Diffstat (limited to 'doc/gutenprint/html/group__list.html')
-rw-r--r--doc/gutenprint/html/group__list.html1312
1 files changed, 1312 insertions, 0 deletions
diff --git a/doc/gutenprint/html/group__list.html b/doc/gutenprint/html/group__list.html
new file mode 100644
index 0000000..7571931
--- /dev/null
+++ b/doc/gutenprint/html/group__list.html
@@ -0,0 +1,1312 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>libgutenprint API Reference: list</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.3-20050530 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
+<h1>list</h1>The list data type implements a fast generic doubly-linked list.
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef stp_list_item&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga0">stp_list_item_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The list item opaque data type. <a href="#ga0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef stp_list&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga1">stp_list_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The list opaque data type. <a href="#ga1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga2">stp_node_freefunc</a> )(void *)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function to free the data a node contains. <a href="#ga2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga3">stp_node_copyfunc</a> )(const void *)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function to copy the data a node contains. <a href="#ga3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef const char *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga4">stp_node_namefunc</a> )(const void *)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function to get the name of a node. <a href="#ga4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga5">stp_node_sortfunc</a> )(const void *, const void *)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function to compare two nodes. <a href="#ga5"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga6">stp_list_node_free_data</a> (void *item)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free node data allocated with stp_malloc. <a href="#ga6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga7">stp_list_create</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new list object. <a href="#ga7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga8">stp_list_copy</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy and allocate a list object. <a href="#ga8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga9">stp_list_destroy</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a list object. <a href="#ga9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga10">stp_list_get_start</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first item in a list. <a href="#ga10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga11">stp_list_get_end</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the last item in a list. <a href="#ga11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga12">stp_list_get_item_by_index</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list, int idx)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an item in a list by its index. <a href="#ga12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga13">stp_list_get_item_by_name</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an item in a list by its name. <a href="#ga13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga14">stp_list_get_item_by_long_name</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list, const char *long_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an item in a list by its long name. <a href="#ga14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga15">stp_list_get_length</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length of a list. <a href="#ga15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga16">stp_list_set_freefunc</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga2">stp_node_freefunc</a> freefunc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a list node free function. <a href="#ga16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga2">stp_node_freefunc</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga17">stp_list_get_freefunc</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list node free function. <a href="#ga17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga18">stp_list_set_copyfunc</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga3">stp_node_copyfunc</a> copyfunc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a list node copy function. <a href="#ga18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga3">stp_node_copyfunc</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga19">stp_list_get_copyfunc</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list node copy function. <a href="#ga19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga20">stp_list_set_namefunc</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga4">stp_node_namefunc</a> namefunc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a list node name function. <a href="#ga20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga4">stp_node_namefunc</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga21">stp_list_get_namefunc</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list node name function. <a href="#ga21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga22">stp_list_set_long_namefunc</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga4">stp_node_namefunc</a> long_namefunc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a list node long name function. <a href="#ga22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga4">stp_node_namefunc</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga23">stp_list_get_long_namefunc</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list node long name function. <a href="#ga23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga24">stp_list_set_sortfunc</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga5">stp_node_sortfunc</a> sortfunc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a list node sort function. <a href="#ga24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga5">stp_node_sortfunc</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga25">stp_list_get_sortfunc</a> (const <a class="el" href="group__list.html#ga1">stp_list_t</a> *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list node sort function. <a href="#ga25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga26">stp_list_item_create</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *next, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new list item. <a href="#ga26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga27">stp_list_item_destroy</a> (<a class="el" href="group__list.html#ga1">stp_list_t</a> *list, <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *item)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a list item. <a href="#ga27"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga28">stp_list_item_prev</a> (const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *item)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the previous item in the list. <a href="#ga28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga29">stp_list_item_next</a> (const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *item)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the next item in the list. <a href="#ga29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga30">stp_list_item_get_data</a> (const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *item)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the data associated with a list item. <a href="#ga30"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga31">stp_list_item_set_data</a> (<a class="el" href="group__list.html#ga0">stp_list_item_t</a> *item, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data associated with a list item. <a href="#ga31"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The list data type implements a fast generic doubly-linked list.
+<p>
+It supports all of the operations you might want in a list (insert, remove, iterate over the list, copy whole lists), plus some (optional) less common features: finding items by index, name or long name, and sorting. These should also be fairly fast, due to caching in the list head.<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="ga0"></a><!-- doxytag: member="list.h::stp_list_item_t" ref="ga0" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct stp_list_item <a class="el" href="group__list.html#ga0">stp_list_item_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The list item opaque data type.
+<p>
+This object is a node in the list. </td>
+ </tr>
+</table>
+<a class="anchor" name="ga1"></a><!-- doxytag: member="list.h::stp_list_t" ref="ga1" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct stp_list <a class="el" href="group__list.html#ga1">stp_list_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The list opaque data type.
+<p>
+This object represents the list as a whole. </td>
+ </tr>
+</table>
+<a class="anchor" name="ga3"></a><!-- doxytag: member="list.h::stp_node_copyfunc" ref="ga3" args=")(const void *)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef void*(* <a class="el" href="group__list.html#ga3">stp_node_copyfunc</a>)(const void *) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A callback function to copy the data a node contains.
+<p>
+The parameter is a pointer to the node data. The return value is a pointer to the new copy of the data. </td>
+ </tr>
+</table>
+<a class="anchor" name="ga2"></a><!-- doxytag: member="list.h::stp_node_freefunc" ref="ga2" args=")(void *)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef void(* <a class="el" href="group__list.html#ga2">stp_node_freefunc</a>)(void *) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A callback function to free the data a node contains.
+<p>
+The parameter is a pointer to the node data. </td>
+ </tr>
+</table>
+<a class="anchor" name="ga4"></a><!-- doxytag: member="list.h::stp_node_namefunc" ref="ga4" args=")(const void *)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef const char*(* <a class="el" href="group__list.html#ga4">stp_node_namefunc</a>)(const void *) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A callback function to get the name of a node.
+<p>
+The parameter is a pointer to the node data. The return value is a pointer to the name of the node, or NULL if there is no name. </td>
+ </tr>
+</table>
+<a class="anchor" name="ga5"></a><!-- doxytag: member="list.h::stp_node_sortfunc" ref="ga5" args=")(const void *, const void *)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef int(* <a class="el" href="group__list.html#ga5">stp_node_sortfunc</a>)(const void *, const void *) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A callback function to compare two nodes.
+<p>
+The two parameters are pointers to node data. The return value is &lt;0 if the first sorts before the second, 0 if they sort identically, and &gt;0 if the first sorts after the second. </td>
+ </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ga8"></a><!-- doxytag: member="list.h::stp_list_copy" ref="ga8" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a>* stp_list_copy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copy and allocate a list object.
+<p>
+list must be a valid list object previously created with <a class="el" href="group__list.html#ga7">stp_list_create()</a>. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to copy. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the new copy of the list.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga7"></a><!-- doxytag: member="list.h::stp_list_create" ref="ga7" args="(void)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a>* stp_list_create </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Create a new list object.
+<p>
+<dl compact><dt><b>Returns:</b></dt><dd>the newly created list object.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga9"></a><!-- doxytag: member="list.h::stp_list_destroy" ref="ga9" args="(stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int stp_list_destroy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroy a list object.
+<p>
+It is an error to destroy the list more than once. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to destroy. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>0 on success, 1 on failure.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga19"></a><!-- doxytag: member="list.h::stp_list_get_copyfunc" ref="ga19" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga3">stp_node_copyfunc</a> stp_list_get_copyfunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a list node copy function.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the function previously set with stp_list_set_copyfunc, or NULL if no function has been set.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga11"></a><!-- doxytag: member="list.h::stp_list_get_end" ref="ga11" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_get_end </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Find the last item in a list.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the last list item, or NULL if the list is empty.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga17"></a><!-- doxytag: member="list.h::stp_list_get_freefunc" ref="ga17" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga2">stp_node_freefunc</a> stp_list_get_freefunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a list node free function.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the function previously set with stp_list_set_freefunc, or NULL if no function has been set.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga12"></a><!-- doxytag: member="list.h::stp_list_get_item_by_index" ref="ga12" args="(const stp_list_t *list, int idx)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_get_item_by_index </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap> <em>idx</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Find an item in a list by its index.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>the index to find. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the list item, or NULL if the index is invalid or the list is empty.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga14"></a><!-- doxytag: member="list.h::stp_list_get_item_by_long_name" ref="ga14" args="(const stp_list_t *list, const char *long_name)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_get_item_by_long_name </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>long_name</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Find an item in a list by its long name.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>long_name</em>&nbsp;</td><td>the long name to find. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the list item, or NULL if the long name is invalid or the list is empty.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga13"></a><!-- doxytag: member="list.h::stp_list_get_item_by_name" ref="ga13" args="(const stp_list_t *list, const char *name)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_get_item_by_name </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>name</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Find an item in a list by its name.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>the name to find. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the list item, or NULL if the name is invalid or the list is empty.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga15"></a><!-- doxytag: member="list.h::stp_list_get_length" ref="ga15" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int stp_list_get_length </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the length of a list.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the list length (number of list items).</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga23"></a><!-- doxytag: member="list.h::stp_list_get_long_namefunc" ref="ga23" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga4">stp_node_namefunc</a> stp_list_get_long_namefunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a list node long name function.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the function previously set with stp_list_set_long_namefunc, or NULL if no function has been set.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga21"></a><!-- doxytag: member="list.h::stp_list_get_namefunc" ref="ga21" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga4">stp_node_namefunc</a> stp_list_get_namefunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a list node name function.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the function previously set with stp_list_set_namefunc, or NULL if no function has been set.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga25"></a><!-- doxytag: member="list.h::stp_list_get_sortfunc" ref="ga25" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga5">stp_node_sortfunc</a> stp_list_get_sortfunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a list node sort function.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the function previously set with stp_list_set_sortfunc, or NULL if no function has been set.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga10"></a><!-- doxytag: member="list.h::stp_list_get_start" ref="ga10" args="(const stp_list_t *list)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_get_start </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>list</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Find the first item in a list.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the first list item, or NULL if the list is empty.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga26"></a><!-- doxytag: member="list.h::stp_list_item_create" ref="ga26" args="(stp_list_t *list, stp_list_item_t *next, const void *data)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int stp_list_item_create </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>next</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>const void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>data</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Create a new list item.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>next</em>&nbsp;</td><td>the next item in the list, or NULL to insert at the end of the list. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data the list item will contain. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>0 on success, 1 on failure (if data is NULL, for example).</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga27"></a><!-- doxytag: member="list.h::stp_list_item_destroy" ref="ga27" args="(stp_list_t *list, stp_list_item_t *item)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int stp_list_item_destroy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>item</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroy a list item.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>the item to destroy. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>0 on success, 1 on failure.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga30"></a><!-- doxytag: member="list.h::stp_list_item_get_data" ref="ga30" args="(const stp_list_item_t *item)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void* stp_list_item_get_data </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>item</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the data associated with a list item.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>the list item to use. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the data associated with item.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga29"></a><!-- doxytag: member="list.h::stp_list_item_next" ref="ga29" args="(const stp_list_item_t *item)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_item_next </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>item</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the next item in the list.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>the item to start from. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the list item following from item, or NULL if item is the end of the list.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga28"></a><!-- doxytag: member="list.h::stp_list_item_prev" ref="ga28" args="(const stp_list_item_t *item)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a>* stp_list_item_prev </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>item</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the previous item in the list.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>the item to start from. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the list item prior to item, or NULL if item is the start of the list.</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga31"></a><!-- doxytag: member="list.h::stp_list_item_set_data" ref="ga31" args="(stp_list_item_t *item, void *data)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int stp_list_item_set_data </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>data</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the data associated with a list item.
+<p>
+<dl compact><dt><b>Warning:</b></dt><dd>Note that if a sortfunc is in use, changing the data will NOT re-sort the list! </dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>the list item to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data to set. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>0 on success, 1 on failure (if data is NULL).</dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga6"></a><!-- doxytag: member="list.h::stp_list_node_free_data" ref="ga6" args="(void *item)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void stp_list_node_free_data </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>item</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Free node data allocated with stp_malloc.
+<p>
+This function is indended for use as an stp_node_freefunc, which uses stp_free to free the node data. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>the node data to free</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga18"></a><!-- doxytag: member="list.h::stp_list_set_copyfunc" ref="ga18" args="(stp_list_t *list, stp_node_copyfunc copyfunc)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void stp_list_set_copyfunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga3">stp_node_copyfunc</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>copyfunc</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a list node copy function.
+<p>
+This callback function will be called whenever a list item is copied. Its intended use is for automatic object copying (since C lacks a copy constructor). <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>copyfunc</em>&nbsp;</td><td>the function to set.</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga16"></a><!-- doxytag: member="list.h::stp_list_set_freefunc" ref="ga16" args="(stp_list_t *list, stp_node_freefunc freefunc)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void stp_list_set_freefunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga2">stp_node_freefunc</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>freefunc</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a list node free function.
+<p>
+This callback function will be called whenever a list item is destroyed. Its intended use is for automatic object destruction and any other cleanup required. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>freefunc</em>&nbsp;</td><td>the function to set.</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga22"></a><!-- doxytag: member="list.h::stp_list_set_long_namefunc" ref="ga22" args="(stp_list_t *list, stp_node_namefunc long_namefunc)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void stp_list_set_long_namefunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga4">stp_node_namefunc</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>long_namefunc</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a list node long name function.
+<p>
+This callback function will be called whenever the long name of a list item needs to be determined. This is used to find list items by long name. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>long_namefunc</em>&nbsp;</td><td>the function to set.</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga20"></a><!-- doxytag: member="list.h::stp_list_set_namefunc" ref="ga20" args="(stp_list_t *list, stp_node_namefunc namefunc)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void stp_list_set_namefunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga4">stp_node_namefunc</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>namefunc</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a list node name function.
+<p>
+This callback function will be called whenever the name of a list item needs to be determined. This is used to find list items by name. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namefunc</em>&nbsp;</td><td>the function to set.</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga24"></a><!-- doxytag: member="list.h::stp_list_set_sortfunc" ref="ga24" args="(stp_list_t *list, stp_node_sortfunc sortfunc)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void stp_list_set_sortfunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__list.html#ga5">stp_node_sortfunc</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>sortfunc</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a list node sort function.
+<p>
+This callback function will be called to determine the sort order for list items in sorted lists. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sortfunc</em>&nbsp;</td><td>the function to set.</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jul 2 09:45:10 2005 for libgutenprint API Reference by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.3-20050530 </small></address>
+</body>
+</html>