これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションの2つを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドmibXNUMXcです。
プログラム:
NAME
mib2c-エージェントを拡張するためのテンプレートコードを生成します
SYNOPSIS
mib2c [-h] -c CONFIGFILE [-I PATH] [-f OUTNAME] [-i] [-s] [-q] [-S VAR = VAL] MIBNODE
DESCRIPTION
mib2cツールは、MIBツリーの一部(MIBファイルで定義されている)を取得するように設計されています。
関連する管理オブジェクトを実装するために必要なテンプレートCコードを生成します
その中で。
新しいMIBモジュールを実装するには、次のXNUMXつのファイルが必要です。
-MIB定義ファイル
-Cヘッダーファイル
-C実装ファイル。
mib2cツールは、MIB定義ファイルを使用して2つのCコードファイルを生成します。 したがって、mibXNUMXc
から情報を取得するために必要なロジックを追加するために編集できるテンプレートを生成します
モジュールを完了するためのオペレーティングシステムまたはアプリケーション。
MIBNODEは、コードを生成する最上位のmibノードです。 mib2cに
mibファイルではなく、コマンドラインのmibノード(例:ifTable)。 これが一番シングルです
よくある間違い。
mib2cツールは、SMIv1とSMIv2の両方のMIBを受け入れます。
mib2cは、のCコードを生成するために、MIBファイルを見つけてロードできる必要があります。
MIB。 mib2cがMIBファイルを検索できるようにするには、MIBS環境変数を次のように設定します。
使用しているMIBファイル。 この環境変数の設定例は次のとおりです。
MIBS = + NET-SNMP-チュートリアル-MIB
or
MIBS = ALL
最初の例では、mib2cがNET-SNMP-tokyo-MIB mibに加えて、
デフォルトのMIBモジュール。 スイートが最初のときに、MIBモジュールのデフォルトリストが設定されます
構成および構築され、基本的にエージェントが使用するモジュールのリストに対応します
サポートします。 2番目の例では、mibXNUMXcが次の検索場所ですべてのMIBを検索するようにします。
MIBファイル。 MIBファイルのデフォルトの検索場所は/ usr / share / snmp / mibsです。 この検索
場所は、MIBDIRS環境変数によって変更できます。
ロードするMIBファイルとMIBファイルの検索場所の両方を次の場所で構成することもできます。
snmp.confファイル。 見てください snmp.conf(5)詳細については。
生成された* .cファイルと* .hファイルは、現在の作業ディレクトリに作成されます。
OPTIONS
-h ヘルプメッセージを表示します。
-c 構成ファイル
コードを生成するときはCONFIGFILEを使用します。 これらのファイルは、最初に検索されます
現在のディレクトリ、次に は、/ usr / share ディレクトリ(デフォルトの場所です
mib2c構成ファイルが見つかります)。 -cCONFIGFILEなしでmib2cを実行する
オプションは、CONFIGFILEの有効な値の説明を表示します。
作成する可能性のある新しいファイルを含む、利用可能な構成ファイル。
たとえば、
%mib2c ifTable
CONFIGFILEで現在使用可能な値の説明が表示されます。
CONFIGFILEでは次の値がサポートされています。
mib2c.mfd.conf
mib2c.scalar.conf
mib2c.int_watch.conf
mib2c.iterate.conf
mib2c.create-dataset.conf
mib2c.array-user.conf
mib2c.column_defines.conf
mib2c.column_enums.conf
スカラーオブジェクトのコード生成:
一部のスカラーのコードを記述している場合は、次のコマンドを実行します。
mib2c -c mib2c.scalar.conf MIBNODE
整数変数を整数スカラーに魔法のように「結び付ける」場合は、次を使用します。
mib2c -c mib2c.int_watch.conf MIBノード
テーブルのコード生成:
テーブルに推奨される構成ファイルは、Dummies(MFD)のMIBです。
構成ファイル。 SNMPの詳細を可能な限り隠し、生成します
小さくてわかりやすい機能。 それはまた最も柔軟でよく
文書化された構成ファイル。 agent / mibgroup / if-mib / ifTable / ifTable * .cを参照してください
例のファイル:
mib2c -c mib2c.mfd.conf MIBノード
テーブルデータが別の場所に保持されている場合(たとえば、カーネルにあり、
エージェント自体の記憶)そしてあなたは正しいものを見つけるためにそれを「繰り返す」必要があります
アクセスされているSNMP行のデータ。 agent / mibgroup / mibII /vacm_context.cを参照してください
例のファイル:
mib2c -c mib2c.iterate.conf MIBNODE
テーブルデータがエージェントに保持されている場合(つまり、外部に配置されていない場合)
ソース)であり、純粋にデータ駆動型です(つまり、
セットが発生します)。 の例については、agent / mibgroup / examples /data_set.cファイルを参照してください。
そのようなテーブル:
mib2c -c mib2c.create-dataset.conf MIBNODE
テーブルデータがエージェントに保持されている場合(つまり、外部に配置されていない場合)
ソース)、テーブルインデックスでデータを並べ替えることができますが、
セットが発生したときに作業を実行します。
mib2c -c mib2c.array-user.conf MIBNODE
ヘッダーファイル定義の生成
テーブルの各列番号を定義するヘッダーのみを生成するには、次のようにします。
mib2c -c mib2c.column_defines.conf MIBNODE
を含む任意の列の各列挙型の定義を含むヘッダーのみを生成するには
列挙型:
mib2c -c mib2c.column_enums.conf MIBNODE
4.Xコード行のコードの生成(古いAPI)
mib2c -c mib2c.old-api.conf MIBNODE
-Iパス PATHで構成ファイルを検索します。 複数のパスを使用して指定できます
複数の-Iスイッチを使用するか、パスのコンマ区切りリストを含むスイッチを使用します。
-f アウトネーム
出力コードをOUTNAME.cとOUTNAME.hに配置します。 通常、mib2cは
コードを生成しているテーブル名に対応するファイルにコードを出力します
とにかく、それはおそらくあなたが望むものです。
-i 結果のコードでインデントを実行しないでください。
-s MIBNODE.sedを検索せず、結果のコードでsedを実行します。 これは
コード内の長いmib変数名を短くします。
-q 「クワイエット」モードで実行します。これにより、mib2cが生成するステータスメッセージが最小限に抑えられます。
-SVAR = VAL
mib2c。*。confファイルの変数VARを値VALにプリセットします。 のどれも
既存のmib2c構成ファイル(mib2c。*。conf)は現在これを利用しています
ただし、このオプションは将来のみ利用可能と見なす必要があります
使用しています。
例
以下は、ヘッダーファイルと実装ファイルのCテンプレートコードを生成します。
UCD-DEMO-MIB :: ucdDemoPublicを実装します。
%mib2c -c mib2c.scalar.conf ucdDemoPublic
ucdDemoPublic.hへの書き込み
ucdDemoPublic.cへの書き込み
ucdDemoPublic.hでインデントを実行しています
ucdDemoPublic.cでインデントを実行しています
結果のucdDemoPublic.cファイルとucdDemoPublic.hファイルは、現在の作業で生成されます
ディレクトリにあります。
以下は、ヘッダーのCテンプレートコードとの実装ファイルを生成します
TCP-MIB :: tcpConnTableを実装するモジュール。
%mib2c -c mib2c.iterate.conf tcpConnTable
tcpConnTable.hへの書き込み
tcpConnTable.cへの書き込み
tcpConnTable.hでインデントを実行しています
tcpConnTable.cでインデントを実行しています
結果のtcpConnTable.cおよびtcpConnTable.hファイルは、現在の作業で生成されます
ディレクトリにあります。
onworks.netサービスを使用してオンラインでmib2cを使用する