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

.SS "Functions"

.in +1c
.ti -1c
.RI "void \fB_netsnmp_tdata_generate_index_oid\fP (\fBnetsnmp_tdata_row\fP *row)"
.br
.ti -1c
.RI "\fBnetsnmp_tdata\fP * \fBnetsnmp_tdata_create_table\fP (const char *name, long flags)"
.br
.RI "\fIcreates and returns a 'tdata' table data structure \fP"
.ti -1c
.RI "void \fBnetsnmp_tdata_delete_table\fP (\fBnetsnmp_tdata\fP *table)"
.br
.RI "\fIcreates and returns a 'tdata' table data structure \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_create_row\fP (void)"
.br
.RI "\fIcreates and returns a pointer to new row data structure \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_clone_row\fP (\fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIclones a 'tdata' row. \fP"
.ti -1c
.RI "int \fBnetsnmp_tdata_copy_row\fP (\fBnetsnmp_tdata_row\fP *dst_row, \fBnetsnmp_tdata_row\fP *src_row)"
.br
.RI "\fIcopy the contents of a 'tdata' row. \fP"
.ti -1c
.RI "void * \fBnetsnmp_tdata_delete_row\fP (\fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIdeletes the memory used by the specified row returns the table-specific entry data (that it doesn't know how to delete) \fP"
.ti -1c
.RI "int \fBnetsnmp_tdata_add_row\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIAdds a row to the given table (stored in proper lexographical order). \fP"
.ti -1c
.RI "void \fBnetsnmp_tdata_replace_row\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_tdata_row\fP *origrow, \fBnetsnmp_tdata_row\fP *newrow)"
.br
.RI "\fIswaps out origrow with newrow. \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_remove_row\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIremoves a row from the given table and returns it (no free's called) \fP"
.ti -1c
.RI "void * \fBnetsnmp_tdata_remove_and_delete_row\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIremoves and frees a row of the given table and returns the table-specific entry data \fP"
.ti -1c
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_tdata_handler\fP (\fBnetsnmp_tdata\fP *table)"
.br
.RI "\fICreates a tdata handler and returns it. \fP"
.ti -1c
.RI "int \fB_netsnmp_tdata_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 "int \fBnetsnmp_tdata_register\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_tdata\fP *table, \fBnetsnmp_table_registration_info\fP *table_info)"
.br
.RI "\fIregisters a tdata-based MIB table \fP"
.ti -1c
.RI "\fBnetsnmp_tdata\fP * \fBnetsnmp_tdata_extract_table\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the tdata table from the request structure \fP"
.ti -1c
.RI "\fBnetsnmp_container\fP * \fBnetsnmp_tdata_extract_container\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the tdata container from the request structure \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_extract_row\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the tdata row being accessed from the request structure \fP"
.ti -1c
.RI "void * \fBnetsnmp_tdata_extract_entry\fP (\fBnetsnmp_request_info\fP *request)"
.br
.RI "\fIextracts the (table-specific) entry being accessed from the request structure \fP"
.ti -1c
.RI "NETSNMP_INLINE void \fBnetsnmp_insert_tdata_row\fP (\fBnetsnmp_request_info\fP *request, \fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIinserts a newly created tdata row into a request \fP"
.ti -1c
.RI "void * \fBnetsnmp_tdata_row_entry\fP (\fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIreturns the (table-specific) entry data for a given row \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_first\fP (\fBnetsnmp_tdata\fP *table)"
.br
.RI "\fIreturns the first row in the table \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_get\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIfinds a row in the 'tdata' table given another row \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_next\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_tdata_row\fP *row)"
.br
.RI "\fIreturns the next row in the table \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_get_byidx\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.RI "\fIfinds a row in the 'tdata' table given the index values \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_get_byoid\fP (\fBnetsnmp_tdata\fP *table, oid *searchfor, size_t searchfor_len)"
.br
.RI "\fIfinds a row in the 'tdata' table given the index OID \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_next_byidx\fP (\fBnetsnmp_tdata\fP *table, \fBnetsnmp_variable_list\fP *indexes)"
.br
.RI "\fIfinds the lexically next row in the 'tdata' table given the index values \fP"
.ti -1c
.RI "\fBnetsnmp_tdata_row\fP * \fBnetsnmp_tdata_row_next_byoid\fP (\fBnetsnmp_tdata\fP *table, oid *searchfor, size_t searchfor_len)"
.br
.RI "\fIfinds the lexically next row in the 'tdata' table given the index OID \fP"
.ti -1c
.RI "int \fBnetsnmp_tdata_row_count\fP (\fBnetsnmp_tdata\fP *table)"
.br
.ti -1c
.RI "int \fBnetsnmp_tdata_compare_idx\fP (\fBnetsnmp_tdata_row\fP *row, \fBnetsnmp_variable_list\fP *indexes)"
.br
.RI "\fIcompare a row with the given index values \fP"
.ti -1c
.RI "int \fBnetsnmp_tdata_compare_oid\fP (\fBnetsnmp_tdata_row\fP *row, oid *compareto, size_t compareto_len)"
.br
.RI "\fIcompare a row with the given index OID \fP"
.ti -1c
.RI "int \fBnetsnmp_tdata_compare_subtree_idx\fP (\fBnetsnmp_tdata_row\fP *row, \fBnetsnmp_variable_list\fP *indexes)"
.br
.ti -1c
.RI "int \fBnetsnmp_tdata_compare_subtree_oid\fP (\fBnetsnmp_tdata_row\fP *row, oid *compareto, size_t compareto_len)"
.br
.in -1c
.SS "Variables"

