Logo
Home page Net-SNMP

Archive Search:

Require all words?

Site Search:
Google

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

Functions

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_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.
NETSNMP_INLINE void  netsnmp_data_list_add_node (netsnmp_data_list **head, netsnmp_data_list *node)
  adds data to a datalist
NETSNMP_INLINE void  netsnmp_add_list_data (netsnmp_data_list **head, netsnmp_data_list *node)
  adds data to a datalist
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
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_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
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:

Function Documentation

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

adds data to a datalist

depreciated: use netsnmp_data_list_add_node()

Note:
netsnmp_data_list_add_node is preferred
Parameters:
head  a pointer to the head node of a data_list
node  a node to stash in the data_list

Definition at line 117 of file data_list.c.

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.

Parameters:
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)
Returns:
a newly created data_list node which can be given to the netsnmp_add_list_data function.
Examples:
delayed_instance.c.

Definition at line 53 of file data_list.c.

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

Parameters:
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)
Returns:
a newly created data_list node which was inserted in the list

Definition at line 130 of file data_list.c.

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

adds data to a datalist

Parameters:
head  a pointer to the head node of a data_list
node  a node to stash in the data_list

Definition at line 74 of file data_list.c.

NETSNMP_INLINE void netsnmp_free_all_list_data ( netsnmp_data_list head  ) 

frees all data and nodes in a list.

Parameters:
head  the top node of the list to be freed.

Definition at line 35 of file data_list.c.

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.

Parameters:
node  the node for which the data should be freed

Definition at line 19 of file data_list.c.

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

Parameters:
head  the head node of a data_list
name  the name to find
Returns:
a pointer to the data cached at that node

Definition at line 155 of file data_list.c.

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

Parameters:
head  the head node of a data_list
name  the name to find
Returns:
a pointer to the data_list node

Definition at line 173 of file data_list.c.

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

Todo:
make netsnmp_read_data_callback deal with a free routine

Definition at line 326 of file data_list.c.

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

Parameters:
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?

Definition at line 224 of file data_list.c.

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

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

Parameters:
realhead  a pointer to the head node of a data_list
name  the name to find and remove
Returns:
0 on successful find-and-delete, 1 otherwise.

Definition at line 191 of file data_list.c.

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.

Definition at line 290 of file data_list.c.

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

Definition at line 273 of file data_list.c.


Generated on 28 Sep 2009 for net-snmp by  doxygen 1.6.1

Last modified: Monday, 28-Sep-2009 20:19:10 UTC
For questions regarding web content and site functionality, please write to the net-snmp-users mail list.