| .TH "generic linked-list data handling with a string as a key." 3 "24 Jun 2011" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*- |
| .ad l |
| .nh |
| .SH NAME |
| generic linked-list data handling with a string as a key. \- |
| .SS "Functions" |
| |
| .in +1c |
| .ti -1c |
| .RI "NETSNMP_INLINE void \fBnetsnmp_free_list_data\fP (\fBnetsnmp_data_list\fP *\fBnode\fP)" |
| .br |
| .RI "\fIfrees the data and a name at a given data_list \fBnode\fP. \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE void \fBnetsnmp_free_all_list_data\fP (\fBnetsnmp_data_list\fP *head)" |
| .br |
| .RI "\fIfrees all data and nodes in a list. \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE \fBnetsnmp_data_list\fP * \fBnetsnmp_create_data_list\fP (const char *name, void *data, Netsnmp_Free_List_Data *beer)" |
| .br |
| .RI "\fIadds creates a data_list \fBnode\fP given a name, data and a free function ptr. \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE void \fBnetsnmp_add_list_data\fP (\fBnetsnmp_data_list\fP **head, \fBnetsnmp_data_list\fP *\fBnode\fP)" |
| .br |
| .RI "\fIadds data to a datalist \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE void \fBnetsnmp_data_list_add_node\fP (\fBnetsnmp_data_list\fP **head, \fBnetsnmp_data_list\fP *\fBnode\fP)" |
| .br |
| .RI "\fIadds data to a datalist \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE \fBnetsnmp_data_list\fP * \fBnetsnmp_data_list_add_data\fP (\fBnetsnmp_data_list\fP **head, const char *name, void *data, Netsnmp_Free_List_Data *beer)" |
| .br |
| .RI "\fIadds data to a datalist \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE void * \fBnetsnmp_get_list_data\fP (\fBnetsnmp_data_list\fP *head, const char *name)" |
| .br |
| .RI "\fIreturns a data_list node's data for a given name within a data_list \fP" |
| .ti -1c |
| .RI "NETSNMP_INLINE \fBnetsnmp_data_list\fP * \fBnetsnmp_get_list_node\fP (\fBnetsnmp_data_list\fP *head, const char *name)" |
| .br |
| .RI "\fIreturns a data_list \fBnode\fP for a given name within a data_list \fP" |
| .ti -1c |
| .RI "int \fBnetsnmp_remove_list_node\fP (\fBnetsnmp_data_list\fP **realhead, const char *name)" |
| .br |
| .RI "\fIRemoves a named \fBnode\fP from a data_list (and frees it). \fP" |
| .ti -1c |
| .RI "void \fBnetsnmp_register_save_list\fP (\fBnetsnmp_data_list\fP **datalist, const char *type, const char *token, Netsnmp_Save_List_Data *data_list_save_ptr, Netsnmp_Read_List_Data *data_list_read_ptr, Netsnmp_Free_List_Data *data_list_free_ptr)" |
| .br |
| .RI "\fIregisters to store a data_list set of data at persistent storage time \fP" |
| .ti -1c |
| .RI "int \fBnetsnmp_save_all_data_callback\fP (int major, int minor, void *serverarg, void *clientarg)" |
| .br |
| .RI "\fIintended to be registerd as a callback operation. \fP" |
| .ti -1c |
| .RI "int \fBnetsnmp_save_all_data\fP (\fBnetsnmp_data_list\fP *head, const char *type, const char *token, Netsnmp_Save_List_Data *data_list_save_ptr)" |
| .br |
| .RI "\fIintended to be called as a callback during persistent save operations. \fP" |
| .ti -1c |
| .RI "void \fBnetsnmp_read_data_callback\fP (const char *token, char *line)" |
| .br |
| .RI "\fIintended to be registerd as a .conf parser It should be registered using: \fP" |
| .in -1c |
| .SH "Function Documentation" |
| .PP |
| .SS "NETSNMP_INLINE void netsnmp_add_list_data (\fBnetsnmp_data_list\fP ** head, \fBnetsnmp_data_list\fP * node)" |
| .PP |
| adds data to a datalist depreciated: use \fBnetsnmp_data_list_add_node()\fP |
| .PP |
| \fBNote:\fP |
| .RS 4 |
| netsnmp_data_list_add_node is preferred |
| .RE |
| .PP |
| \fBParameters:\fP |
| .RS 4 |
| \fIhead\fP a pointer to the head \fBnode\fP of a data_list |
| .br |
| \fI\fBnode\fP\fP a \fBnode\fP to stash in the data_list |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 87 of file data_list.c. |
| .SS "NETSNMP_INLINE \fBnetsnmp_data_list\fP* netsnmp_create_data_list (const char * name, void * data, Netsnmp_Free_List_Data * beer)" |
| .PP |
| adds creates a data_list \fBnode\fP given a name, data and a free function ptr. \fBParameters:\fP |
| .RS 4 |
| \fIname\fP the name of the \fBnode\fP to cache the data. |
| .br |
| \fIdata\fP the data to be stored under that name |
| .br |
| \fIbeer\fP A function that can free the data pointer (in the future) |
| .RE |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| a newly created data_list \fBnode\fP which can be given to the netsnmp_add_list_data function. |
| .RE |
| .PP |
| |
| .PP |
| \fBExamples: \fP |
| .in +1c |
| \fBdelayed_instance.c\fP. |
| .PP |
| Definition at line 60 of file data_list.c. |
| .SS "NETSNMP_INLINE \fBnetsnmp_data_list\fP* netsnmp_data_list_add_data (\fBnetsnmp_data_list\fP ** head, const char * name, void * data, Netsnmp_Free_List_Data * beer)" |
| .PP |
| adds data to a datalist \fBParameters:\fP |
| .RS 4 |
| \fIhead\fP a pointer to the head \fBnode\fP of a data_list |
| .br |
| \fIname\fP the name of the \fBnode\fP to cache the data. |
| .br |
| \fIdata\fP the data to be stored under that name |
| .br |
| \fIbeer\fP A function that can free the data pointer (in the future) |
| .RE |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| a newly created data_list \fBnode\fP which was inserted in the list |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 141 of file data_list.c. |
| .SS "NETSNMP_INLINE void netsnmp_data_list_add_node (\fBnetsnmp_data_list\fP ** head, \fBnetsnmp_data_list\fP * node)" |
| .PP |
| adds data to a datalist \fBParameters:\fP |
| .RS 4 |
| \fIhead\fP a pointer to the head \fBnode\fP of a data_list |
| .br |
| \fI\fBnode\fP\fP a \fBnode\fP to stash in the data_list |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 97 of file data_list.c. |
| .SS "NETSNMP_INLINE void netsnmp_free_all_list_data (\fBnetsnmp_data_list\fP * head)" |
| .PP |
| frees all data and nodes in a list. \fBParameters:\fP |
| .RS 4 |
| \fIhead\fP the top \fBnode\fP of the list to be freed. |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 42 of file data_list.c. |
| .SS "NETSNMP_INLINE void netsnmp_free_list_data (\fBnetsnmp_data_list\fP * node)" |
| .PP |
| frees the data and a name at a given data_list \fBnode\fP. Note that this doesn't free the \fBnode\fP itself. |
| .PP |
| \fBParameters:\fP |
| .RS 4 |
| \fI\fBnode\fP\fP the \fBnode\fP for which the data should be freed |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 26 of file data_list.c. |
| .SS "NETSNMP_INLINE void* netsnmp_get_list_data (\fBnetsnmp_data_list\fP * head, const char * name)" |
| .PP |
| returns a data_list node's data for a given name within a data_list \fBParameters:\fP |
| .RS 4 |
| \fIhead\fP the head \fBnode\fP of a data_list |
| .br |
| \fIname\fP the name to find |
| .RE |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| a pointer to the data cached at that \fBnode\fP |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 166 of file data_list.c. |
| .SS "NETSNMP_INLINE \fBnetsnmp_data_list\fP* netsnmp_get_list_node (\fBnetsnmp_data_list\fP * head, const char * name)" |
| .PP |
| returns a data_list \fBnode\fP for a given name within a data_list \fBParameters:\fP |
| .RS 4 |
| \fIhead\fP the head \fBnode\fP of a data_list |
| .br |
| \fIname\fP the name to find |
| .RE |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| a pointer to the data_list \fBnode\fP |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 184 of file data_list.c. |
| .SS "void netsnmp_read_data_callback (const char * token, char * line)" |
| .PP |
| intended to be registerd as a .conf parser It should be registered using: register_app_config_handler('token', netsnmp_read_data_callback, XXX) |
| .PP |
| where INFO_POINTER is a pointer to a netsnmp_data_list_saveinfo object containing apporpriate registration information |
| .PP |
| \fBTodo\fP |
| .RS 4 |
| make netsnmp_read_data_callback deal with a free routine |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 337 of file data_list.c. |
| .SS "void netsnmp_register_save_list (\fBnetsnmp_data_list\fP ** datalist, const char * type, const char * token, Netsnmp_Save_List_Data * data_list_save_ptr, Netsnmp_Read_List_Data * data_list_read_ptr, Netsnmp_Free_List_Data * data_list_free_ptr)" |
| .PP |
| registers to store a data_list set of data at persistent storage time \fBParameters:\fP |
| .RS 4 |
| \fIdatalist\fP the data to be saved |
| .br |
| \fItype\fP the name of the application to save the data as. If left NULL the default application name that was registered during the init_snmp call will be used (recommended). |
| .br |
| \fItoken\fP the unique token identifier string to use as the first word in the persistent file line. |
| .br |
| \fIdata_list_save_ptr\fP a function pointer which will be called to save the rest of the data to a buffer. |
| .br |
| \fIdata_list_read_ptr\fP a function pointer which can read the remainder of a saved line and return the application specific void * pointer. |
| .br |
| \fIdata_list_free_ptr\fP a function pointer which will be passed to the data \fBnode\fP for freeing it in the future when/if the list/node is cleaned up or destroyed. |
| .RE |
| .PP |
| |
| .PP |
| \fBTodo\fP |
| .RS 4 |
| netsnmp_register_save_list should handle the same token name being saved from different types? |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 235 of file data_list.c. |
| .SS "int netsnmp_remove_list_node (\fBnetsnmp_data_list\fP ** realhead, const char * name)" |
| .PP |
| Removes a named \fBnode\fP from a data_list (and frees it). \fBParameters:\fP |
| .RS 4 |
| \fIrealhead\fP a pointer to the head \fBnode\fP of a data_list |
| .br |
| \fIname\fP the name to find and remove |
| .RE |
| .PP |
| \fBReturns:\fP |
| .RS 4 |
| 0 on successful find-and-delete, 1 otherwise. |
| .RE |
| .PP |
| |
| .PP |
| Definition at line 202 of file data_list.c. |
| .SS "int netsnmp_save_all_data (\fBnetsnmp_data_list\fP * head, const char * type, const char * token, Netsnmp_Save_List_Data * data_list_save_ptr)" |
| .PP |
| intended to be called as a callback during persistent save operations. See the netsnmp_save_all_data_callback for where this is typically used. |
| .PP |
| Definition at line 301 of file data_list.c. |
| .SS "int netsnmp_save_all_data_callback (int major, int minor, void * serverarg, void * clientarg)" |
| .PP |
| intended to be registerd as a callback operation. It should be registered using: |
| .PP |
| snmp_register_callback(SNMP_CALLBACK_LIBRARY, SNMP_CALLBACK_STORE_DATA, netsnmp_save_all_data_callback, INFO_POINTER); |
| .PP |
| where INFO_POINTER is a pointer to a netsnmp_data_list_saveinfo object containing apporpriate registration information |
| .PP |
| Definition at line 284 of file data_list.c. |
| .SH "Author" |
| .PP |
| Generated automatically by Doxygen for net-snmp from the source code. |