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.
netsnmp_table_data* netsnmp_create_table_data | ( | const char * | name | ) |
creates and returns a pointer to table data set
table_data.c の 52 行で定義されています。
参照先 netsnmp_table_data_s::name・SNMP_MALLOC_TYPEDEF.
参照元 netsnmp_create_table_data_set()・netsnmp_table_data_create_table().
netsnmp_table_row* netsnmp_create_table_data_row | ( | void | ) |
creates and returns a pointer to table data set
table_data.c の 62 行で定義されています。
参照先 SNMP_MALLOC_TYPEDEF.
参照元 netsnmp_config_parse_add_row()・netsnmp_table_data_set_create_row_from_defaults().
netsnmp_table_data* netsnmp_extract_table | ( | netsnmp_request_info * | request | ) |
netsnmp_table_row* netsnmp_extract_table_row | ( | netsnmp_request_info * | request | ) |
extracts the row being accessed passed from the table_data helper
table_data.c の 657 行で定義されています。
参照先 netsnmp_request_get_list_data().
参照元 netsnmp_extract_table_row_data()・netsnmp_table_data_set_helper_handler().
void* netsnmp_extract_table_row_data | ( | netsnmp_request_info * | request | ) |
extracts the data from the row being accessed passed from the table_data helper
table_data.c の 666 行で定義されています。
参照先 netsnmp_table_row_s::data・netsnmp_extract_table_row()・NULL.
netsnmp_mib_handler* netsnmp_get_table_data_handler | ( | netsnmp_table_data * | table | ) |
Creates a table_data handler and returns it
table_data.c の 371 行で定義されています。
参照先 netsnmp_mib_handler_s::flags・MIB_HANDLER_AUTO_NEXT・netsnmp_mib_handler_s::myvoid・netsnmp_create_handler()・netsnmp_table_data_helper_handler()・NULL・snmp_log().
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
table_data.c の 678 行で定義されています。
参照先 build_oid_noalloc()・netsnmp_table_request_info_s::indexes・netsnmp_create_data_list()・netsnmp_extract_table_info()・netsnmp_request_add_list_data()・netsnmp_request_info_s::next・NULL・netsnmp_request_info_s::prev・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.
table_data.c の 405 行で定義されています。
参照先 netsnmp_get_read_only_handler()・netsnmp_inject_handler()・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.
table_data.c の 394 行で定義されています。
参照先 netsnmp_get_table_data_handler()・netsnmp_inject_handler()・netsnmp_register_table().
参照元 netsnmp_register_read_only_table_data()・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?
table_data.c の 130 行で定義されています。
参照先 netsnmp_table_data_s::first_row・netsnmp_table_row_s::index_oid・netsnmp_table_row_s::index_oid_len・netsnmp_table_row_s::indexes・netsnmp_table_data_s::last_row・netsnmp_table_data_s::name・netsnmp_table_data_generate_index_oid()・netsnmp_table_row_s::next・NULL・netsnmp_table_row_s::prev・snmp_free_varbind()・snmp_log()・snmp_oid_compare()・netsnmp_table_data_s::store_indexes.
参照元 netsnmp_config_parse_add_row()・netsnmp_table_data_replace_row()・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.
table_data.c の 70 行で定義されています。
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.
table_data.c の 101 行で定義されています。
参照先 netsnmp_table_row_s::data・netsnmp_table_row_s::index_oid・netsnmp_table_row_s::indexes・NULL・SNMP_FREE・snmp_free_varbind().
参照元 netsnmp_table_data_delete_table()・netsnmp_table_data_remove_and_delete_row()・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"
table_data.c の 804 行で定義されています。
参照先 build_oid_noalloc()・netsnmp_table_data_get_from_oid()・NULL.
netsnmp_table_row* netsnmp_table_data_get_first_row | ( | netsnmp_table_data * | table | ) |
returns the first row in the table
table_data.c の 785 行で定義されています。
参照先 netsnmp_table_data_s::first_row・NULL.
参照元 netsnmp_table_data_entry_first()・netsnmp_table_data_row_first()・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
table_data.c の 818 行で定義されています。
参照先 netsnmp_table_data_s::first_row・netsnmp_table_row_s::index_oid・netsnmp_table_row_s::index_oid_len・netsnmp_table_row_s::next・NULL・snmp_oid_compare().
参照元 netsnmp_table_data_get()・netsnmp_table_data_row_get()・netsnmp_table_data_row_get_byoid().
netsnmp_table_row* netsnmp_table_data_get_next_row | ( | netsnmp_table_data * | table, | |
netsnmp_table_row * | row | |||
) |
returns the next row in the table
table_data.c の 794 行で定義されています。
参照先 netsnmp_table_row_s::next・NULL.
参照元 netsnmp_table_data_row_next()・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)
table_data.c の 270 行で定義されています。
参照先 netsnmp_table_data_delete_row()・netsnmp_table_data_remove_row()・NULL.
参照元 netsnmp_table_data_remove_delete_row()・netsnmp_table_dataset_remove_and_delete_row()・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)
table_data.c の 244 行で定義されています。
参照先 netsnmp_table_data_s::first_row・netsnmp_table_data_s::last_row・netsnmp_table_row_s::next・NULL・netsnmp_table_row_s::prev.
参照元 netsnmp_table_data_remove_and_delete_row()・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!
table_data.c の 229 行で定義されています。
参照先 netsnmp_table_data_add_row()・netsnmp_table_data_remove_row().