table man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

table(3)			   net-snmp			      table(3)

NAME
       table - Helps you implement a table.

   Modules
       table_array
	   Helps you implement a table when data can be stored locally.

       table_container
	   Helps you implement a table when data can be found via a
	   netsnmp_container.

       table_data
	   Helps you implement a table with datamatted storage.

       generic_table_API
	   General requirements for a table helper.

       table_iterator
	   The table iterator helper is designed to simplify the task of
	   writing a table handler for the net-snmp agent when the data being
	   accessed is not in an oid sorted form and must be accessed
	   externally.

       tdata
	   Implement a table with datamatted storage.

   Defines
       #define SPARSE_TABLE_HANDLER_NAME   'sparse_table'

   Functions
       netsnmp_mib_handler * netsnmp_get_table_handler
	   (netsnmp_table_registration_info *tabreq)
	   Given a netsnmp_table_registration_info object, creates a table
	   handler.
       int netsnmp_register_table (netsnmp_handler_registration *reginfo,
	   netsnmp_table_registration_info *tabreq)
	   creates a table handler given the netsnmp_table_registration_info
	   object, inserts it into the request chain and then calls
	   netsnmp_register_handler() to register the table into the agent.
       NETSNMP_INLINE netsnmp_table_request_info * netsnmp_extract_table_info
	   (netsnmp_request_info *request)
	   Extracts the processed table information from a given request.
       netsnmp_table_registration_info * netsnmp_find_table_registration_info
	   (netsnmp_handler_registration *reginfo)
	   extracts the registered netsnmp_table_registration_info object from
	   a netsnmp_handler_registration object
       int table_helper_handler (netsnmp_mib_handler *handler,
	   netsnmp_handler_registration *reginfo, netsnmp_agent_request_info
	   *reqinfo, netsnmp_request_info *requests)
	   implements the table helper handler
       netsnmp_mib_handler * netsnmp_sparse_table_handler_get (void)
	   create sparse table handler
       int netsnmp_sparse_table_register (netsnmp_handler_registration
	   *reginfo, netsnmp_table_registration_info *tabreq)
	   creates a table handler given the netsnmp_table_registration_info
	   object, inserts it into the request chain and then calls
	   netsnmp_register_handler() to register the table into the agent.
       int netsnmp_table_build_result (netsnmp_handler_registration *reginfo,
	   netsnmp_request_info *reqinfo, netsnmp_table_request_info
	   *table_info, u_char type, u_char *result, size_t result_len)
	   Builds the result to be returned to the agent given the table
	   information.
       int netsnmp_table_build_oid (netsnmp_handler_registration *reginfo,
	   netsnmp_request_info *reqinfo, netsnmp_table_request_info
	   *table_info)
	   given a registration info object, a request object and the table
	   info object it builds the request->requestvb->name oid from the
	   index values and column information found in the table_info object.
       int netsnmp_table_build_oid_from_index (netsnmp_handler_registration
	   *reginfo, netsnmp_request_info *reqinfo, netsnmp_table_request_info
	   *table_info)
	   given a registration info object, a request object and the table
	   info object it builds the request->requestvb->name oid from the
	   index values and column information found in the table_info object.
       int netsnmp_update_variable_list_from_index (netsnmp_table_request_info
	   *tri)
	   parses an OID into table indexses
       int netsnmp_update_indexes_from_variable_list
	   (netsnmp_table_request_info *tri)
	   builds an oid given a set of indexes.
       int netsnmp_check_getnext_reply (netsnmp_request_info *request, oid
	   *prefix, size_t prefix_len, netsnmp_variable_list *newvar,
	   netsnmp_variable_list **outvar)
	   checks the original request against the current data being passed
	   in if its greater than the request oid but less than the current
	   valid return, set the current valid return to the new value.

Detailed Description
       Helps you implement a table.

       This handler helps you implement a table by doing some of the
       processing for you.

       This handler truly shows the power of the new handler mechanism. By
       creating a table handler and injecting it into your calling chain, or
       by using the netsnmp_register_table() function to register your table,
       you get access to some pre-parsed information. Specifically, the table
       handler pulls out the column number and indexes from the request oid so
       that you don't have to do the complex work to do that parsing within
       your own code.

       To do this, the table handler needs to know up front how your table is
       structured. To inform it about this, you fill in a
       table_registeration_info structure that is passed to the table handler.
       It contains the asn index types for the table as well as the minimum
       and maximum column that should be used.

