00001
00002
00003
00004
00005 #ifndef _TABLE_CONTAINER_HANDLER_H_
00006 #define _TABLE_CONTAINER_HANDLER_H_
00007
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <net-snmp/library/container.h>
00027 #include <net-snmp/agent/table.h>
00028
00029 #define TABLE_CONTAINER_ROW "table_container:row"
00030 #define TABLE_CONTAINER_CONTAINER "table_container:container"
00031
00032 #define TABLE_CONTAINER_KEY_NETSNMP_INDEX 1
00033 #define TABLE_CONTAINER_KEY_VARBIND_INDEX 2
00034 #define TABLE_CONTAINER_KEY_VARBIND_RAW 3
00035
00036
00037
00038
00039
00040
00041
00042
00043 netsnmp_mib_handler *
00044 netsnmp_container_table_handler_get(netsnmp_table_registration_info *tabreq,
00045 netsnmp_container *container,
00046 char key_type);
00047
00048
00049
00050 int
00051 netsnmp_container_table_register(netsnmp_handler_registration *reginfo,
00052 netsnmp_table_registration_info *tabreq,
00053 netsnmp_container *container,
00054 char key_type);
00055
00057 netsnmp_container*
00058 netsnmp_container_table_container_extract(netsnmp_request_info *request);
00059
00061 #ifdef NETSNMP_USE_INLINE
00062 NETSNMP_STATIC_INLINE void *
00063 netsnmp_container_table_row_extract(netsnmp_request_info *request)
00064 {
00065
00066
00067
00068
00069 return netsnmp_request_get_list_data(request, TABLE_CONTAINER_ROW);
00070 }
00071
00072 NETSNMP_STATIC_INLINE void *
00073 netsnmp_container_table_extract_context(netsnmp_request_info *request)
00074 {
00075
00076
00077
00078
00079 return netsnmp_request_get_list_data(request, TABLE_CONTAINER_ROW);
00080 }
00081 #else
00082 void *
00083 netsnmp_container_table_row_extract(netsnmp_request_info *request);
00084 void *
00085 netsnmp_container_table_extract_context(netsnmp_request_info *request);
00086 #endif
00087
00088 void netsnmp_container_table_row_insert(netsnmp_request_info *request,
00089 netsnmp_index *row);
00090
00091
00092
00093
00094
00095 void *
00096 netsnmp_container_table_find_next_row(netsnmp_request_info *request,
00097 netsnmp_table_request_info *tblreq,
00098 netsnmp_container *container,
00099 char key_type );
00100 #ifdef __cplusplus
00101 }
00102 #endif
00103
00104 #endif