.needlength 属性在 mib2c 中的用途是什么?
What is .needlength attribute is used for in mib2c?
我正在尝试升级一个旧的 .config 文件,该文件被 mib2c 函数用作生成 C 代码的模板。大多数变量的属性都被描述为 here,但我找不到任何关于 .needlength one 的信息。任何想法是什么意思?它可以用另一个记录的属性代替吗?
@if $var.needlength@
查看 /usr/bin/mib2c
中的源代码,我相信 needlength
唯一出现的地方是这一行:
$it =~ s/$(\w+)\.(needlength)/$perltolen{$SNMP::MIB{$vars{}}{type}}/g;
我们有:
%perltolen = ("OCTETSTR", "1",
"INTEGER", "0",
"INTEGER32", "0",
"UNSIGNED32", "0",
"UINTEGER", "0",
"OBJECTID", "1",
"COUNTER64", "0",
"COUNTER", "0",
"IPADDR", "0",
"BITS", "1",
"TICKS", "0",
"GAUGE", "0",
"OPAQUE", "1");
因此,看起来 @if $var.needlength@
区分了需要指定长度的类型和不需要指定长度的类型。
而且,不,我不认为它可以用其他属性代替。
我正在尝试升级一个旧的 .config 文件,该文件被 mib2c 函数用作生成 C 代码的模板。大多数变量的属性都被描述为 here,但我找不到任何关于 .needlength one 的信息。任何想法是什么意思?它可以用另一个记录的属性代替吗?
@if $var.needlength@
查看 /usr/bin/mib2c
中的源代码,我相信 needlength
唯一出现的地方是这一行:
$it =~ s/$(\w+)\.(needlength)/$perltolen{$SNMP::MIB{$vars{}}{type}}/g;
我们有:
%perltolen = ("OCTETSTR", "1",
"INTEGER", "0",
"INTEGER32", "0",
"UNSIGNED32", "0",
"UINTEGER", "0",
"OBJECTID", "1",
"COUNTER64", "0",
"COUNTER", "0",
"IPADDR", "0",
"BITS", "1",
"TICKS", "0",
"GAUGE", "0",
"OPAQUE", "1");
因此,看起来 @if $var.needlength@
区分了需要指定长度的类型和不需要指定长度的类型。
而且,不,我不认为它可以用其他属性代替。