-e オプションが使用されていないなら、 は標準入力から MIB 記述を読み込んで、2 つのファイルを作成します: C ファイル prefix tree.c は PDU 処理の間に snmpd(1) によって使用されるテーブルを含み、 ヘッダファイル prefix tree.h はこのテーブルとテーブル自体で使用される コールバック関数の適切な宣言を含んでいます。
-e オプションが指定されているなら、 はコマンド行で MIB 変数名 (最後のコンポーネントのみ) を要求します。 標準入力から MIB 仕様を読み込み、それぞれの MIB 変数名のために 標準出力に 2 つの C プリプロセッサ定義を出力します。 1 つ目は OID_ name を定義し、 asn_oid 構造体 を初期化するための配列初期化子として使用することができます。 他方は OIDLEN_ name を定義し、OID の長さを含んでいます。
オプションは次の通りです:
file := tree | tree file tree := head elements ')' entry := head ':' index STRING elements ')' leaf := head TYPE STRING ACCESS ')' column := head TYPE ACCESS ')' head := '(' INT STRING elements := EMPTY | elements element element := tree | leaf index := TYPE | index TYPE
TYPE は SNMP データタイプを指定しており、それは次のうちの 1 つです。
ACCESS は MIB 変数のアクセシビリティ (その操作を実行することができる) を指定しており、それは次のうちの 1 つです。
INT は 10 進の整数で、 STRING は文字かアンダースコアで始まり、 文字、数値、アンダースコアからなる任意の文字列で、 キーワードに含まれないものです。
(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) )) ) ) ) )