5
Windows上でnet-snmp Cライブラリを使用しています。 MIBファイルからトラップ関連の情報を解析したい。net-snmp MIBファイルを解析し、その中からトラップ関連の情報を抽出するサンプルコード
これを行うにはサンプルコードが必要です。便利なものが見つからなかったhttp://www.net-snmp.org/
Windows上でnet-snmp Cライブラリを使用しています。 MIBファイルからトラップ関連の情報を解析したい。net-snmp MIBファイルを解析し、その中からトラップ関連の情報を抽出するサンプルコード
これを行うにはサンプルコードが必要です。便利なものが見つからなかったhttp://www.net-snmp.org/
ここで、net-snmpライブラリを使用してMIBファイルを解析するサンプルコードを示します。 このコードを使用する前に、プロジェクトプロパティでnet-snmpのインクルードとライブラリディレクトリを参照または追加する必要があります。
#include "stdafx.h"
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/definitions.h>
#include <net-snmp/library/tools.h>
#include <net-snmp/mib_api.h>
#include <net-snmp/library/mib.h>
#include <net-snmp/library/parse.h>
int _tmain(int argc, _TCHAR* argv[])
{
struct tree *tp;
struct tree *tree_head = NULL ;
FILE *fp = NULL;
char str[] = "c:\\MyMIBFileDir\\My.mib";
netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_MIB_WARNINGS , 2);
netsnmp_ds_toggle_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_SAVE_MIB_DESCRS);
netsnmp_init_mib();
add_mibdir("c:\\MyMIBFileDir\\");
tree_head = read_mib(str);
if (tree_head)
{
//Successfully parsed the MIB
}
// Full traversal of the subtree
for (tp = tree_head; tp; tp = tp->next_peer)
// Here you can do custom parsing
fclose(fp);
return 0;
}