.in +1c
.ti -1c
.RI "Netsnmp_Node_Handler \fB_netsnmp_tdata_helper_handler\fP"
.br
.in -1c
.SH "Detailed Description"
.PP 
Implement a table with datamatted storage. 

This helper helps you implement a table where all the rows 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_mib_handler\fP* netsnmp_get_tdata_handler (\fBnetsnmp_tdata\fP * table)"
.PP
Creates a tdata handler and returns it. 
.PP
Definition at line 284 of file table_tdata.c.
.SS "NETSNMP_INLINE void netsnmp_insert_tdata_row (\fBnetsnmp_request_info\fP * request, \fBnetsnmp_tdata_row\fP * row)"
.PP
inserts a newly created tdata row into a request 
.PP
Definition at line 399 of file table_tdata.c.
.SS "int netsnmp_tdata_add_row (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_tdata_row\fP * row)"
.PP
Adds a row to the given table (stored in proper lexographical order). returns SNMPERR_SUCCESS on successful addition. or SNMPERR_GENERR on failure (E.G., indexes already existed) 
.PP
Definition at line 186 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_clone_row (\fBnetsnmp_tdata_row\fP * row)"
.PP
clones a 'tdata' row. DOES NOT CLONE THE TABLE-SPECIFIC ENTRY DATA. 
.PP
Definition at line 92 of file table_tdata.c.
.SS "int netsnmp_tdata_compare_idx (\fBnetsnmp_tdata_row\fP * row, \fBnetsnmp_variable_list\fP * indexes)"
.PP
compare a row with the given index values 
.PP
Definition at line 518 of file table_tdata.c.
.SS "int netsnmp_tdata_compare_oid (\fBnetsnmp_tdata_row\fP * row, oid * compareto, size_t compareto_len)"
.PP
compare a row with the given index OID 
.PP
Definition at line 531 of file table_tdata.c.
.SS "int netsnmp_tdata_copy_row (\fBnetsnmp_tdata_row\fP * dst_row, \fBnetsnmp_tdata_row\fP * src_row)"
.PP
copy the contents of a 'tdata' row. DOES NOT COPY THE TABLE-SPECIFIC ENTRY DATA. 
.PP
Definition at line 129 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_create_row (void)"
.PP
creates and returns a pointer to new row data structure 
.PP
Definition at line 84 of file table_tdata.c.
.SS "\fBnetsnmp_tdata\fP* netsnmp_tdata_create_table (const char * name, long flags)"
.PP
creates and returns a 'tdata' table data structure 
.PP
Definition at line 54 of file table_tdata.c.
.SS "void* netsnmp_tdata_delete_row (\fBnetsnmp_tdata_row\fP * row)"
.PP
deletes the memory used by the specified row returns the table-specific entry data (that it doesn't know how to delete) 
.PP
Definition at line 157 of file table_tdata.c.
.SS "void netsnmp_tdata_delete_table (\fBnetsnmp_tdata\fP * table)"
.PP
creates and returns a 'tdata' table data structure 
.PP
Definition at line 68 of file table_tdata.c.
.SS "\fBnetsnmp_container\fP* netsnmp_tdata_extract_container (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the tdata container from the request structure 
.PP
Definition at line 370 of file table_tdata.c.
.SS "void* netsnmp_tdata_extract_entry (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the (table-specific) entry being accessed from the request structure 
.PP
Definition at line 387 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_extract_row (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the tdata row being accessed from the request structure 
.PP
Definition at line 379 of file table_tdata.c.
.SS "\fBnetsnmp_tdata\fP* netsnmp_tdata_extract_table (\fBnetsnmp_request_info\fP * request)"
.PP
extracts the tdata table from the request structure 
.PP
Definition at line 362 of file table_tdata.c.
.SS "int netsnmp_tdata_register (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_tdata\fP * table, \fBnetsnmp_table_registration_info\fP * table_info)"
.PP
registers a tdata-based MIB table 
.PP
Definition at line 351 of file table_tdata.c.
.SS "void* netsnmp_tdata_remove_and_delete_row (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_tdata_row\fP * row)"
.PP
removes and frees a row of the given table and returns the table-specific entry data returns the void * pointer on successful deletion. or NULL on failure (bad arguments) 
.PP
Definition at line 260 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_remove_row (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_tdata_row\fP * row)"
.PP
removes a row from the 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 242 of file table_tdata.c.
.SS "void netsnmp_tdata_replace_row (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_tdata_row\fP * origrow, \fBnetsnmp_tdata_row\fP * newrow)"
.PP
swaps out origrow with newrow. This does *not* delete/free anything! 
.PP
Definition at line 227 of file table_tdata.c.
.SS "void* netsnmp_tdata_row_entry (\fBnetsnmp_tdata_row\fP * row)"
.PP
returns the (table-specific) entry data for a given row 
.PP
Definition at line 414 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_first (\fBnetsnmp_tdata\fP * table)"
.PP
returns the first row in the table 
.PP
Definition at line 424 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_get (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_tdata_row\fP * row)"
.PP
finds a row in the 'tdata' table given another row 
.PP
Definition at line 431 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_get_byidx (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_variable_list\fP * indexes)"
.PP
finds a row in the 'tdata' table given the index values 
.PP
Definition at line 447 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_get_byoid (\fBnetsnmp_tdata\fP * table, oid * searchfor, size_t searchfor_len)"
.PP
finds a row in the 'tdata' table given the index OID 
.PP
Definition at line 460 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_next (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_tdata_row\fP * row)"
.PP
returns the next row in the table 
.PP
Definition at line 439 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_next_byidx (\fBnetsnmp_tdata\fP * table, \fBnetsnmp_variable_list\fP * indexes)"
.PP
finds the lexically next row in the 'tdata' table given the index values 
.PP
Definition at line 475 of file table_tdata.c.
.SS "\fBnetsnmp_tdata_row\fP* netsnmp_tdata_row_next_byoid (\fBnetsnmp_tdata\fP * table, oid * searchfor, size_t searchfor_len)"
.PP
finds the lexically next row in the 'tdata' table given the index OID 
.PP
Definition at line 489 of file table_tdata.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
