【发布时间】:2017-10-12 12:58:14
【问题描述】:
我想在 asn1c (http://lionet.info/asn1c/blog/) 中使用 CONTAINING。我不知道如何为 CONTAINING 结构赋值。
在我的示例中,我想在 Octasd SEQUENCE 中为版本和 tsapolicy 提供值。我认为我可以像任何其他 asn1 类型一样做到这一点。
其他类型,例如 INTGER,您可以使用函数来赋予值。 我可以用 asn_long2INTEGER 函数给出 contentType 值:
EncapsulatedContentInfo_t *encapcontinfo;
asn_long2INTEGER(&encapcontinfo->contentType, 32);
以代码为例:EncapsulatedContentInfo->eContent.octasd.version 但我没有“看到” octasd 的背后。
有没有办法达到封装的结构?
我的 asn1 的一部分:
EncapsulatedContentInfo ::= SEQUENCE {
contentType INTEGER,
eContent [0] IMPLICIT SEQUENCE {
octasd Octasd
}
}
Octasd ::= OCTET STRING (CONTAINING SEQUENCE {
version INTEGER,
tsapolicy OBJECT IDENTIFIER
} )
任何建议表示赞赏。
【问题讨论】: