Logo
Home page Net-SNMP

Archive Search:

Require all words?

Site Search:
Google
Main Page | Modules | Data Structures | File List | Data Fields | Related Pages | Examples

table_data: Helps you implement a table with datamatted storage.
[table: Helps you implement a table.]

This helper is obsolete. More...

Modules

group   table_dataset: Helps you implement a table with automatted storage.
  This helper is obsolete.

Functions

void  netsnmp_table_data_generate_index_oid (netsnmp_table_row *row)
netsnmp_table_data *  netsnmp_create_table_data (const char *name)
  creates and returns a pointer to table data set
netsnmp_table_row *  netsnmp_create_table_data_row (void)
  creates and returns a pointer to table data set
netsnmp_table_row *  netsnmp_table_data_clone_row (netsnmp_table_row *row)
  clones a data row.
void *  netsnmp_table_data_delete_row (netsnmp_table_row *row)
  deletes a row's memory.
int  netsnmp_table_data_add_row (netsnmp_table_data *table, netsnmp_table_row *row)
  Adds a row of data to a given table (stored in proper lexographical order).
NETSNMP_INLINE void  netsnmp_table_data_replace_row (netsnmp_table_data *table, netsnmp_table_row *origrow, netsnmp_table_row *newrow)
  swaps out origrow with newrow.
netsnmp_table_row *  netsnmp_table_data_remove_row (netsnmp_table_data *table, netsnmp_table_row *row)
  removes a row of data to a given table and returns it (no free's called)
void *  netsnmp_table_data_remove_and_delete_row (netsnmp_table_data *table, netsnmp_table_row *row)
  removes and frees a row of data to a given table and returns the void *
netsnmp_table_data *  netsnmp_table_data_create_table (const char *name, long flags)
void  netsnmp_table_data_delete_table (netsnmp_table_data *table)
netsnmp_table_row *  netsnmp_table_data_create_row (void *entry)
int  netsnmp_table_data_copy_row (netsnmp_table_row *old_row, netsnmp_table_row *new_row)
void *  netsnmp_table_data_remove_delete_row (netsnmp_table_data *table, netsnmp_table_row *row)
netsnmp_mib_handler netsnmp_get_table_data_handler (netsnmp_table_data *table)
  Creates a table_data handler and returns it.
int  netsnmp_register_table_data (netsnmp_handler_registration *reginfo, netsnmp_table_data *table, netsnmp_table_registration_info *table_info)
  registers a handler as a data table.
int  netsnmp_register_read_only_table_data (netsnmp_handler_registration *reginfo, netsnmp_table_data *table, netsnmp_table_registration_info *table_info)
  registers a handler as a read-only data table If table_info != NULL, it registers it as a normal table too.
int  netsnmp_table_data_helper_handler (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
netsnmp_table_data *  netsnmp_extract_table (netsnmp_request_info *request)
  extracts the table being accessed passed from the table_data helper
netsnmp_table_row *  netsnmp_extract_table_row (netsnmp_request_info *request)
  extracts the row being accessed passed from the table_data helper
void *  netsnmp_extract_table_row_data (netsnmp_request_info *request)
  extracts the data from the row being accessed passed from the table_data helper
NETSNMP_INLINE void  netsnmp_insert_table_row (netsnmp_request_info *request, netsnmp_table_row *row)
  inserts a newly created table_data row into a request
int  netsnmp_table_data_build_result (netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *request, netsnmp_table_row *row, int column, u_char type, u_char *result_data, size_t result_data_len)
netsnmp_table_row *  netsnmp_table_data_get_first_row (netsnmp_table_data *table)
  returns the first row in the table
netsnmp_table_row *  netsnmp_table_data_get_next_row (netsnmp_table_data *table, netsnmp_table_row *row)
  returns the next row in the table
netsnmp_table_row *  netsnmp_table_data_get (netsnmp_table_data *table, netsnmp_variable_list *indexes)
  finds the data in "datalist" stored at "indexes"
netsnmp_table_row *  netsnmp_table_data_get_from_oid (netsnmp_table_data *table, oid *searchfor, size_t searchfor_len)
  finds the data in "datalist" stored at the searchfor oid
int  netsnmp_table_data_num_rows (netsnmp_table_data *table)
netsnmp_table_row *  netsnmp_table_data_row_first (netsnmp_table_data *table)
netsnmp_table_row *  netsnmp_table_data_row_get (netsnmp_table_data *table, netsnmp_table_row *row)
netsnmp_table_row *  netsnmp_table_data_row_next (netsnmp_table_data *table, netsnmp_table_row *row)
netsnmp_table_row *  netsnmp_table_data_row_get_byoid (netsnmp_table_data *table, oid *instance, size_t len)
netsnmp_table_row *  netsnmp_table_data_row_next_byoid (netsnmp_table_data *table, oid *instance, size_t len)
netsnmp_table_row *  netsnmp_table_data_row_get_byidx (netsnmp_table_data *table, netsnmp_variable_list *indexes)
netsnmp_table_row *  netsnmp_table_data_row_next_byidx (netsnmp_table_data *table, netsnmp_variable_list *indexes)
int  netsnmp_table_data_row_count (netsnmp_table_data *table)
void *  netsnmp_table_data_entry_first (netsnmp_table_data *table)
void *  netsnmp_table_data_entry_get (netsnmp_table_data *table, netsnmp_table_row *row)
void *  netsnmp_table_data_entry_next (netsnmp_table_data *table, netsnmp_table_row *row)
void *  netsnmp_table_data_entry_get_byidx (netsnmp_table_data *table, netsnmp_variable_list *indexes)
void *  netsnmp_table_data_entry_next_byidx (netsnmp_table_data *table, netsnmp_variable_list *indexes)
void *  netsnmp_table_data_entry_get_byoid (netsnmp_table_data *table, oid *instance, size_t len)
void *  netsnmp_table_data_entry_next_byoid (netsnmp_table_data *table, oid *instance, size_t len)

Detailed Description

This helper is obsolete.

If you are writing a new module, please consider using the table_tdata helper instead.

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.


Function Documentation

netsnmp_table_data* netsnmp_create_table_data const char *  name  ) 
 

creates and returns a pointer to table data set

Definition at line 51 of file table_data.c.

References SNMP_MALLOC_TYPEDEF.

Referenced by netsnmp_create_table_data_set().

netsnmp_table_row* netsnmp_create_table_data_row void   ) 
 