Function Documentation
   int netsnmp_check_getnext_reply (netsnmp_request_info * request, oid *
       prefix, size_t prefix_len, netsnmp_variable_list * newvar,
       netsnmp_variable_list ** outvar)
       checks the original request against the current data being passed in if
       its greater than the request oid but less than the current valid
       return, set the current valid return to the new value.

       returns 1 if outvar was replaced with the oid from newvar (success).
       returns 0 if not.

       Definition at line 884 of file table.c.

       References build_oid_noalloc(), variable_list::name,
       variable_list::name_length, netsnmp_request_info_s::requestvb,
       snmp_clone_varbind(), snmp_oid_compare(), snmp_set_var_objid(),
       snmp_set_var_typed_value(), netsnmp_vardata::string,
       variable_list::type, variable_list::val, and variable_list::val_len.

   NETSNMP_INLINE netsnmp_table_request_info* netsnmp_extract_table_info
       (netsnmp_request_info * request)
       Extracts the processed table information from a given request.

       Call this from subhandlers on a request to extract the processed
       netsnmp_request_info information. The resulting information includes
       the index values and the column number.

       Parameters:
	   request populated netsnmp request structure

       Returns:
	   populated netsnmp_table_request_info structure

       Definition at line 125 of file table.c.

       References netsnmp_request_get_list_data().

       Referenced by _netsnmp_tdata_helper_handler(),
       netsnmp_container_table_row_insert(),
       netsnmp_insert_iterator_context(), netsnmp_insert_table_row(),
       netsnmp_table_data_helper_handler(),
       netsnmp_table_data_set_helper_handler(),
       netsnmp_table_iterator_helper_handler(), and table_helper_handler().

   netsnmp_table_registration_info* netsnmp_find_table_registration_info
       (netsnmp_handler_registration * reginfo)
       extracts the registered netsnmp_table_registration_info object from a
       netsnmp_handler_registration object

       Definition at line 134 of file table.c.

       References netsnmp_find_handler_data_by_name().

       Referenced by netsnmp_table_data_helper_handler(), and
       netsnmp_table_iterator_helper_handler().

   netsnmp_mib_handler* netsnmp_get_table_handler
       (netsnmp_table_registration_info * tabreq)
       Given a netsnmp_table_registration_info object, creates a table
       handler.

       You can use this table handler by injecting it into a calling chain.
       When the handler gets called, it'll do processing and store it's
       information into the request->parent_data structure.

       The table helper handler pulls out the column number and indexes from
       the request oid so that you don't have to do the complex work of
       parsing within your own code.

       Parameters:
	   tabreq is a pointer to a netsnmp_table_registration_info struct.
	   The table handler needs to know up front how your table is
	   structured. A netsnmp_table_registeration_info structure that is
	   passed to the table handler should contain the asn index types for
	   the table as well as the minimum and maximum column that should be
	   used.

       Returns:
	   Returns a pointer to a netsnmp_mib_handler struct which contains
	   the handler's name and the access method

       Definition at line 85 of file table.c.

       References count_varbinds(),
       netsnmp_table_registration_info_s::indexes,
       netsnmp_mib_handler_s::myvoid, netsnmp_create_handler(), NULL,
       netsnmp_table_registration_info_s::number_indexes, snmp_log(), and
       table_helper_handler().

       Referenced by netsnmp_register_table(), and
       netsnmp_sparse_table_register().

   int netsnmp_register_table (netsnmp_handler_registration * reginfo,
       netsnmp_table_registration_info * tabreq)
       creates a table handler given the netsnmp_table_registration_info
       object, inserts it into the request chain and then calls
       netsnmp_register_handler() to register the table into the agent.

       Definition at line 108 of file table.c.

       References netsnmp_get_table_handler(), netsnmp_inject_handler(), and
       netsnmp_register_handler().

       Referenced by netsnmp_container_table_register(),
       netsnmp_register_table_data(), netsnmp_register_table_iterator(), and
       netsnmp_table_container_register().

   netsnmp_mib_handler* netsnmp_sparse_table_handler_get (void)
       create sparse table handler

       Definition at line 722 of file table.c.

       References netsnmp_create_handler(), and SPARSE_TABLE_HANDLER_NAME.

   int netsnmp_sparse_table_register (netsnmp_handler_registration * reginfo,
       netsnmp_table_registration_info * tabreq)
       creates a table handler given the netsnmp_table_registration_info
       object, inserts it into the request chain and then calls
       netsnmp_register_handler() to register the table into the agent.

       Definition at line 733 of file table.c.

       References netsnmp_create_handler(), netsnmp_get_table_handler(),
       netsnmp_inject_handler(), netsnmp_register_handler(), and
       SPARSE_TABLE_HANDLER_NAME.

   int netsnmp_table_build_oid (netsnmp_handler_registration * reginfo,
       netsnmp_request_info * reqinfo, netsnmp_table_request_info *
       table_info)
       given a registration info object, a request object and the table info
       object it builds the request->requestvb->name oid from the index values
       and column information found in the table_info object.

       Index values are extracted from the table_info varbinds.

       Definition at line 784 of file table.c.

       References build_oid(), netsnmp_table_request_info_s::colnum,
       netsnmp_table_request_info_s::indexes, variable_list::name,
       variable_list::name_length, netsnmp_request_info_s::requestvb,
       netsnmp_handler_registration_s::rootoid, and
       netsnmp_handler_registration_s::rootoid_len.

       Referenced by netsnmp_table_build_result().

   int netsnmp_table_build_oid_from_index (netsnmp_handler_registration *
       reginfo, netsnmp_request_info * reqinfo, netsnmp_table_request_info *
       table_info)
       given a registration info object, a request object and the table info
       object it builds the request->requestvb->name oid from the index values
       and column information found in the table_info object.

       Index values are extracted from the table_info index oid.

       Definition at line 821 of file table.c.

       References netsnmp_table_request_info_s::colnum,
       netsnmp_table_request_info_s::index_oid,
       netsnmp_table_request_info_s::index_oid_len, variable_list::name,
       variable_list::name_length, variable_list::name_loc,
       netsnmp_request_info_s::requestvb,
       netsnmp_handler_registration_s::rootoid,
       netsnmp_handler_registration_s::rootoid_len, snmp_clone_mem(), and
       SNMP_FREE.

   int netsnmp_table_build_result (netsnmp_handler_registration * reginfo,
       netsnmp_request_info * reqinfo, netsnmp_table_request_info *
       table_info, u_char type, u_char * result, size_t result_len)
       Builds the result to be returned to the agent given the table
       information.

       Use this function to return results from lowel level handlers to the
       agent. It takes care of building the proper resulting oid (containing
       proper indexing) and inserts the result value into the returning
       varbind.

       Definition at line 751 of file table.c.

       References variable_list::name, variable_list::name_loc,
       netsnmp_table_build_oid(), NULL, netsnmp_request_info_s::requestvb, and
       snmp_set_var_typed_value().

   int netsnmp_update_indexes_from_variable_list (netsnmp_table_request_info *
       tri)
       builds an oid given a set of indexes.

       Definition at line 866 of file table.c.

       References build_oid_noalloc(),
       netsnmp_table_request_info_s::index_oid,
       netsnmp_table_request_info_s::index_oid_len,
       netsnmp_table_request_info_s::indexes, and NULL.

   int netsnmp_update_variable_list_from_index (netsnmp_table_request_info *
       tri)
       parses an OID into table indexses

       Definition at line 850 of file table.c.

       References netsnmp_table_request_info_s::index_oid,
       netsnmp_table_request_info_s::index_oid_len,
       netsnmp_table_request_info_s::indexes, parse_oid_indexes(), and
       snmp_reset_var_buffers().

   int table_helper_handler (netsnmp_mib_handler * handler,
       netsnmp_handler_registration * reginfo, netsnmp_agent_request_info *
       reqinfo, netsnmp_request_info * requests)
       implements the table helper handler

       XXX-rks: memory leak. add cleanup handler?

       none available

       got one ok

       for loop

       Definition at line 142 of file table.c.

       References netsnmp_table_request_info_s::colnum,
       netsnmp_mib_handler_s::handler_name,
       netsnmp_table_request_info_s::index_oid,
       netsnmp_table_request_info_s::index_oid_len,
       netsnmp_table_request_info_s::indexes,
       netsnmp_table_registration_info_s::indexes,
       netsnmp_table_registration_info_s::max_column,
       netsnmp_table_registration_info_s::min_column,
       netsnmp_agent_request_info_s::mode, netsnmp_mib_handler_s::myvoid,
       netsnmp_agent_get_list_data(), netsnmp_call_next_handler(),
       netsnmp_create_data_list(), netsnmp_extract_table_info(),
       netsnmp_free_agent_data_sets(), netsnmp_request_add_list_data(),
       netsnmp_set_request_error(), netsnmp_request_info_s::next,
       netsnmp_mib_handler_s::next, variable_list::next_variable, NULL,
       netsnmp_table_registration_info_s::number_indexes,
       netsnmp_table_request_info_s::number_indexes, parse_one_oid_index(),
       netsnmp_request_info_s::processed,
       netsnmp_table_request_info_s::reg_info,
       netsnmp_request_info_s::requestvb,
       netsnmp_handler_registration_s::rootoid,
       netsnmp_handler_registration_s::rootoid_len, snmp_clone_varbind(),
       SNMP_FREE, snmp_log(), SNMP_MALLOC_TYPEDEF, snmp_oid_compare(),
       snmp_set_var_objid(), sprint_realloc_by_type(),
       netsnmp_request_info_s::status, variable_list::type, and
       netsnmp_table_registration_info_s::valid_columns.

       Referenced by netsnmp_get_table_handler().

Version 5.3.1			  13 Jul 2006			      table(3)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net