我在 asn.1 源文件(例如 test.asn1)中定义一个结构时遇到问题。
它对协议版本 1 具有以下定义:
PolicyControlDiagnostics ::= ENUMERATED
{
policy (1),
policyControl (2),
policyControlResumed (3)
}
然后我们需要支持版本 2。在协议版本 2 中,一些字段发生了变化,但结构名称保持不变。例如,变量 policy 更改为mytestpolicy
,policyControl 更改为mytestpolicyControl
。PolicyControlDiagnostics
同时,版本 1 和版本 2 中的结构名称相同。
PolicyControlDiagnostics ::= ENUMERATED
{
mytestpolicy (1),
mytestpolicyControl (2),
policyControlResumed (3)
}
当我尝试为 BER 编码生成 C 例程时,解码使用 snac,它抱怨:
file "test.asn1", line 632: ERROR - type PolicyControlDiagnostics is multiply defined.
你能帮我解决这个错误吗?谢谢。