creates and returns a pointer to table data set

Examples:
data_set.c.

Definition at line 61 of file table_data.c.

References SNMP_MALLOC_TYPEDEF.

Referenced by netsnmp_table_data_set_create_row_from_defaults().

netsnmp_table_data* netsnmp_extract_table netsnmp_request_info request  ) 
 

extracts the table being accessed passed from the table_data helper

Definition at line 648 of file table_data.c.

References netsnmp_request_get_list_data().

netsnmp_table_row* netsnmp_extract_table_row netsnmp_request_info request  ) 
 

extracts the row being accessed passed from the table_data helper

Definition at line 656 of file table_data.c.

References netsnmp_request_get_list_data().

Referenced by netsnmp_extract_table_row_data().

void* netsnmp_extract_table_row_data netsnmp_request_info request  ) 
 

extracts the data from the row being accessed passed from the table_data helper

Definition at line 665 of file table_data.c.

References netsnmp_extract_table_row().

Referenced by netsnmp_extract_table_data_set_column().

netsnmp_mib_handler* netsnmp_get_table_data_handler netsnmp_table_data *  table  ) 
 

Creates a table_data handler and returns it.

Definition at line 370 of file table_data.c.

References netsnmp_mib_handler_s::flags, netsnmp_mib_handler_s::myvoid, netsnmp_create_handler(), netsnmp_mib_handler, and snmp_log().

Referenced by netsnmp_register_table_data().

NETSNMP_INLINE void netsnmp_insert_table_row netsnmp_request_info request,
netsnmp_table_row *  row
 

inserts a newly created table_data row into a request

Definition at line 677 of file table_data.c.

References netsnmp_table_request_info_s::indexes, netsnmp_create_data_list(), netsnmp_extract_table_info(), netsnmp_request_add_list_data(), netsnmp_request_info_s::next, netsnmp_request_info_s::prev, and snmp_oid_compare().

int netsnmp_register_read_only_table_data netsnmp_handler_registration reginfo,
netsnmp_table_data *  table,
netsnmp_table_registration_info table_info
 

