-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)
))
)
)
)
)