generic linked-list data handling with a string as a key.
[The Net-SNMP library]


関数

NETSNMP_INLINE void netsnmp_free_list_data (netsnmp_data_list *node)
 frees the data and a name at a given data_list node.
NETSNMP_INLINE void netsnmp_free_all_list_data (netsnmp_data_list *head)
 frees all data and nodes in a list.
NETSNMP_INLINE netsnmp_data_listnetsnmp_create_data_list (const char *name, void *data, Netsnmp_Free_List_Data *beer)
 adds creates a data_list node given a name, data and a free function ptr.
NETSNMP_INLINE void netsnmp_add_list_data (netsnmp_data_list **head, netsnmp_data_list *node)
 depreciated: use netsnmp_data_list_add_node()
NETSNMP_INLINE void netsnmp_data_list_add_node (netsnmp_data_list **head, netsnmp_data_list *node)
 adds data to a datalist
NETSNMP_INLINE netsnmp_data_listnetsnmp_data_list_add_data (netsnmp_data_list **head, const char *name, void *data, Netsnmp_Free_List_Data *beer)
 adds data to a datalist
NETSNMP_INLINE void * netsnmp_get_list_data (netsnmp_data_list *head, const char *name)
 returns a data_list node's data for a given name within a data_list
NETSNMP_INLINE netsnmp_data_listnetsnmp_get_list_node (netsnmp_data_list *head, const char *name)
 returns a data_list node for a given name within a data_list
int netsnmp_remove_list_node (netsnmp_data_list **realhead, const char *name)
 Removes a named node from a data_list (and frees it)
void netsnmp_register_save_list (netsnmp_data_list **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)
 registers to store a data_list set of data at persistent storage time
int netsnmp_save_all_data_callback (int major, int minor, void *serverarg, void *clientarg)
 intended to be registerd as a callback operation.
int netsnmp_save_all_data (netsnmp_data_list *head, const char *type, const char *token, Netsnmp_Save_List_Data *data_list_save_ptr)
 intended to be called as a callback during persistent save operations.
void netsnmp_read_data_callback (const char *token, char *line)
 intended to be registerd as a .conf parser It should be registered using:

関数

NETSNMP_INLINE void netsnmp_add_list_data ( netsnmp_data_list **  head,
netsnmp_data_list node 
)

depreciated: use netsnmp_data_list_add_node()

data_list.c83 行で定義されています。

参照先 netsnmp_data_list_add_node().

参照元 netsnmp_agent_add_list_data()netsnmp_data_list_add_data()netsnmp_read_data_callback()netsnmp_register_auto_data_table()netsnmp_register_handler_by_name()netsnmp_register_save_list()netsnmp_request_add_list_data().

NETSNMP_INLINE netsnmp_data_list* netsnmp_create_data_list ( const char *  name,
void *  data,
Netsnmp_Free_List_Data *  beer 
)

adds creates a data_list node given a name, data and a free function ptr.

引数:
name the name of the node to cache the data.
data the data to be stored under that name
beer A function that can free the data pointer (in the future)
戻り値:
a newly created data_list node which can be given to the netsnmp_add_list_data function.
例:
delayed_instance.c.

data_list.c60 行で定義されています。

参照先 netsnmp_data_list_s::datanetsnmp_data_list_s::free_funcnetsnmp_data_list_s::nameNULLSNMP_MALLOC_TYPEDEF.

参照元 _netsnmp_stash_cache_load()_netsnmp_tdata_helper_handler()netsnmp_cache_reqinfo_insert()netsnmp_container_table_row_insert()netsnmp_data_list_add_data()netsnmp_insert_iterator_context()netsnmp_insert_table_row()netsnmp_instance_int_handler()netsnmp_instance_long_handler()netsnmp_instance_num_file_handler()netsnmp_instance_ulong_handler()netsnmp_read_data_callback()netsnmp_register_auto_data_table()netsnmp_register_handler_by_name()netsnmp_register_save_list()netsnmp_row_merge_status_get()netsnmp_table_data_helper_handler()netsnmp_table_data_set_helper_handler()netsnmp_table_iterator_helper_handler()netsnmp_watcher_helper_handler()table_helper_handler().

NETSNMP_INLINE netsnmp_data_list* netsnmp_data_list_add_data ( netsnmp_data_list **  head,
const char *  name,
void *  data,
Netsnmp_Free_List_Data *  beer 
)

adds data to a datalist

引数:
head a pointer to the head node of a data_list
name the name of the node to cache the data.
data the data to be stored under that name
beer A function that can free the data pointer (in the future)
戻り値:
a newly created data_list node which was inserted in the list

data_list.c137 行で定義されています。

参照先 netsnmp_add_list_data()netsnmp_create_data_list()NULLsnmp_log().

NETSNMP_INLINE void netsnmp_data_list_add_node ( netsnmp_data_list **  head,
netsnmp_data_list node 
)

adds data to a datalist

引数:
head a pointer to the head node of a data_list
node a node to stash in the data_list

data_list.c93 行で定義されています。

参照先 netsnmp_data_list_s::namenetsnmp_data_list_s::nextNULLsnmp_log().

参照元 netsnmp_add_list_data().

NETSNMP_INLINE void netsnmp_free_all_list_data ( netsnmp_data_list head  ) 

frees all data and nodes in a list.

引数:
head the top node of the list to be freed.

data_list.c42 行で定義されています。

参照先 netsnmp_free_list_data()netsnmp_data_list_s::nextSNMP_FREE.

参照元 netsnmp_clear_handler_list()netsnmp_free_agent_data_sets()netsnmp_free_agent_request_info()netsnmp_free_request_data_sets()netsnmp_stash_to_next_helper().

