.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@ 区分了需要指定长度的类型和不需要指定长度的类型。

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