row_merge
[utility_handlers]

Calls sub handlers with request for one row at a time. [詳細]

マクロ定義

#define ROW_MERGE_WAITING   0
#define ROW_MERGE_ACTIVE   1
#define ROW_MERGE_DONE   2
#define ROW_MERGE_HEAD   3

関数

netsnmp_mib_handlernetsnmp_get_row_merge_handler (int prefix_len)
 returns a row_merge handler that can be injected into a given handler chain.
int netsnmp_register_row_merge (netsnmp_handler_registration *reginfo)
 functionally the same as calling netsnmp_register_handler() but also injects a row_merge handler at the same time for you.
netsnmp_row_merge_statusnetsnmp_row_merge_status_get (netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, int create_missing)
 retrieve row_merge_status
int netsnmp_row_merge_status_first (netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo)
 Determine if this is the first row
int netsnmp_row_merge_status_last (netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo)
 Determine if this is the last row
int netsnmp_row_merge_helper_handler (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
 Implements the row_merge handler
void netsnmp_init_row_merge (void)
 initializes the row_merge helper which then registers a row_merge handler as a run-time injectable handler for configuration file use.

説明

Calls sub handlers with request for one row at a time.

This helper splits a whole bunch of requests into chunks based on the row index that they refer to, and passes all requests for a given row to the lower handlers. This is useful for handlers that don't want to process multiple rows at the same time, but are happy to iterate through the request list for a single row.


関数

netsnmp_mib_handler* netsnmp_get_row_merge_handler ( int  prefix_len  ) 

returns a row_merge handler that can be injected into a given handler chain.

row_merge.c28 行で定義されています。

参照先 netsnmp_mib_handler_s::myvoidnetsnmp_create_handler()netsnmp_row_merge_helper_handler()NULL.

参照元 netsnmp_init_row_merge()netsnmp_register_row_merge().

void netsnmp_init_row_merge ( void   ) 

initializes the row_merge helper which then registers a row_merge handler as a run-time injectable handler for configuration file use.

row_merge.c358 行で定義されています。

参照先 netsnmp_get_row_merge_handler()netsnmp_register_handler_by_name().

int netsnmp_register_row_merge ( netsnmp_handler_registration reginfo  ) 

functionally the same as calling netsnmp_register_handler() but also injects a row_merge handler at the same time for you.

row_merge.c42 行で定義されています。

参照先 netsnmp_get_row_merge_handler()netsnmp_inject_handler()netsnmp_register_handler()netsnmp_handler_registration_s::rootoid_len.

int netsnmp_row_merge_helper_handler ( netsnmp_mib_handler handler,
netsnmp_handler_registration reginfo,
netsnmp_agent_request_info reqinfo,
netsnmp_request_info requests 
)

Implements the row_merge handler

row_merge.c154 行で定義されています。

参照先 netsnmp_row_merge_status_x::countnetsnmp_agent_request_info_s::modenetsnmp_mib_handler_s::myvoidvariable_list::namevariable_list::name_lengthnetsnmp_call_next_handler()netsnmp_row_merge_status_get()netsnmp_request_info_s::nextNULLnetsnmp_request_info_s::prevnetsnmp_request_info_s::processednetsnmp_request_info_s::requestvbnetsnmp_handler_registration_s::rootoidnetsnmp_handler_registration_s::rootoid_lenROW_MERGE_DONEROW_MERGE_WAITINGnetsnmp_row_merge_status_x::rowsnetsnmp_row_merge_status_x::saved_requestsnetsnmp_row_merge_status_x::saved_statusSNMP_FREE.

参照元 netsnmp_get_row_merge_handler().

int netsnmp_row_merge_status_first ( netsnmp_handler_registration reginfo,
netsnmp_agent_request_info reqinfo 
)

Determine if this is the first row

returns 1 if this is the first row for this pass of the handler.

row_merge.c110 行で定義されています。

参照先 netsnmp_row_merge_status_x::countnetsnmp_row_merge_status_x::currentnetsnmp_row_merge_status_get()NULL.

netsnmp_row_merge_status* netsnmp_row_merge_status_get ( netsnmp_handler_registration reginfo,
netsnmp_agent_request_info reqinfo,
int  create_missing 
)

retrieve row_merge_status

row_merge.c67 行で定義されています。

参照先 netsnmp_agent_add_list_data()netsnmp_agent_get_list_data()netsnmp_create_data_list()NULLsnmp_log()SNMP_MALLOC_TYPEDEF.

参照元 netsnmp_row_merge_helper_handler()netsnmp_row_merge_status_first()netsnmp_row_merge_status_last().

int netsnmp_row_merge_status_last ( netsnmp_handler_registration reginfo,
netsnmp_agent_request_info reqinfo 
)

Determine if this is the last row

returns 1 if this is the last row for this pass of the handler.

row_merge.c130 行で定義されています。

参照先 netsnmp_row_merge_status_x::countnetsnmp_row_merge_status_x::currentnetsnmp_row_merge_status_get()NULLnetsnmp_row_merge_status_x::rows.


net-snmpに対してSat Sep 5 13:14:29 2009に生成されました。  doxygen 1.4.7