日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
GENSNMPTREE(1) FreeBSD 一般コマンドマニュアル GENSNMPTREE(1)
名称
gensnmptree -- MIB 記述ファイルから C とヘッダファイルを生成する
書式
gensnmptree [-dEeFfhlt] [-I directory] [-i infile] [-p prefix] [name ...]
解説
gensnmptree ユーティリティは、MIB 記述から C 言語のテーブルとヘッダファイ
ル、または MIB 記述からの数値 OID のいずれかを生成するために使用されま
す。最初の形式は、bsnmpd(1) デーモンを保守することまたはモジュールの作者
のためだけに使用されます。2 番目の形式は、SNMP クライアントプログラムの作
者よって使用されます。
オプション -e, -E または -t のいずれも使用されないなら、gensnmptree は、
標準入力から MIB 記述を読み込み、2 つのファイルを作成します: PDU 処理の間
に bsnmpd(1) によって使用されるテーブルを含んでいる C ファイル
prefixtree.c と、このテーブル、テーブル自体とすべての enums のための定義
で使用されるコールバック関数の適切な宣言を含んでいるヘッダファイル
prefixtree.h。
次のオプションが利用可能です:
-d デバッグをオンに切り替えます。
-E 列挙とビット構成を抽出します。このモードで、ツールは、コマンド行で与
えられた各タイプのために、値を文字列にマップするために使用される、C
enum 定義とプリプロセッサ定義を含んでいるヘッダファイルを出力します。
-e gensnmptree は、コマンド行で (最後の構成要素のみ) MIB 変数名を要求し
ます。標準入力から MIB 指定を読み込み、各 MIB 変数名のために、3 つの
C プリプロセッサ定義を標準出力に出力します。
OIDX_name 次の方法で struct asn_oid を初期化するためにこの定義を使
用することができます:
const struct asn_oid oid_sysDescr = OIDX_sysDescr;
OIDLEN_name は、OID の長さです。
OID_name は、OID の最後の構成要素です。
-F 値チェックのような enum と値と文字列の間の変換で、いくらかの基本的な
要素を行なう、C ファイルのインクルード可能な C の関数の定義を出力しま
す。
-f 値チェックのような enum と値と文字列の間の変換で、いくらかの基本的な
要素を行なうインライン C 関数のための定義を出力します。
-h 短いヘルプページを印刷 (表示) します。
-I directory
標準のインクルードディレクトリのすぐ前のインクルードパスに指定された
ディレクトリを追加します。
-i infile
標準入力の代わりに、指定されたファイルから読み込みます。
-l ローカルなプリプロセッサのインクルードを生成します。これは、ブートス
トラップの bsnmpd(1) のために使用されます。
-t 通常の出力の代わりに、結果のツリーを印刷 (表示) します。
-p prefix
ファイル名とテーブル名の前に prefix を付けます。
MIB
MIB 記述ファイルの構文は、次のように正式に指定することができます:
file := top | top file
top := tree | typedef | include
tree := head elements ')'
entry := head ':' index STRING elements ')'
leaf := head type STRING ACCESS ')'
column := head type ACCESS ')'
type := BASETYPE | BASETYPE '|' subtype | enum | bits
subtype := STRING
enum := ENUM '(' value ')'
bits := BITS '(' value ')'
value := INT STRING | INT STRING value
head := '(' INT STRING
elements := EMPTY | elements element
element := tree | leaf | column
index := type | index type
typedef := 'typedef' STRING type
include := 'include' filespec
filespec := '"' STRING '"' | '<' STRING '>'
BASETYPE は、SNMP データタイプを指定し、次の 1 つとなります。
• NULL
• INTEGER
• INTEGER32 (INTEGER と同じです)
• UNSIGNED32 (GAUGE と同じです)
• OCTETSTRING
• IPADDRESS
• OID
• TIMETICKS
• COUNTER
• GAUGE
• COUNTER64
ACCESS は、(操作を実行することができる) MIB 変数のアクセス可能性を指定
し、次の 1 となります。
• GET
• SET
INT は、10 進数の整数で、STRING は、文字または下線で始まり、文字、数値、
下線とマイナスから成るあらゆる文字列で、キーワードの 1 つではありません。
typedef ディレクティブは、タイプを単一の名前と関連させます。
include ディレクティブは、指定されたファイルの内容で置き換えられます。
使用例
次の MIB 記述は、システムグループを説明しています:
include "tc.def"
typedef AdminStatus ENUM (
1 up
2 down
)
(1 internet
(2 mgmt
(1 mibII
(1 system
(1 sysDescr OCTETSTRING op_system_group GET)
(2 sysObjectId OID op_system_group GET)
(3 sysUpTime TIMETICKS op_system_group GET)
(4 sysContact OCTETSTRING op_system_group GET SET)
(5 sysName OCTETSTRING op_system_group GET SET)
(6 sysLocation OCTETSTRING op_system_group GET SET)
(7 sysServices INTEGER op_system_group GET)
(8 sysORLastChange TIMETICKS op_system_group GET)
(9 sysORTable
(1 sysOREntry : INTEGER op_or_table
(1 sysORIndex INTEGER)
(2 sysORID OID GET)
(3 sysORDescr OCTETSTRING GET)
(4 sysORUpTime TIMETICKS GET)
))
)
)
)
)
関連項目
bsnmpd(1)
作者
Hartmut Brandt <harti@FreeBSD.org>
FreeBSD 13.2 April 2, 2019 FreeBSD 13.2