net-snmp
5.4.1
|
This is essentially a way of storing data associated with a given OID. More...
Functions | |
netsnmp_oid_stash_node * | netsnmp_oid_stash_create_sized_node (size_t mysize) |
Create an netsnmp_oid_stash node. | |
NETSNMP_INLINE netsnmp_oid_stash_node * | netsnmp_oid_stash_create_node (void) |
Creates a netsnmp_oid_stash_node. | |
int | netsnmp_oid_stash_add_data (netsnmp_oid_stash_node **root, oid *lookup, size_t lookup_len, void *mydata) |
adds data to the stash at a given oid. | |
netsnmp_oid_stash_node * | netsnmp_oid_stash_get_node (netsnmp_oid_stash_node *root, oid *lookup, size_t lookup_len) |
returns a node associated with a given OID. | |
netsnmp_oid_stash_node * | netsnmp_oid_stash_getnext_node (netsnmp_oid_stash_node *root, oid *lookup, size_t lookup_len) |
returns the next node associated with a given OID. | |
void * | netsnmp_oid_stash_get_data (netsnmp_oid_stash_node *root, oid *lookup, size_t lookup_len) |
returns a data pointer associated with a given OID. | |
int | netsnmp_oid_stash_store_all (int majorID, int minorID, void *serverarg, void *clientarg) |
a wrapper around netsnmp_oid_stash_store for use with a snmp_alarm. | |
void | netsnmp_oid_stash_store (netsnmp_oid_stash_node *root, const char *tokenname, NetSNMPStashDump *dumpfn, oid *curoid, size_t curoid_len) |
stores data in a starsh tree to peristent storage. | |
void | oid_stash_dump (netsnmp_oid_stash_node *root, char *prefix) |
For debugging: dump the netsnmp_oid_stash tree to stdout. | |
void | netsnmp_oid_stash_free (netsnmp_oid_stash_node **root, NetSNMPStashFreeNode *freefn) |
Frees the contents of a netsnmp_oid_stash tree. | |
void | netsnmp_oid_stash_no_free (void *bogus) |
This is essentially a way of storing data associated with a given OID.
It stores a bunch of data pointers within a memory tree that allows fairly efficient lookups with a heavily populated tree.
int netsnmp_oid_stash_add_data | ( | netsnmp_oid_stash_node ** | root, |
oid * | lookup, | ||
size_t | lookup_len, | ||
void * | mydata | ||
) |
adds data to the stash at a given oid.
root | the top of the stash tree |
lookup | the oid index to store the data at. |
lookup_len | the length of the lookup oid. |
mydata | the data to store |
Definition at line 83 of file oid_stash.c.
NETSNMP_INLINE netsnmp_oid_stash_node* netsnmp_oid_stash_create_node | ( | void | ) |
Creates a netsnmp_oid_stash_node.
Assumes you want the default OID_STASH_CHILDREN_SIZE hash size for the node.
Definition at line 66 of file oid_stash.c.
netsnmp_oid_stash_node* netsnmp_oid_stash_create_sized_node | ( | size_t | mysize | ) |
Create an netsnmp_oid_stash node.
mysize | the size of the child pointer array |
Definition at line 46 of file oid_stash.c.
void netsnmp_oid_stash_free | ( | netsnmp_oid_stash_node ** | root, |
NetSNMPStashFreeNode * | freefn | ||
) |
Frees the contents of a netsnmp_oid_stash tree.
root | the top of the tree (or branch to be freed) |
freefn | The function to be called on each data (void *) pointer. If left NULL the system free() function will be called |
Definition at line 401 of file oid_stash.c.
void* netsnmp_oid_stash_get_data | ( | netsnmp_oid_stash_node * | root, |
oid * | lookup, | ||
size_t | lookup_len | ||
) |
returns a data pointer associated with a given OID.
This is equivelent to netsnmp_oid_stash_get_node, but returns only the data not the entire node.
root | the top of the stash |
lookup | the oid to search for |
lookup_len | the length of the search oid. |
Definition at line 282 of file oid_stash.c.
netsnmp_oid_stash_node* netsnmp_oid_stash_get_node | ( | netsnmp_oid_stash_node * | root, |
oid * | lookup, | ||
size_t | lookup_len | ||
) |
returns a node associated with a given OID.
root | the top of the stash tree |
lookup | the oid to look up a node for. |
lookup_len | the length of the lookup oid |
Definition at line 154 of file oid_stash.c.
netsnmp_oid_stash_node* netsnmp_oid_stash_getnext_node | ( | netsnmp_oid_stash_node * | root, |
oid * | lookup, | ||
size_t | lookup_len | ||
) |
returns the next node associated with a given OID.
INCOMPLETE. This is equivelent to a GETNEXT operation.
Definition at line 191 of file oid_stash.c.
void netsnmp_oid_stash_store | ( | netsnmp_oid_stash_node * | root, |
const char * | tokenname, | ||
NetSNMPStashDump * | dumpfn, | ||
oid * | curoid, | ||
size_t | curoid_len | ||
) |
stores data in a starsh tree to peristent storage.
This function can be called to save all data in a stash tree to Net-SNMP's percent storage. Make sure you register a parsing function with the read_config system to re-incorperate your saved data into future trees.
root | the top of the stash to store. |
tokenname | the file token name to save in (passing "snmpd" will save things into snmpd.conf). |
dumpfn | A function which can dump the data stored at a particular node into a char buffer. |
curoid | must be a pointer to a OID array of length MAX_OID_LEN. |
curoid_len | must be 0 for the top level call. |
Definition at line 334 of file oid_stash.c.
int netsnmp_oid_stash_store_all | ( | int | majorID, |
int | minorID, | ||
void * | serverarg, | ||
void * | clientarg | ||
) |
a wrapper around netsnmp_oid_stash_store for use with a snmp_alarm.
when calling snmp_alarm, you can list this as a callback. The clientarg should be a pointer to a netsnmp_oid_stash_save_info pointer. It can also be called directly, of course. The last argument (clientarg) is the only one that is used. The rest are ignored by the function.
majorID | |
minorID | |
serverarg | |
clientarg | A pointer to a netsnmp_oid_stash_save_info structure. |
Definition at line 304 of file oid_stash.c.
void oid_stash_dump | ( | netsnmp_oid_stash_node * | root, |
char * | prefix | ||
) |
For debugging: dump the netsnmp_oid_stash tree to stdout.
root | The top of the tree |
prefix | a character string prefix printed to the beginning of each line. |
Definition at line 374 of file oid_stash.c.