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

.SS "Modules"

.in +1c
.ti -1c
.RI "\fBtable_dataset\fP"
.br
.PP

.RI "\fIHelps you implement a table with automatted storage. \fP"
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "void \fBnetsnmp_table_data_generate_index_oid\fP (\fBnetsnmp_table_row\fP *row)"
.br
.ti -1c
.RI "\fBnetsnmp_table_data\fP * \fBnetsnmp_create_table_data\fP (const char *name)"
.br
.RI "\fIcreates and returns a pointer to table data set \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_create_table_data_row\fP (void)"
.br
.RI "\fIcreates and returns a pointer to table data set \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_clone_row\fP (\fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIclones a data row. \fP"
.ti -1c
.RI "void * \fBnetsnmp_table_data_delete_row\fP (\fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIdeletes a row's memory. \fP"
.ti -1c
.RI "int \fBnetsnmp_table_data_add_row\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIAdds a row of data to a given table (stored in proper lexographical order). \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_table_data_replace_row\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *origrow, \fBnetsnmp_table_row\fP *newrow)"
.br
.RI "\fIswaps out origrow with newrow. \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_remove_row\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIremoves a row of data to a given table and returns it (no free's called) \fP"
.ti -1c
.RI "void * \fBnetsnmp_table_data_remove_and_delete_row\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIremoves and frees a row of data to a given table and returns the void * \fP"
.ti -1c
.RI "\fBnetsnmp_table_data\fP * \fBnetsnmp_table_data_create_table\fP (const char *name, long flags)"
.br
.ti -1c
.RI "void \fBnetsnmp_table_data_delete_table\fP (\fBnetsnmp_table_data\fP *table)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_create_row\fP (void *entry)"
.br
.ti -1c
.RI "int \fBnetsnmp_table_data_copy_row\fP (\fBnetsnmp_table_row\fP *old_row, \fBnetsnmp_table_row\fP *new_row)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_remove_delete_row\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.ti -1c
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_table_data_handler\fP (\fBnetsnmp_table_data\fP *table)"
.br
.RI "\fICreates a table_data handler and returns it. \fP"
.ti -1c
.RI "int \fBnetsnmp_register_table_data\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_registration_info\fP *table_info)"
.br
.RI "\fIregisters a handler as a data table. \fP"
.ti -1c
.RI "int \fBnetsnmp_register_read_only_table_data\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_registration_info\fP *table_info)"
.br
.RI "\fIregisters a handler as a read-only data table If table_info != NULL, it registers it as a normal table too. \fP"
.ti -1c
.RI "int \fBnetsnmp_table_data_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 "\fBnetsnmp_table_data\fP * \fBnetsnmp_extract_table\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the table being accessed passed from the table_data helper \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_extract_table_row\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the row being accessed passed from the table_data helper \fP"
.ti -1c
.RI "void * \fBnetsnmp_extract_table_row_data\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the data from the row being accessed passed from the table_data helper \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_insert_table_row\fP (\fBnetsnmp_request_info\fP *request, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIinserts a newly created table_data row into a request \fP"
.ti -1c
.RI "int \fBnetsnmp_table_data_build_result\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo, \fBnetsnmp_request_info\fP *request, \fBnetsnmp_table_row\fP *row, int column, u_char type, u_char *result_data, size_t result_data_len)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_get_first_row\fP (\fBnetsnmp_table_data\fP *table)"
.br
.RI "\fIreturns the first row in the table \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_get_next_row\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.RI "\fIreturns the next row in the table \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_get\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.RI "\fIfinds the data in 'datalist' stored at 'indexes' \fP"
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_get_from_oid\fP (\fBnetsnmp_table_data\fP *table, oid *searchfor, size_t searchfor_len)"
.br
.RI "\fIfinds the data in 'datalist' stored at the searchfor oid \fP"
.ti -1c
.RI "int \fBnetsnmp_table_data_num_rows\fP (\fBnetsnmp_table_data\fP *table)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_first\fP (\fBnetsnmp_table_data\fP *table)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_get\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_next\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_get_byoid\fP (\fBnetsnmp_table_data\fP *table, oid *instance, size_t len)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_next_byoid\fP (\fBnetsnmp_table_data\fP *table, oid *instance, size_t len)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_get_byidx\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.ti -1c
.RI "\fBnetsnmp_table_row\fP * \fBnetsnmp_table_data_row_next_byidx\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.ti -1c
.RI "int \fBnetsnmp_table_data_row_count\fP (\fBnetsnmp_table_data\fP *table)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_first\fP (\fBnetsnmp_table_data\fP *table)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_get\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_next\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_table_row\fP *row)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_get_byidx\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_next_byidx\fP (\fBnetsnmp_table_data\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_get_byoid\fP (\fBnetsnmp_table_data\fP *table, oid *instance, size_t len)"
.br
.ti -1c
.RI "void * \fBnetsnmp_table_data_entry_next_byoid\fP (\fBnetsnmp_table_data\fP *table, oid *instance, size_t len)"
.br
.in -1c
.SH "Detailed Description"
.PP 
Helps you implement a table with datamatted storage. 

