.TH "table_dataset" 3 "24 Jun 2011" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
table_dataset \- 
.PP
Helps you implement a table with automatted storage.  

.SS "Functions"

.in +1c
.ti -1c
.RI "void \fBnetsnmp_init_table_dataset\fP (void)"
.br
.ti -1c
.RI "\fBnetsnmp_table_data_set\fP * \fBnetsnmp_create_table_data_set\fP (const char *table_name)"
.br
.RI "\fICreate a netsnmp_table_data_set structure given a table_data definition. \fP"
.ti -1c
.RI "void \fBnetsnmp_delete_table_data_set\fP (\fBnetsnmp_table_data_set\fP *table_set)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_set_clone_row\fP (\fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIclones a dataset row, including all data. \fP"
.ti -1c
.RI "NETSNMP_INLINE \fBnetsnmp_table_data_set_storage\fP * \fBnetsnmp_table_dataset_delete_data\fP (\fBnetsnmp_table_data_set_storage\fP *data)"
.br
.RI "\fIdeletes a single dataset table data. \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_dataset_delete_all_data\fP (\fBnetsnmp_table_data_set_storage\fP *data)"
.br
.RI "\fIdeletes all the data from this \fBnode\fP and beyond in the linked list \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_dataset_delete_row\fP (\fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIdeletes all the data from this \fBnode\fP and beyond in the linked list \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_dataset_add_row\fP (\fBnetsnmp_table_data_set\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIadds a new row to a dataset table \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_dataset_replace_row\fP (\fBnetsnmp_table_data_set\fP *table, \fBnetsnmp_table_row\fP *origrow, \fBnetsnmp_table_row\fP *newrow)"
.br
.RI "\fIadds a new row to a dataset table \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_dataset_remove_row\fP (\fBnetsnmp_table_data_set\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIremoves a row from the table, but doesn't delete/free the column values \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_dataset_remove_and_delete_row\fP (\fBnetsnmp_table_data_set\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIremoves a row from the table and then deletes it (and all its data) \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_set_create_row_from_defaults\fP (\fBnetsnmp_table_data_set_storage\fP *defrow)"
.br
.RI "\fIcreates a new row from an existing defined default set \fP"
.ti -1c
.RI "int \fBnetsnmp_table_set_add_default_row\fP (\fBnetsnmp_table_data_set\fP *table_set, unsigned int column, int type, int writable, void *default_value, size_t default_value_len)"
.br
.RI "\fIadds a new default row to a table_set. \fP"
.ti -1c
.RI "void \fBnetsnmp_table_set_multi_add_default_row\fP (\fBnetsnmp_table_data_set\fP *tset,...)"
.br
.RI "\fIadds multiple data column definitions to each row. \fP"
.ti -1c
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_table_data_set_handler\fP (\fBnetsnmp_table_data_set\fP *data_set)"
.br
.RI "\fIGiven a netsnmp_table_data_set definition, create a handler for it. \fP"
.ti -1c
.RI "int \fBnetsnmp_register_table_data_set\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_table_data_set\fP *data_set, \fBnetsnmp_table_registration_info\fP *table_info)"
.br
.RI "\fIregister a given data_set at a given oid (specified in the netsnmp_handler_registration pointer). \fP"
.ti -1c
.RI "\fBnewrow_stash\fP * \fBnetsnmp_table_data_set_create_newrowstash\fP (\fBnetsnmp_table_data_set\fP *datatable, \fBnetsnmp_table_request_info\fP *table_info)"
.br
.ti -1c
.RI "int \fBnetsnmp_table_data_set_helper_handler\fP (\fBnetsnmp_mib_handler\fP *handler, \fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo, \fBnetsnmp_request_info\fP *requests)"
.br
.ti -1c
.RI "NETSNMP_INLINE \fBnetsnmp_table_data_set\fP * \fBnetsnmp_extract_table_data_set\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts a netsnmp_table_data_set pointer from a given request \fP"
.ti -1c
.RI "\fBnetsnmp_table_data_set_storage\fP * \fBnetsnmp_extract_table_data_set_column\fP (\fBnetsnmp_request_info\fP *request, unsigned int column)"
.br
.RI "\fIextracts a netsnmp_table_data_set pointer from a given request \fP"
.ti -1c
.RI "void \fBnetsnmp_register_auto_data_table\fP (\fBnetsnmp_table_data_set\fP *table_set, char *registration_name)"
.br
.RI "\fIregisters a table_dataset so that the 'add_row' snmpd.conf token can be used to add data to this table. \fP"
.ti -1c
.RI "void \fBnetsnmp_config_parse_table_set\fP (const char *token, char *line)"
.br
.ti -1c
.RI "void \fBnetsnmp_config_parse_add_row\fP (const char *token, char *line)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_set_get_first_row\fP (\fBnetsnmp_table_data_set\fP *table)"
.br
.RI "\fIreturns the first row in the table \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_set_get_next_row\fP (\fBnetsnmp_table_data_set\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIreturns the next row in the table \fP"
.ti -1c
.RI "int \fBnetsnmp_table_set_num_rows\fP (\fBnetsnmp_table_data_set\fP *table)"
.br
.ti -1c
.RI "\fBnetsnmp_table_data_set_storage\fP * \fBnetsnmp_table_data_set_find_column\fP (\fBnetsnmp_table_data_set_storage\fP *start, unsigned int column)"
.br
.RI "\fIFinds a column within a given storage set, given the pointer to the start of the storage set list. \fP"
.ti -1c
.RI "int \fBnetsnmp_mark_row_column_writable\fP (\fBnetsnmp_table_row\fP *row, int column, int writable)"
.br
.RI "\fImarks a given column in a row as writable or not. \fP"
.ti -1c
.RI "int \fBnetsnmp_set_row_column\fP (\fBnetsnmp_table_row\fP *row, unsigned int column, int type, const char *value, size_t value_len)"
.br
.RI "\fIsets a given column in a row with data given a type, value, and length. \fP"
.ti -1c
.RI "void \fBnetsnmp_table_dataset_add_index\fP (\fBnetsnmp_table_data_set\fP *table, u_char type)"
.br
.RI "\fIadds an index to the table. \fP"
.ti -1c
.RI "void \fBnetsnmp_table_set_add_indexes\fP (\fBnetsnmp_table_data_set\fP *tset,...)"
.br
.RI "\fIadds multiple indexes to a table_dataset helper object. \fP"
.in -1c
.SH "Detailed Description"
.PP 
Helps you implement a table with automatted storage. 

