summaryrefslogtreecommitdiff
path: root/man/netsnmp_oid_stash.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/netsnmp_oid_stash.3')
-rw-r--r--man/netsnmp_oid_stash.3210
1 files changed, 210 insertions, 0 deletions
diff --git a/man/netsnmp_oid_stash.3 b/man/netsnmp_oid_stash.3
new file mode 100644
index 0000000..45ab2e2
--- /dev/null
+++ b/man/netsnmp_oid_stash.3
@@ -0,0 +1,210 @@
+.TH "Store and retrieve data referenced by an OID." 3 "23 May 2010" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Store and retrieve data referenced by an OID. \-
+.PP
+This is essentially a way of storing data associated with a given OID.
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "\fBnetsnmp_oid_stash_node\fP * \fBnetsnmp_oid_stash_create_sized_node\fP (size_t mysize)"
+.br
+.RI "\fICreate an netsnmp_oid_stash \fBnode\fP. \fP"
+.ti -1c
+.RI "NETSNMP_INLINE \fBnetsnmp_oid_stash_node\fP * \fBnetsnmp_oid_stash_create_node\fP (void)"
+.br
+.RI "\fICreates a netsnmp_oid_stash_node. \fP"
+.ti -1c
+.RI "int \fBnetsnmp_oid_stash_add_data\fP (\fBnetsnmp_oid_stash_node\fP **root, oid *lookup, size_t lookup_len, void *mydata)"
+.br
+.RI "\fIadds data to the stash at a given oid. \fP"
+.ti -1c
+.RI "\fBnetsnmp_oid_stash_node\fP * \fBnetsnmp_oid_stash_get_node\fP (\fBnetsnmp_oid_stash_node\fP *root, oid *lookup, size_t lookup_len)"
+.br
+.RI "\fIreturns a \fBnode\fP associated with a given OID. \fP"
+.ti -1c
+.RI "\fBnetsnmp_oid_stash_node\fP * \fBnetsnmp_oid_stash_getnext_node\fP (\fBnetsnmp_oid_stash_node\fP *root, oid *lookup, size_t lookup_len)"
+.br
+.RI "\fIreturns the next \fBnode\fP associated with a given OID. \fP"
+.ti -1c
+.RI "void * \fBnetsnmp_oid_stash_get_data\fP (\fBnetsnmp_oid_stash_node\fP *root, oid *lookup, size_t lookup_len)"
+.br
+.RI "\fIreturns a data pointer associated with a given OID. \fP"
+.ti -1c
+.RI "int \fBnetsnmp_oid_stash_store_all\fP (int majorID, int minorID, void *serverarg, void *clientarg)"
+.br
+.RI "\fIa wrapper around netsnmp_oid_stash_store for use with a \fBsnmp_alarm\fP. \fP"
+.ti -1c
+.RI "void \fBnetsnmp_oid_stash_store\fP (\fBnetsnmp_oid_stash_node\fP *root, const char *tokenname, NetSNMPStashDump *dumpfn, oid *curoid, size_t curoid_len)"
+.br
+.RI "\fIstores data in a starsh \fBtree\fP to peristent storage. \fP"
+.ti -1c
+.RI "void \fBoid_stash_dump\fP (\fBnetsnmp_oid_stash_node\fP *root, char *prefix)"
+.br
+.RI "\fIFor debugging: dump the netsnmp_oid_stash \fBtree\fP to stdout. \fP"
+.ti -1c
+.RI "void \fBnetsnmp_oid_stash_free\fP (\fBnetsnmp_oid_stash_node\fP **root, NetSNMPStashFreeNode *freefn)"
+.br
+.RI "\fIFrees the contents of a netsnmp_oid_stash \fBtree\fP. \fP"
+.ti -1c
+.RI "void \fBnetsnmp_oid_stash_no_free\fP (void *bogus)"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+This is essentially a way of storing data associated with a given OID.
+
+It stores a bunch of data pointers within a memory \fBtree\fP that allows fairly efficient lookups with a heavily populated \fBtree\fP.
+.SH "Function Documentation"
+.PP
+.SS "int netsnmp_oid_stash_add_data (\fBnetsnmp_oid_stash_node\fP ** root, oid * lookup, size_t lookup_len, void * mydata)"
+.PP
+adds data to the stash at a given oid. \fBParameters:\fP
+.RS 4
+\fIroot\fP the top of the stash \fBtree\fP
+.br
+\fIlookup\fP the oid index to store the data at.
+.br
+\fIlookup_len\fP the length of the lookup oid.
+.br
+\fImydata\fP the data to store
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+SNMPERR_SUCCESS on success, SNMPERR_GENERR if data is already there, SNMPERR_MALLOC on malloc failures or if arguments passed in with NULL values.
+.RE
+.PP
+
+.PP
+Definition at line 83 of file oid_stash.c.
+.SS "NETSNMP_INLINE \fBnetsnmp_oid_stash_node\fP* netsnmp_oid_stash_create_node (void)"
+.PP
+Creates a netsnmp_oid_stash_node. Assumes you want the default OID_STASH_CHILDREN_SIZE hash size for the \fBnode\fP.
+.PP
+\fBReturns:\fP
+.RS 4
+NULL on error, otherwise the newly allocated \fBnode\fP
+.RE
+.PP
+
+.PP
+Definition at line 66 of file oid_stash.c.
+.SS "\fBnetsnmp_oid_stash_node\fP* netsnmp_oid_stash_create_sized_node (size_t mysize)"
+.PP
+Create an netsnmp_oid_stash \fBnode\fP. \fBParameters:\fP
+.RS 4
+\fImysize\fP the size of the child pointer array
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+NULL on error, otherwise the newly allocated \fBnode\fP
+.RE
+.PP
+
+.PP
+Definition at line 46 of file oid_stash.c.
+.SS "void netsnmp_oid_stash_free (\fBnetsnmp_oid_stash_node\fP ** root, NetSNMPStashFreeNode * freefn)"
+.PP
+Frees the contents of a netsnmp_oid_stash \fBtree\fP. \fBParameters:\fP
+.RS 4
+\fIroot\fP the top of the \fBtree\fP (or branch to be freed)
+.br
+\fIfreefn\fP The function to be called on each data (void *) pointer. If left NULL the system free() function will be called
+.RE
+.PP
+
+.PP
+Definition at line 401 of file oid_stash.c.
+.SS "void* netsnmp_oid_stash_get_data (\fBnetsnmp_oid_stash_node\fP * root, oid * lookup, size_t lookup_len)"
+.PP
+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 \fBnode\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP the top of the stash
+.br
+\fIlookup\fP the oid to search for
+.br
+\fIlookup_len\fP the length of the search oid.
+.RE
+.PP
+
+.PP
+Definition at line 282 of file oid_stash.c.
+.SS "\fBnetsnmp_oid_stash_node\fP* netsnmp_oid_stash_get_node (\fBnetsnmp_oid_stash_node\fP * root, oid * lookup, size_t lookup_len)"
+.PP
+returns a \fBnode\fP associated with a given OID. \fBParameters:\fP
+.RS 4
+\fIroot\fP the top of the stash \fBtree\fP
+.br
+\fIlookup\fP the oid to look up a \fBnode\fP for.
+.br
+\fIlookup_len\fP the length of the lookup oid
+.RE
+.PP
+
+.PP
+Definition at line 154 of file oid_stash.c.
+.SS "\fBnetsnmp_oid_stash_node\fP* netsnmp_oid_stash_getnext_node (\fBnetsnmp_oid_stash_node\fP * root, oid * lookup, size_t lookup_len)"
+.PP
+returns the next \fBnode\fP associated with a given OID. INCOMPLETE. This is equivelent to a GETNEXT operation.
+.PP
+Definition at line 191 of file oid_stash.c.
+.SS "void netsnmp_oid_stash_store (\fBnetsnmp_oid_stash_node\fP * root, const char * tokenname, NetSNMPStashDump * dumpfn, oid * curoid, size_t curoid_len)"
+.PP
+stores data in a starsh \fBtree\fP to peristent storage. This function can be called to save all data in a stash \fBtree\fP 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.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP the top of the stash to store.
+.br
+\fItokenname\fP the file token name to save in (passing 'snmpd' will save things into snmpd.conf).
+.br
+\fIdumpfn\fP A function which can dump the data stored at a particular \fBnode\fP into a char buffer.
+.br
+\fIcuroid\fP must be a pointer to a OID array of length MAX_OID_LEN.
+.br
+\fIcuroid_len\fP must be 0 for the top level call.
+.RE
+.PP
+
+.PP
+Definition at line 334 of file oid_stash.c.
+.SS "int netsnmp_oid_stash_store_all (int majorID, int minorID, void * serverarg, void * clientarg)"
+.PP
+a wrapper around netsnmp_oid_stash_store for use with a \fBsnmp_alarm\fP. when calling \fBsnmp_alarm\fP, 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.
+.PP
+\fBParameters:\fP
+.RS 4
+\fImajorID\fP
+.br
+\fIminorID\fP
+.br
+\fIserverarg\fP
+.br
+\fIclientarg\fP A pointer to a netsnmp_oid_stash_save_info structure.
+.RE
+.PP
+
+.PP
+Definition at line 304 of file oid_stash.c.
+.SS "void oid_stash_dump (\fBnetsnmp_oid_stash_node\fP * root, char * prefix)"
+.PP
+For debugging: dump the netsnmp_oid_stash \fBtree\fP to stdout. \fBParameters:\fP
+.RS 4
+\fIroot\fP The top of the \fBtree\fP
+.br
+\fIprefix\fP a character string prefix printed to the beginning of each line.
+.RE
+.PP
+
+.PP
+Definition at line 374 of file oid_stash.c.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for net-snmp from the source code.