関数 | |
void | _netsnmp_tdata_generate_index_oid (netsnmp_tdata_row *row) |
netsnmp_tdata * | netsnmp_tdata_create_table (const char *name, long flags) |
creates and returns a 'tdata' table data structure | |
void | netsnmp_tdata_delete_table (netsnmp_tdata *table) |
creates and returns a 'tdata' table data structure | |
netsnmp_tdata_row * | netsnmp_tdata_create_row (void) |
creates and returns a pointer to new row data structure | |
netsnmp_tdata_row * | netsnmp_tdata_clone_row (netsnmp_tdata_row *row) |
clones a 'tdata' row. | |
int | netsnmp_tdata_copy_row (netsnmp_tdata_row *dst_row, netsnmp_tdata_row *src_row) |
copy the contents of a 'tdata' row. | |
void * | netsnmp_tdata_delete_row (netsnmp_tdata_row *row) |
deletes the memory used by the specified row returns the table-specific entry data (that it doesn't know how to delete) | |
int | netsnmp_tdata_add_row (netsnmp_tdata *table, netsnmp_tdata_row *row) |
Adds a row to the given table (stored in proper lexographical order). | |
void | netsnmp_tdata_replace_row (netsnmp_tdata *table, netsnmp_tdata_row *origrow, netsnmp_tdata_row *newrow) |
swaps out origrow with newrow. | |
netsnmp_tdata_row * | netsnmp_tdata_remove_row (netsnmp_tdata *table, netsnmp_tdata_row *row) |
removes a row from the given table and returns it (no free's called) | |
void * | netsnmp_tdata_remove_and_delete_row (netsnmp_tdata *table, netsnmp_tdata_row *row) |
removes and frees a row of the given table and returns the table-specific entry data | |
netsnmp_mib_handler * | netsnmp_get_tdata_handler (netsnmp_tdata *table) |
Creates a tdata handler and returns it | |
int | _netsnmp_tdata_helper_handler (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests) |
int | netsnmp_tdata_register (netsnmp_handler_registration *reginfo, netsnmp_tdata *table, netsnmp_table_registration_info *table_info) |
registers a tdata-based MIB table | |
netsnmp_tdata * | netsnmp_tdata_extract_table (netsnmp_request_info *request) |
extracts the tdata table from the request structure | |
netsnmp_container * | netsnmp_tdata_extract_container (netsnmp_request_info *request) |
extracts the tdata container from the request structure | |
netsnmp_tdata_row * | netsnmp_tdata_extract_row (netsnmp_request_info *request) |
extracts the tdata row being accessed from the request structure | |
void * | netsnmp_tdata_extract_entry (netsnmp_request_info *request) |
extracts the (table-specific) entry being accessed from the request structure | |
NETSNMP_INLINE void | netsnmp_insert_tdata_row (netsnmp_request_info *request, netsnmp_tdata_row *row) |
inserts a newly created tdata row into a request | |
void * | netsnmp_tdata_row_entry (netsnmp_tdata_row *row) |
returns the (table-specific) entry data for a given row | |
netsnmp_tdata_row * | netsnmp_tdata_row_first (netsnmp_tdata *table) |
returns the first row in the table | |
netsnmp_tdata_row * | netsnmp_tdata_row_get (netsnmp_tdata *table, netsnmp_tdata_row *row) |
finds a row in the 'tdata' table given another row | |
netsnmp_tdata_row * | netsnmp_tdata_row_next (netsnmp_tdata *table, netsnmp_tdata_row *row) |
returns the next row in the table | |
netsnmp_tdata_row * | netsnmp_tdata_row_get_byidx (netsnmp_tdata *table, netsnmp_variable_list *indexes) |
finds a row in the 'tdata' table given the index values | |
netsnmp_tdata_row * | netsnmp_tdata_row_get_byoid (netsnmp_tdata *table, oid *searchfor, size_t searchfor_len) |
finds a row in the 'tdata' table given the index OID | |
netsnmp_tdata_row * | netsnmp_tdata_row_next_byidx (netsnmp_tdata *table, netsnmp_variable_list *indexes) |
finds the lexically next row in the 'tdata' table given the index values | |
netsnmp_tdata_row * | netsnmp_tdata_row_next_byoid (netsnmp_tdata *table, oid *searchfor, size_t searchfor_len) |
finds the lexically next row in the 'tdata' table given the index OID | |
int | netsnmp_tdata_row_count (netsnmp_tdata *table) |
int | netsnmp_tdata_compare_idx (netsnmp_tdata_row *row, netsnmp_variable_list *indexes) |
compare a row with the given index values | |
int | netsnmp_tdata_compare_oid (netsnmp_tdata_row *row, oid *compareto, size_t compareto_len) |
compare a row with the given index OID | |
int | netsnmp_tdata_compare_subtree_idx (netsnmp_tdata_row *row, netsnmp_variable_list *indexes) |
int | netsnmp_tdata_compare_subtree_oid (netsnmp_tdata_row *row, oid *compareto, size_t compareto_len) |
変数 | |
Netsnmp_Node_Handler | _netsnmp_tdata_helper_handler |
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.
netsnmp_mib_handler* netsnmp_get_tdata_handler | ( | netsnmp_tdata * | table | ) |
Creates a tdata handler and returns it
table_tdata.c の 284 行で定義されています。
参照先 _netsnmp_tdata_helper_handler・netsnmp_mib_handler_s::flags・MIB_HANDLER_AUTO_NEXT・netsnmp_mib_handler_s::myvoid・netsnmp_create_handler()・NULL・snmp_log().
NETSNMP_INLINE void netsnmp_insert_tdata_row | ( | netsnmp_request_info * | request, | |
netsnmp_tdata_row * | row | |||
) |
int netsnmp_tdata_add_row | ( | netsnmp_tdata * | table, | |
netsnmp_tdata_row * | row | |||
) |
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)
table_tdata.c の 186 行で定義されています。
参照先 _netsnmp_tdata_generate_index_oid()・netsnmp_tdata_s::container・netsnmp_tdata_s::flags・netsnmp_tdata_row_s::indexes・netsnmp_tdata_s::name・NULL・netsnmp_tdata_row_s::oid_index・netsnmp_index_s::oids・snmp_free_varbind()・snmp_log().
netsnmp_tdata_row* netsnmp_tdata_clone_row | ( | netsnmp_tdata_row * | row | ) |
clones a 'tdata' row.
DOES NOT CLONE THE TABLE-SPECIFIC ENTRY DATA.
table_tdata.c の 92 行で定義されています。
参照先 memdup()・NULL・snmp_clone_varbind()・SNMP_FREE・snmp_free_varbind().
int netsnmp_tdata_compare_idx | ( | netsnmp_tdata_row * | row, | |
netsnmp_variable_list * | indexes | |||
) |
int netsnmp_tdata_compare_oid | ( | netsnmp_tdata_row * | row, | |
oid * | compareto, | |||
size_t | compareto_len | |||
) |
compare a row with the given index OID
table_tdata.c の 531 行で定義されています。
参照先 netsnmp_index_s::len・netsnmp_index_s::oids・snmp_oid_compare().
int netsnmp_tdata_copy_row | ( | netsnmp_tdata_row * | dst_row, | |
netsnmp_tdata_row * | src_row | |||
) |
copy the contents of a 'tdata' row.
DOES NOT COPY THE TABLE-SPECIFIC ENTRY DATA.
table_tdata.c の 129 行で定義されています。
netsnmp_tdata_row* netsnmp_tdata_create_row | ( | void | ) |
creates and returns a pointer to new row data structure
table_tdata.c の 84 行で定義されています。
参照先 SNMP_MALLOC_TYPEDEF.
netsnmp_tdata* netsnmp_tdata_create_table | ( | const char * | name, | |
long | flags | |||
) |
creates and returns a 'tdata' table data structure
table_tdata.c の 54 行で定義されています。
参照先 netsnmp_tdata_s::container・netsnmp_tdata_s::name・NULL・SNMP_MALLOC_TYPEDEF.
void* netsnmp_tdata_delete_row | ( | netsnmp_tdata_row * | row | ) |
deletes the memory used by the specified row returns the table-specific entry data (that it doesn't know how to delete)
table_tdata.c の 157 行で定義されています。
参照先 netsnmp_tdata_row_s::data・netsnmp_tdata_row_s::indexes・NULL・netsnmp_tdata_row_s::oid_index・netsnmp_index_s::oids・SNMP_FREE・snmp_free_varbind().
void netsnmp_tdata_delete_table | ( | netsnmp_tdata * | table | ) |
creates and returns a 'tdata' table data structure
table_tdata.c の 68 行で定義されています。
参照先 netsnmp_tdata_s::container・netsnmp_tdata_s::name・SNMP_FREE.
netsnmp_container* netsnmp_tdata_extract_container | ( | netsnmp_request_info * | request | ) |
extracts the tdata container from the request structure
table_tdata.c の 370 行で定義されています。
参照先 netsnmp_tdata_s::container・netsnmp_request_get_list_data()・NULL.
void* netsnmp_tdata_extract_entry | ( | netsnmp_request_info * | request | ) |
extracts the (table-specific) entry being accessed from the request structure
table_tdata.c の 387 行で定義されています。
参照先 netsnmp_tdata_row_s::data・netsnmp_tdata_extract_row()・NULL.
netsnmp_tdata_row* netsnmp_tdata_extract_row | ( | netsnmp_request_info * | request | ) |
extracts the tdata row being accessed from the request structure
table_tdata.c の 379 行で定義されています。
netsnmp_tdata* netsnmp_tdata_extract_table | ( | netsnmp_request_info * | request | ) |
int netsnmp_tdata_register | ( | netsnmp_handler_registration * | reginfo, | |
netsnmp_tdata * | table, | |||
netsnmp_table_registration_info * | table_info | |||
) |
registers a tdata-based MIB table
table_tdata.c の 351 行で定義されています。
参照先 netsnmp_tdata_s::container・netsnmp_container_table_register()・netsnmp_get_tdata_handler()・netsnmp_inject_handler().
void* netsnmp_tdata_remove_and_delete_row | ( | netsnmp_tdata * | table, | |
netsnmp_tdata_row * | row | |||
) |
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)
table_tdata.c の 260 行で定義されています。
参照先 netsnmp_tdata_delete_row()・netsnmp_tdata_remove_row()・NULL.
netsnmp_tdata_row* netsnmp_tdata_remove_row | ( | netsnmp_tdata * | table, | |
netsnmp_tdata_row * | row | |||
) |
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)
table_tdata.c の 242 行で定義されています。
参照先 netsnmp_tdata_s::container・NULL.
参照元 netsnmp_tdata_remove_and_delete_row()・netsnmp_tdata_replace_row().
void netsnmp_tdata_replace_row | ( | netsnmp_tdata * | table, | |
netsnmp_tdata_row * | origrow, | |||
netsnmp_tdata_row * | newrow | |||
) |
swaps out origrow with newrow.
This does *not* delete/free anything!
table_tdata.c の 227 行で定義されています。
void* netsnmp_tdata_row_entry | ( | netsnmp_tdata_row * | row | ) |
netsnmp_tdata_row* netsnmp_tdata_row_first | ( | netsnmp_tdata * | table | ) |
netsnmp_tdata_row* netsnmp_tdata_row_get | ( | netsnmp_tdata * | table, | |
netsnmp_tdata_row * | row | |||
) |
netsnmp_tdata_row* netsnmp_tdata_row_get_byidx | ( | netsnmp_tdata * | table, | |
netsnmp_variable_list * | indexes | |||
) |
netsnmp_tdata_row* netsnmp_tdata_row_get_byoid | ( | netsnmp_tdata * | table, | |
oid * | searchfor, | |||
size_t | searchfor_len | |||
) |
finds a row in the 'tdata' table given the index OID
table_tdata.c の 460 行で定義されています。
参照先 netsnmp_tdata_s::container・netsnmp_index_s::len・NULL・netsnmp_index_s::oids.
netsnmp_tdata_row* netsnmp_tdata_row_next | ( | netsnmp_tdata * | table, | |
netsnmp_tdata_row * | row | |||
) |
netsnmp_tdata_row* netsnmp_tdata_row_next_byidx | ( | netsnmp_tdata * | table, | |
netsnmp_variable_list * | indexes | |||
) |
finds the lexically next row in the 'tdata' table given the index values
table_tdata.c の 475 行で定義されています。
参照先 build_oid_noalloc()・netsnmp_tdata_row_next_byoid()・NULL.
netsnmp_tdata_row* netsnmp_tdata_row_next_byoid | ( | netsnmp_tdata * | table, | |
oid * | searchfor, | |||
size_t | searchfor_len | |||
) |
finds the lexically next row in the 'tdata' table given the index OID
table_tdata.c の 489 行で定義されています。
参照先 netsnmp_tdata_s::container・netsnmp_index_s::len・NULL・netsnmp_index_s::oids.