This handler helps you implement a table where all the data is expected to be stored within the agent itself and not in some external storage location. It handles all MIB requests including GETs, GETNEXTs and SETs. It's possible to simply create a table without actually ever defining a handler to be called when SNMP requests come in. To use the data, you can either attach a sub-handler that merely uses/manipulates the data further when requests come in, or you can loop through it externally when it's actually needed. This handler is most useful in cases where a table is holding configuration data for something which gets triggered via another event.
.PP
NOTE NOTE NOTE: This helper isn't complete and is likely to change somewhat over time. Specifically, the way it stores data internally may change drastically. 
.SH "Function Documentation"
.PP 
.SS "\fBnetsnmp_table_data_set\fP* netsnmp_create_table_data_set (const char * table_name)"
.PP
Create a netsnmp_table_data_set structure given a table_data definition. 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 77 of file table_dataset.c.
.SS "NETSNMP_INLINE \fBnetsnmp_table_data_set\fP* netsnmp_extract_table_data_set (\fBnetsnmp_request_info\fP * request)"
.PP
extracts a netsnmp_table_data_set pointer from a given request 
.PP
Definition at line 838 of file table_dataset.c.
.SS "\fBnetsnmp_table_data_set_storage\fP* netsnmp_extract_table_data_set_column (\fBnetsnmp_request_info\fP * request, unsigned int column)"
.PP
extracts a netsnmp_table_data_set pointer from a given request 
.PP
Definition at line 848 of file table_dataset.c.
.SS "\fBnetsnmp_mib_handler\fP* netsnmp_get_table_data_set_handler (\fBnetsnmp_table_data_set\fP * data_set)"
.PP
Given a netsnmp_table_data_set definition, create a handler for it. 
.PP
Definition at line 372 of file table_dataset.c.
.SS "int netsnmp_mark_row_column_writable (\fBnetsnmp_table_row\fP * row, int column, int writable)"
.PP
marks a given column in a row as writable or not. 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 1214 of file table_dataset.c.
.SS "void netsnmp_register_auto_data_table (\fBnetsnmp_table_data_set\fP * table_set, char * registration_name)"
.PP
registers a table_dataset so that the 'add_row' snmpd.conf token can be used to add data to this table. If registration_name is NULL then the name used when the table was created will be used instead.
.PP
\fBTodo\fP
.RS 4
create a properly free'ing registeration pointer for the datalist, and get the datalist freed at shutdown. 
.RE
.PP