registers a handler as a read-only data table If table_info != NULL, it registers it as a normal table too.

Definition at line 404 of file table_data.c.

References netsnmp_get_read_only_handler(), netsnmp_handler_registration, netsnmp_inject_handler(), and netsnmp_register_table_data().

int netsnmp_register_table_data netsnmp_handler_registration reginfo,
netsnmp_table_data *  table,
netsnmp_table_registration_info table_info
 

registers a handler as a data table.

If table_info != NULL, it registers it as a normal table too.

Definition at line 393 of file table_data.c.

References netsnmp_get_table_data_handler(), netsnmp_handler_registration, netsnmp_inject_handler(), and netsnmp_register_table().

Referenced by netsnmp_register_read_only_table_data(), and netsnmp_register_table_data_set().

int netsnmp_table_data_add_row netsnmp_table_data *  table,
netsnmp_table_row *  row
 

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)

xxx-rks: remove invalid row?

Definition at line 129 of file table_data.c.

References snmp_log(), and snmp_oid_compare().

Referenced by netsnmp_table_data_replace_row(), and netsnmp_table_dataset_add_row().

netsnmp_table_row* netsnmp_table_data_clone_row netsnmp_table_row *  row  ) 
 

clones a data row.

DOES NOT CLONE THE CONTAINED DATA.

Definition at line 69 of file table_data.c.

References memdup().

Referenced by netsnmp_table_data_set_clone_row().

void* netsnmp_table_data_delete_row netsnmp_table_row *  row  ) 
 

deletes a row's memory.

returns the void data that it doesn't know how to delete.

Definition at line 100 of file table_data.c.

References variable_list::data, and SNMP_FREE.

Referenced by netsnmp_table_data_remove_and_delete_row(), and netsnmp_table_dataset_delete_row().

netsnmp_table_row* netsnmp_table_data_get netsnmp_table_data *  table,
netsnmp_variable_list indexes
 

finds the data in "datalist" stored at "indexes"

Definition at line 803 of file table_data.c.

References netsnmp_table_data_get_from_oid().

netsnmp_table_row* netsnmp_table_data_get_first_row netsnmp_table_data *  table  ) 
 

returns the first row in the table

Definition at line 784 of file table_data.c.

Referenced by netsnmp_table_data_set_get_first_row().

netsnmp_table_row* netsnmp_table_data_get_from_oid netsnmp_table_data *  table,
oid *  searchfor,
size_t  searchfor_len
 

finds the data in "datalist" stored at the searchfor oid

Definition at line 817 of file table_data.c.

References snmp_oid_compare().

Referenced by netsnmp_table_data_get().

netsnmp_table_row* netsnmp_table_data_get_next_row netsnmp_table_data *  table,
netsnmp_table_row *  row
 

returns the next row in the table

Definition at line 793 of file table_data.c.

Referenced by netsnmp_table_data_set_get_next_row().

void* netsnmp_table_data_remove_and_delete_row netsnmp_table_data *  table,
netsnmp_table_row *  row
 

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)

Definition at line 269 of file table_data.c.

References netsnmp_table_data_delete_row(), and netsnmp_table_data_remove_row().

Referenced by netsnmp_table_dataset_remove_and_delete_row(), and netsnmp_table_dataset_remove_row().

netsnmp_table_row* netsnmp_table_data_remove_row netsnmp_table_data *  table,
netsnmp_table_row *  row
 

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)

Definition at line 243 of file table_data.c.

Referenced by netsnmp_table_data_remove_and_delete_row(), and netsnmp_table_data_replace_row().

NETSNMP_INLINE void netsnmp_table_data_replace_row netsnmp_table_data *  table,
netsnmp_table_row *  origrow,
netsnmp_table_row *  newrow
 

swaps out origrow with newrow.

This does *not* delete/free anything!

Definition at line 228 of file table_data.c.

References netsnmp_table_data_add_row(), and netsnmp_table_data_remove_row().

Referenced by netsnmp_table_dataset_replace_row().


Generated on Fri Dec 30 13:48:01 2005 for net-snmp by  doxygen 1.3.9.1

Valid CSS!


Last modified: Thursday, 01-Mar-2007 16:20:08 PST
For questions regarding web content and site functionality, please write to the net-snmp-users mail list.