什么是.needlength属性用于mib2c?

时间:2017-06-16 17:23:54

标签: perl mib

我正在尝试升级一个旧的.config文件,该文件由mib2c函数用作模板以生成C代码。变量的大部分属性都被描述为here,但我找不到任何关于.needlength的内容。任何想法意味着什么?它可以用记录的另一个属性代替吗?

@if $var.needlength@

1 个答案:

答案 0 :(得分:1)

查看/usr/bin/mib2c中的源代码,我认为needlength唯一出现的地方就是这一行:

$it =~ s/\$(\w+)\.(needlength)/$perltolen{$SNMP::MIB{$vars{$1}}{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@区分需要指定长度的类型与不需要长度的类型。

而且,不,我不认为它可以用其他属性替换。