dbde051558
Submitted by: Nobuyuki Koganemaru <n-kogane at syd odn ne jp> Reviewed by: Watanabe Kazuhiro <CQG00620 at nifty ne jp>, Sarumaru Yoshihiko <mistral at imasy or jp>, koizumistr at minos ocn ne jp
197 lines
5.2 KiB
Groff
197 lines
5.2 KiB
Groff
.\"
|
||
.\" Copyright (c) 2001-2003
|
||
.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
|
||
.\" All rights reserved.
|
||
.\"
|
||
.\" Author: Harti Brandt <harti@freebsd.org>
|
||
.\"
|
||
.\" Redistribution and use in source and binary forms, with or without
|
||
.\" modification, are permitted provided that the following conditions
|
||
.\" are met:
|
||
.\" 1. Redistributions of source code must retain the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer.
|
||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer in the
|
||
.\" documentation and/or other materials provided with the distribution.
|
||
.\"
|
||
.\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
.\" ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
|
||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
.\" SUCH DAMAGE.
|
||
.\"
|
||
.\" %Begemot: bsnmp/gensnmptree/gensnmptree.1,v 1.3 2004/08/06 08:46:46 brandt Exp %
|
||
.\"
|
||
.\" $FreeBSD$
|
||
.Dd October 7, 2003
|
||
.Dt gensnmptree 1
|
||
.Os
|
||
.Sh 名称
|
||
.Nm gensnmptree
|
||
.Nd "MIB 記述ファイルから C とヘッダファイルを生成する"
|
||
.Sh 書式
|
||
.Nm
|
||
.Op Fl helt
|
||
.Op Fl p Ar prefix
|
||
.Op Ar name Ar ...
|
||
.Sh 解説
|
||
.Nm
|
||
ユーティリティは、MIB 記述から C 言語テーブルとヘッダファイルまたは
|
||
MIB 記述から数値 OID を生成するために使用されます。
|
||
1 番目の形式は
|
||
.Xr snmpd 1
|
||
デーモンの保守のため、またはモジュール作成者のためにのみ使用されます。
|
||
2 番目の形式は SNMP クライアントプログラム作成者
|
||
によって使用されるでしょう。
|
||
.Pp
|
||
.Fl e
|
||
オプションが使用されていないなら、
|
||
.Nm
|
||
は標準入力から MIB 記述を読み込んで、2 つのファイルを作成します:
|
||
C ファイル
|
||
.Ar prefix Ns tree.c
|
||
は PDU 処理の間に
|
||
.Xr snmpd 1
|
||
によって使用されるテーブルを含み、
|
||
ヘッダファイル
|
||
.Ar prefix Ns tree.h
|
||
はこのテーブルとテーブル自体で使用される
|
||
コールバック関数の適切な宣言を含んでいます。
|
||
.Pp
|
||
.Fl e
|
||
オプションが指定されているなら、
|
||
.Nm
|
||
はコマンド行で MIB 変数名 (最後のコンポーネントのみ) を要求します。
|
||
標準入力から MIB 仕様を読み込み、それぞれの MIB 変数名のために
|
||
標準出力に 2 つの C プリプロセッサ定義を出力します。
|
||
.\" 3つじゃなくて? (sarumaru 問い合わせ中)
|
||
1 つ目は
|
||
.Va OID_ Ns Ar name
|
||
を定義し、
|
||
.Va asn_oid 構造体
|
||
を初期化するための配列初期化子として使用することができます。
|
||
.\" initialized は initializer の typo? (sarumaru 問い合わせ中)
|
||
.\" array initializer に使えるのは OIDX_name な気がする (sarumaru 問い合わせ中)
|
||
他方は
|
||
.Va OIDLEN_ Ns Ar name
|
||
を定義し、OID の長さを含んでいます。
|
||
.Pp
|
||
オプションは次の通りです:
|
||
.Bl -tag -width ".Fl d Ar argument"
|
||
.It Fl h
|
||
短いヘルプページを表示します。
|
||
.It Fl e
|
||
抽出 (extract) モードに入ります。
|
||
.It Fl l
|
||
ローカルプリプロセッサのインクルードを生成します。
|
||
これは、
|
||
.Xr snmpd 1
|
||
のブートストラップで使用されます。
|
||
.It Fl t
|
||
通常の出力の代わりに、結果のツリーを表示します。
|
||
.It Fl p Ar prefix
|
||
.Ar prefix
|
||
をファイル名とテーブル名の前に付けます。
|
||
.El
|
||
.Sh MIB
|
||
MIB 記述ファイルの構文は次のような形式に定められています:
|
||
.Bd -unfilled -offset indent
|
||
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
|
||
.Ed
|
||
.Pp
|
||
.Ar TYPE
|
||
は SNMP データタイプを指定しており、それは次のうちの 1 つです。
|
||
.Bl -bullet -offset indent -compact
|
||
.It
|
||
NULL
|
||
.It
|
||
INTEGER
|
||
.It
|
||
INTEGER32 (INTEGER と同じ)
|
||
.It
|
||
UNSIGNED32 (GAUGE と同じ)
|
||
.It
|
||
OCTETSTRING
|
||
.It
|
||
IPADDRESS
|
||
.It
|
||
OID
|
||
.It
|
||
TIMETICKS
|
||
.It
|
||
COUNTER
|
||
.It
|
||
GAUGE
|
||
.It
|
||
COUNTER64
|
||
.El
|
||
.Pp
|
||
.Ar ACCESS
|
||
は MIB 変数のアクセシビリティ (その操作を実行することができる)
|
||
を指定しており、それは次のうちの 1 つです。
|
||
.Bl -bullet -offset indent -compact
|
||
.It
|
||
GET
|
||
.It
|
||
SET
|
||
.El
|
||
.Pp
|
||
.Ar INT
|
||
は 10 進の整数で、
|
||
.Ar STRING
|
||
は文字かアンダースコアで始まり、
|
||
文字、数値、アンダースコアからなる任意の文字列で、
|
||
キーワードに含まれないものです。
|
||
.Sh 使用例
|
||
次の MIB 記述はシステムグループについて説明しています:
|
||
.Bd -literal -offset indent
|
||
(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)
|
||
))
|
||
)
|
||
)
|
||
)
|
||
)
|
||
.Ed
|
||
.Sh 関連項目
|
||
.Xr snmpd 1
|
||
.Sh 作者
|
||
.An Hartmut Brandt Aq harti@freebsd.org
|