diff options
author | Roger Leigh <rleigh@debian.org> | 2008-10-26 16:11:41 +0000 |
---|---|---|
committer | Roger Leigh <rleigh@debian.org> | 2008-10-26 16:11:41 +0000 |
commit | dfae5860833782af557deb35e286d7e186fe3cf5 (patch) | |
tree | e3b4282ae08e120f78cd0c097f7cb3b570e94da2 /doc/gutenprint/html/group__list.html | |
parent | 3b59bb0a607ec27ea60f07d1cd5d1bbb4483c832 (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.html | 1312 |
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 Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related 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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__list.html#ga1">stp_list_t</a></td></tr> + +<tr><td class="mdescLeft"> </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(* </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"> </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 *(* </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"> </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 *(* </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"> </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(* </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"> </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 </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"> </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> * </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"> </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> * </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"> </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 </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"> </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> * </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"> </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> * </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"> </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> * </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"> </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> * </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"> </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> * </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"> </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 </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"> </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 </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"> </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> </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"> </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 </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"> </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> </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"> </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 </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"> </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> </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"> </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 </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"> </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> </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"> </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 </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"> </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> </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"> </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 </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"> </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 </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"> </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> * </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"> </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> * </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"> </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 * </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"> </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 </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"> </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </td> + <td> + +<p> +A callback function to compare two nodes. +<p> +The two parameters are pointers to node data. The return value is <0 if the first sorts before the second, 0 if they sort identically, and >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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </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 </td> + <td class="mdname" nowrap> <em>idx</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>idx</em> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </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 * </td> + <td class="mdname" nowrap> <em>long_name</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>long_name</em> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </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 * </td> + <td class="mdname" nowrap> <em>name</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>name</em> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga1">stp_list_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>list</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> * </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 * </td> + <td class="mdname" nowrap> <em>data</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>next</em> </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> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> * </td> + <td class="mdname" nowrap> <em>item</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>item</em> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>item</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>item</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="group__list.html#ga0">stp_list_item_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>item</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga0">stp_list_item_t</a> * </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 * </td> + <td class="mdname" nowrap> <em>data</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list item to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>data</em> </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">( </td> + <td class="md" nowrap valign="top">void * </td> + <td class="mdname1" valign="top" nowrap> <em>item</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> </td> + <td class="mdname" nowrap> <em>copyfunc</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>copyfunc</em> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> </td> + <td class="mdname" nowrap> <em>freefunc</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>freefunc</em> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> </td> + <td class="mdname" nowrap> <em>long_namefunc</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>long_namefunc</em> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> </td> + <td class="mdname" nowrap> <em>namefunc</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>namefunc</em> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="group__list.html#ga1">stp_list_t</a> * </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> </td> + <td class="mdname" nowrap> <em>sortfunc</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </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> </td><td>the list to use. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>sortfunc</em> </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 +<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> |