This helper is obsolete. If you are writing a new \fBmodule\fP, please consider using the table_tdata helper instead.
.PP
This helper helps you implement a table where all the indexes are expected to be stored within the agent itself and not in some external storage location. It can be used to store a list of rows, where a row consists of the indexes to the table and a generic data pointer. You can then implement a subhandler which is passed the exact row definition and data it must return data for or accept data for. Complex GETNEXT handling is greatly simplified in this case. 
.SH "Function Documentation"
.PP 
.SS "\fBnetsnmp_table_data\fP* netsnmp_create_table_data (const char * name)"
.PP
creates and returns a pointer to table data set 
.PP
Definition at line 52 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_create_table_data_row (void)"
.PP
creates and returns a pointer to table data set 
.PP
\fBExamples: \fP
.in +1c
\fBdata_set.c\fP.
.PP
Definition at line 62 of file table_data.c.
.SS "\fBnetsnmp_table_data\fP* netsnmp_extract_table (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the table being accessed passed from the table_data helper 
.PP
Definition at line 656 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_extract_table_row (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the row being accessed passed from the table_data helper 
.PP
Definition at line 664 of file table_data.c.
.SS "void* netsnmp_extract_table_row_data (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the data from the row being accessed passed from the table_data helper 
.PP
Definition at line 673 of file table_data.c.
.SS "\fBnetsnmp_mib_handler\fP* netsnmp_get_table_data_handler (\fBnetsnmp_table_data\fP * table)"
.PP
Creates a table_data handler and returns it. 
.PP
Definition at line 378 of file table_data.c.
.SS "NETSNMP_INLINE void netsnmp_insert_table_row (\fBnetsnmp_request_info\fP * request, \fBnetsnmp_table_row\fP * row)"
.PP
inserts a newly created table_data row into a request 
.PP
Definition at line 685 of file table_data.c.
.SS "int netsnmp_register_read_only_table_data (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_registration_info\fP * table_info)"
.PP
registers a handler as a read-only data table If table_info != NULL, it registers it as a normal table too. 
.PP
Definition at line 412 of file table_data.c.
.SS "int netsnmp_register_table_data (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_registration_info\fP * table_info)"
.PP
registers a handler as a data table. If table_info != NULL, it registers it as a normal table too. 
.PP
Definition at line 401 of file table_data.c.
.SS "int netsnmp_table_data_add_row (\fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
Adds a row of data to a given table (stored in proper lexographical order). returns SNMPERR_SUCCESS on successful addition. or SNMPERR_GENERR on failure (E.G., indexes already existed) 
.PP
xxx-rks: remove invalid row? 
.PP
Definition at line 134 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_clone_row (\fBnetsnmp_table_row\fP * row)"
.PP
clones a data row. DOES NOT CLONE THE CONTAINED DATA. 
.PP
Definition at line 70 of file table_data.c.
.SS "void* netsnmp_table_data_delete_row (\fBnetsnmp_table_row\fP * row)"
.PP
deletes a row's memory. returns the void data that it doesn't know how to delete. 
.PP
Definition at line 105 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_get (\fBnetsnmp_table_data\fP * table, \fBnetsnmp_variable_list\fP * indexes)"
.PP
finds the data in 'datalist' stored at 'indexes' 
.PP
Definition at line 811 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_get_first_row (\fBnetsnmp_table_data\fP * table)"
.PP
returns the first row in the table 
.PP
Definition at line 792 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_get_from_oid (\fBnetsnmp_table_data\fP * table, oid * searchfor, size_t searchfor_len)"
.PP
finds the data in 'datalist' stored at the searchfor oid 
.PP
Definition at line 825 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_get_next_row (\fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
returns the next row in the table 
.PP
Definition at line 801 of file table_data.c.
.SS "void* netsnmp_table_data_remove_and_delete_row (\fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
removes and frees a row of data to a given table and returns the void * returns the void * data on successful deletion. or NULL on failure (bad arguments) 
.PP
Definition at line 274 of file table_data.c.
.SS "\fBnetsnmp_table_row\fP* netsnmp_table_data_remove_row (\fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_row\fP * row)"
.PP
removes a row of data to a given table and returns it (no free's called) returns the row pointer itself on successful removing. or NULL on failure (bad arguments) 
.PP
Definition at line 248 of file table_data.c.
.SS "NETSNMP_INLINE void netsnmp_table_data_replace_row (\fBnetsnmp_table_data\fP * table, \fBnetsnmp_table_row\fP * origrow, \fBnetsnmp_table_row\fP * newrow)"
.PP
swaps out origrow with newrow. This does *not* delete/free anything! 
.PP
Definition at line 233 of file table_data.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