NETSNMP_INLINE void netsnmp_free_list_data ( netsnmp_data_list node  ) 

frees the data and a name at a given data_list node.

Note that this doesn't free the node itself.

引数:
node the node for which the data should be freed

data_list.c26 行で定義されています。

参照先 netsnmp_data_list_s::datanetsnmp_data_list_s::free_funcnetsnmp_data_list_s::nameSNMP_FREE.

参照元 netsnmp_free_agent_data_set()netsnmp_free_all_list_data()netsnmp_free_request_data_set()netsnmp_remove_list_node().

NETSNMP_INLINE void* netsnmp_get_list_data ( netsnmp_data_list head,
const char *  name 
)

returns a data_list node's data for a given name within a data_list

引数:
head the head node of a data_list
name the name to find
戻り値:
a pointer to the data cached at that node

data_list.c162 行で定義されています。

参照先 netsnmp_data_list_s::namenetsnmp_data_list_s::nextNULL.

参照元 netsnmp_agent_get_list_data()netsnmp_config_parse_add_row()netsnmp_config_parse_table_set()netsnmp_read_data_callback()netsnmp_request_get_list_data()parse_injectHandler_conf().

NETSNMP_INLINE netsnmp_data_list* netsnmp_get_list_node ( netsnmp_data_list head,
const char *  name 
)

returns a data_list node for a given name within a data_list

引数:
head the head node of a data_list
name the name to find
戻り値:
a pointer to the data_list node

data_list.c180 行で定義されています。

参照先 netsnmp_data_list_s::namenetsnmp_data_list_s::nextNULL.

void netsnmp_read_data_callback ( const char *  token,
char *  line 
)

intended to be registerd as a .conf parser It should be registered using:

register_app_config_handler("token", netsnmp_read_data_callback, XXX)

where INFO_POINTER is a pointer to a netsnmp_data_list_saveinfo object containing apporpriate registration information

data_list.c332 行で定義されています。

参照先 netsnmp_data_list_saveinfo_s::data_list_free_ptrnetsnmp_data_list_saveinfo_s::data_list_read_ptrnetsnmp_data_list_saveinfo_s::datalistnetsnmp_add_list_data()netsnmp_create_data_list()netsnmp_get_list_data()NULLread_config_read_data()snmp_log().

参照元 netsnmp_register_save_list().

void netsnmp_register_save_list ( netsnmp_data_list **  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 
)

registers to store a data_list set of data at persistent storage time

引数:
datalist the data to be saved
type 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).
token the unique token identifier string to use as the first word in the persistent file line.
data_list_save_ptr a function pointer which will be called to save the rest of the data to a buffer.
data_list_read_ptr a function pointer which can read the remainder of a saved line and return the application specific void * pointer.
data_list_free_ptr a function pointer which will be passed to the data node for freeing it in the future when/if the list/node is cleaned up or destroyed.

TODO:
netsnmp_register_save_list should handle the same token name being saved from different types?

data_list.c231 行で定義されています。

参照先 netsnmp_data_list_saveinfo_s::data_list_free_ptrnetsnmp_data_list_saveinfo_s::data_list_read_ptrnetsnmp_data_list_saveinfo_s::data_list_save_ptrnetsnmp_data_list_saveinfo_s::datalistnetsnmp_add_list_data()netsnmp_create_data_list()netsnmp_ds_get_string()netsnmp_read_data_callback()netsnmp_save_all_data_callback()NULLregister_config_handler()snmp_log()SNMP_MALLOC_TYPEDEFsnmp_register_callback()netsnmp_data_list_saveinfo_s::tokennetsnmp_data_list_saveinfo_s::type.

int netsnmp_remove_list_node ( netsnmp_data_list **  realhead,
const char *  name 
)

Removes a named node from a data_list (and frees it)

引数:
realhead a pointer to the head node of a data_list
name the name to find and remove
戻り値:
0 on successful find-and-delete, 1 otherwise.

data_list.c198 行で定義されています。

参照先 netsnmp_free_list_data()netsnmp_data_list_s::nextNULL.

参照元 netsnmp_agent_remove_list_data()netsnmp_request_remove_list_data().

int netsnmp_save_all_data ( netsnmp_data_list head,
const char *  type,
const char *  token,
Netsnmp_Save_List_Data *  data_list_save_ptr 
)

intended to be called as a callback during persistent save operations.

See the netsnmp_save_all_data_callback for where this is typically used.

data_list.c297 行で定義されています。

参照先 netsnmp_data_list_s::datanetsnmp_data_list_s::namenetsnmp_data_list_s::nextread_config_save_octet_string()read_config_store()SNMP_MAXBUF.

参照元 netsnmp_save_all_data_callback().

int netsnmp_save_all_data_callback ( int  major,
int  minor,
void *  serverarg,
void *  clientarg 
)

intended to be registerd as a callback operation.

It should be registered using:

snmp_register_callback(SNMP_CALLBACK_LIBRARY, SNMP_CALLBACK_STORE_DATA, netsnmp_save_all_data_callback, INFO_POINTER);

where INFO_POINTER is a pointer to a netsnmp_data_list_saveinfo object containing apporpriate registration information

data_list.c280 行で定義されています。

参照先 netsnmp_data_list_saveinfo_s::data_list_save_ptrnetsnmp_data_list_saveinfo_s::datalistnetsnmp_save_all_data()snmp_log()netsnmp_data_list_saveinfo_s::tokennetsnmp_data_list_saveinfo_s::type.

参照元 netsnmp_register_save_list().


net-snmpに対してSat Sep 5 13:14:29 2009に生成されました。  doxygen 1.4.7