Documentation
From my personal library, The Internet

man page:




   Functions
       int netsnmp_table_container_register (netsnmp_handler_registration
           *reginfo, netsnmp_table_registration_info *tabreg,
           netsnmp_table_array_callbacks *cb, netsnmp_container *container,
           int group_rows)
           register specified callbacks for the specified table/oid.
       netsnmp_mib_handler * netsnmp_find_table_array_handler
           (netsnmp_handler_registration *reginfo)
           find the handler for the table_array helper.
       netsnmp_container * netsnmp_extract_array_context (netsnmp_request_info
           *request)
           find the context data used by the table_array helper
       int netsnmp_table_array_check_row_status (netsnmp_table_array_callbacks
           *cb, netsnmp_request_group *ag, long *rs_new, long *rs_old)
           this function is called to validate RowStatus transitions.


Detailed Description

       The table_array handler is used (automatically) in conjuntion with the
       table handler. It is primarily intended to be used with the mib2c
       configuration file mib2c.array-user.conf.

       The code generated by mib2c is useful when you have control of the data
       for each row. If you cannot control when rows are added and deleted (or
       at least be notified of changes to row data), then this handler is
       probably not for you.

       This handler makes use of callbacks (function pointers) to handle
       various tasks. Code is generated for each callback, but will need to be
       reviewed and flushed out by the user.

       NOTE NOTE NOTE: Once place where mib2c is somewhat lacking is with
       regards to tables with external indices. If your table makes use of one
       or more external indices, please review the generated code very
       carefully for comments regarding external indices.

       NOTE NOTE NOTE: This helper, the API and callbacks are still being
       tested and may change.

       The generated code will define a structure for storage of table related
       data. This structure must be used, as it contains the index OID for the
       row, which is used for keeping the array sorted. You can add addition
       fields or data to the structure for your own use.

       The generated code will also have code to handle SNMP-SET processing.
       If your table does not support any SET operations, simply comment out
       the #define _SET_HANDLING (where  is your table name) in the header
       file.

       SET processing modifies the row in-place. The duplicate_row callback
       stored in a binary tree. This is very useful for finding rows by a key
       other than the OID index. By default, the functions for maintaining
       this tree will be based on a character string. NOTE: this will likely
       be made into a more generic mechanism, using new callback methods, in
       the near future.

       The generated code contains many TODO comments. Make sure you check
       each one to see if it applies to your code. Examples include checking
       indices for syntax (ranges, etc), initializing default values in newly
       created rows, checking for row activation and deactivation
       requirements, etc.


Function Documentation

   netsnmp_container* netsnmp_extract_array_context (netsnmp_request_info *
       request)
       find the context data used by the table_array helper Definition at line
       213 of file table_array.c.

       References netsnmp_request_get_list_data().

   netsnmp_mib_handler* netsnmp_find_table_array_handler
       (netsnmp_handler_registration * reginfo)
       find the handler for the table_array helper. Definition at line 196 of
       file table_array.c.

       References netsnmp_mib_handler_s::access_method,
       netsnmp_handler_registration_s::handler, netsnmp_handler_registration,
       netsnmp_mib_handler, and netsnmp_mib_handler_s::next.

   int netsnmp_table_array_check_row_status (netsnmp_table_array_callbacks *
       cb, netsnmp_request_group * ag, long * rs_new, long * rs_old)
       this function is called to validate RowStatus transitions. Definition
       at line 220 of file table_array.c.

   int netsnmp_table_container_register (netsnmp_handler_registration *
       reginfo, netsnmp_table_registration_info * tabreg,
       netsnmp_table_array_callbacks * cb, netsnmp_container * container, int
       group_rows)
       register specified callbacks for the specified table/oid. If the
       group_rows parameter is set, the row related callbacks will be called
       once for each unique row index. Otherwise, each callback will be called
       only once, for all objects. Definition at line 152 of file
       table_array.c.

       References netsnmp_handler_registration_s::handler,
       netsnmp_mib_handler_s::myvoid, netsnmp_handler_registration,
       netsnmp_register_table(), snmp_log(), and SNMP_MALLOC_TYPEDEF.




table_array: Helps you implement a table when data can be stored locally.tThemdata is stored in a sorted array, using a binary search for lookups.(3)



Man(1) output converted with man2html