.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 875 of file table_dataset.c.
.SS "int netsnmp_register_table_data_set (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_table_data_set\fP * data_set, \fBnetsnmp_table_registration_info\fP * table_info)"
.PP
register a given data_set at a given oid (specified in the netsnmp_handler_registration pointer). The reginfo->handler->access_method *may* be null if the call doesn't ever want to be called for SNMP operations. 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 398 of file table_dataset.c.
.SS "int netsnmp_set_row_column (\fBnetsnmp_table_row\fP * row, unsigned int column, int type, const char * value, size_t value_len)"
.PP
sets a given column in a row with data given a type, value, and length. Data is memdup'ed by the function. 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 1249 of file table_dataset.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_set_clone_row (\fBnetsnmp_table_row\fP * row)"
.PP
clones a dataset row, including all data. 
.PP
Definition at line 108 of file table_dataset.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_set_create_row_from_defaults (\fBnetsnmp_table_data_set_storage\fP * defrow)"
.PP
creates a new row from an existing defined default set 
.PP
Definition at line 242 of file table_dataset.c.
.SS "\fBnetsnmp_table_data_set_storage\fP* netsnmp_table_data_set_find_column (\fBnetsnmp_table_data_set_storage\fP * start, unsigned int column)"
.PP
Finds a column within a given storage set, given the pointer to the start of the storage set list. 
.PP
Definition at line 1202 of file table_dataset.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_set_get_first_row (\fBnetsnmp_table_data_set\fP * table)"
.PP
returns the first row in the table 
.PP
Definition at line 1171 of file table_dataset.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_set_get_next_row (\fBnetsnmp_table_data_set\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
returns the next row in the table 
.PP
Definition at line 1178 of file table_dataset.c.
.SS "void netsnmp_table_dataset_add_index (\fBnetsnmp_table_data_set\fP * table, u_char type)"
.PP
adds an index to the table. Call this repeatly for each index. 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 1303 of file table_dataset.c.
.SS "NETSNMP_INLINE void netsnmp_table_dataset_add_row (\fBnetsnmp_table_data_set\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
adds a new row to a dataset table 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 187 of file table_dataset.c.
.SS "NETSNMP_INLINE void netsnmp_table_dataset_delete_all_data (\fBnetsnmp_table_data_set_storage\fP * data)"
.PP
deletes all the data from this \fBnode\fP and beyond in the linked list 
.PP
Definition at line 164 of file table_dataset.c.
.SS "NETSNMP_INLINE \fBnetsnmp_table_data_set_storage\fP* netsnmp_table_dataset_delete_data (\fBnetsnmp_table_data_set_storage\fP * data)"
.PP
deletes a single dataset table data. returns the (possibly still good) next pointer of the deleted data object. 
.PP
Definition at line 151 of file table_dataset.c.
.SS "NETSNMP_INLINE void netsnmp_table_dataset_delete_row (\fBnetsnmp_table_row\fP * row)"
.PP
deletes all the data from this \fBnode\fP and beyond in the linked list 
.PP
Definition at line 174 of file table_dataset.c.
.SS "NETSNMP_INLINE void netsnmp_table_dataset_remove_and_delete_row (\fBnetsnmp_table_data_set\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
removes a row from the table and then deletes it (and all its data) 
.PP
Definition at line 219 of file table_dataset.c.
.SS "NETSNMP_INLINE void netsnmp_table_dataset_remove_row (\fBnetsnmp_table_data_set\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
removes a row from the table, but doesn't delete/free the column values 
.PP
Definition at line 208 of file table_dataset.c.
.SS "NETSNMP_INLINE void netsnmp_table_dataset_replace_row (\fBnetsnmp_table_data_set\fP * table, \fBnetsnmp_table_row\fP * origrow, \fBnetsnmp_table_row\fP * newrow)"
.PP
adds a new row to a dataset table 
.PP
Definition at line 197 of file table_dataset.c.
.SS "int netsnmp_table_set_add_default_row (\fBnetsnmp_table_data_set\fP * table_set, unsigned int column, int type, int writable, void * default_value, size_t default_value_len)"
.PP
adds a new default row to a table_set. Arguments should be the table_set, column number, \fBvariable\fP type and finally a 1 if it is allowed to be writable, or a 0 if not. If the default_value field is not NULL, it will be used to populate new valuse in that column fro newly created rows. It is copied into the storage template (free your calling argument).
.PP
returns SNMPERR_SUCCESS or SNMPERR_FAILURE 
.PP
Definition at line 268 of file table_dataset.c.
.SS "void netsnmp_table_set_add_indexes (\fBnetsnmp_table_data_set\fP * tset,  ...)"
.PP
adds multiple indexes to a table_dataset helper object. To end the list, use a 0 after the list of ASN index types. 
.PP
Definition at line 1314 of file table_dataset.c.
.SS "void netsnmp_table_set_multi_add_default_row (\fBnetsnmp_table_data_set\fP * tset,  ...)"
.PP
adds multiple data column definitions to each row. Functionally, this is a wrapper around calling netsnmp_table_set_add_default_row repeatedly for you. 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 329 of file table_dataset.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
