鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

ASN1编解码接口

BER编码接口

表1 BER编码接口定义

名称

定义

描述

AsnBerEncodeBool

void AsnBerEncodeBool(const AsnDesc * desc, void* stru, AsnCtx* ctx);

编码BOOL类型数据。

AsnBerEncodeInt32

void AsnBerEncodeInt32(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码int32范围内的INTEGER类型数据。

AsnBerEncodeUint32

void AsnBerEncodeUint32(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码uint32范围内的INTEGER类型数据。

AsnBerEncodeInt64

void AsnBerEncodeInt64(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码int64范围内的INTEGER类型数据。

AsnBerEncodeUint64

void AsnBerEncodeUint64(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码uint64范围内的INTEGER类型数据。

AsnBerEncodeEnum

void AsnBerEncodeEnum(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码ENUMERATED类型数据。

AsnBerEncodeNull

void AsnBerEncodeNull(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码NULL类型数据。

AsnBerEncodeReal

void AsnBerEncodeReal(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码REAL类型数据。

AsnBerEncodeBitStringInt

void AsnBerEncodeBitStringInt(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码BIT STRING类型数据,用于整型类型结构。

AsnBerEncodeBitStringArr

void AsnBerEncodeBitStringArr(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码BIT STRING类型数据,用于数组类型结构。

AsnBerEncodeOctStringInt

void AsnBerEncodeOctStringInt(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码OCT STRING类型数据,用于整型类型结构。

AsnBerEncodeOctStringArr

void AsnBerEncodeOctStringArr(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码OCTET STRING类型数据,用于数组类型结构。

AsnBerEncodeCharString

void AsnBerEncodeCharString(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码字符串类型数据,支持PrintableString/IA5String/VisibleString/GeneralString/UTF8String。

AsnBerEncodeSequence

void AsnBerEncodeSequence(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码SEQUENCE类型数据。

AsnBerEncodeList

void AsnBerEncodeList(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码SEQUENCE OF类型数据。

AsnBerEncodeChoice

void AsnBerEncodeChoice(const AsnDesc* desc, void* stru, AsnCtx* ctx);

编码CHOICE类型数据。

BER解码接口

表2 BER解码接口定义

名称

定义

描述

AsnBerDecodeBool

void AsnBerDecodeBool(const AsnDesc * desc, void* stru, AsnCtx* ctx);

解码BOOL类型数据。

AsnBerDecodeInt32

void AsnBerDecodeInt32(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码int32范围内的INTEGER类型数据。

AsnBerDecodeUint32

void AsnBerDecodeUint32(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码uint32范围内的INTEGER类型数据。

AsnBerDecodeInt64

void AsnBerDecodeInt64(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码int64范围内的INTEGER类型数据。

AsnBerDecodeUint64

void AsnBerDecodeUint64(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码uint64范围内的INTEGER类型数据。

AsnBerDecodeEnum

void AsnBerDecodeEnum(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码ENUMERATED类型数据。

AsnBerDecodeNull

void AsnBerDecodeNull(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码NULL类型数据。

AsnBerDecodeReal

void AsnBerDecodeReal(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码REAL类型数据。

AsnBerDecodeBitStringInt

void AsnBerDecodeBitStringInt(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码BIT STRING类型数据,用于整型类型结构。

AsnBerDecodeBitStringArr

void AsnBerDecodeBitStringArr(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码BIT STRING类型数据,用于数组类型结构。

AsnBerDecodeOctStringInt

void AsnBerDecodeOctStringInt(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码OCT STRING类型数据,用于整型类型结构。

AsnBerDecodeOctStringArr

void AsnBerDecodeOctStringArr(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码OCTET STRING类型数据,用于数组类型结构。

AsnBerDecodeCharString

void AsnBerDecodeCharString(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码字符串类型数据,支持PrintableString/IA5String/VisibleString/GeneralString/UTF8String。

AsnBerDecodeSequence

void AsnBeDecodeSequence(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码SEQUENCE类型数据。

AsnBerDecodeList

void AsnBerDecodeList(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码SEQUENCE OF类型数据。

AsnBerDecodeChoice

void AsnBerDecodeChoice(const AsnDesc* desc, void* stru, AsnCtx* ctx);

解码CHOICE类型数据。

PER编码接口

表3 PER编码接口定义

名称

定义

描述

AsnPerEncodeInt

void AsnPerEncodeInt(const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有符号的约束整数。

AsnPerEncodeUint

void AsnPerEncodeUint (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码无符号的约束整数。

AsnPerEncodeIntUc

void AsnPerEncodeIntUc (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码无约束整数。

AsnPerEncodeIntSc

void AsnPerEncodeIntSc (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码半约束整数。

AsnPerEncodeIntExt

void AsnPerEncodeIntExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有扩展标记的约束整数。

AsnPerEncodeBool

void AsnPerEncodeBool (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码BOOL类型数据。

AsnPerEncodeEnum

void AsnPerEncodeEnum (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码无扩展标记的ENUMERATED类型数据。

AsnPerEncodeEnumExt

void AsnPerEncodeEnumExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有扩展标记的ENUMERATED类型数据。

AsnPerEncodeReal

void AsnPerEncodeReal (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码REAL类型数据。

AsnPerEncodeNull

void AsnPerEncodeNull (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码NULL类型数据。

AsnPerEncodeBitString

void AsnPerEncodeBitString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有约束的BIT STRING数据。

AsnPerEncodeBitStringEq

void AsnPerEncodeBitStringEq (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码BIT STRING数据,上下限存在且相等场景。

AsnPerEncodeOctString

void AsnPerEncodeOctString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有约束的OCTET STRING数据。

AsnPerEncodeOctStringEq

void AsnPerEncodeOctStringEq (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码OCTET STRING数据,上下限存在且相等场景。

AsnPerEncodeCharStrKnownMulti

void AsnPerEncodeCharStrKnownMulti (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码已知乘数字符串类型数据。

AsnPerEncodeCharStrOthers

void AsnPerEncodeCharStrOthers (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码其他字符串类型数据。

AsnPerEncodeSequence

void AsnPerEncodeSequence (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码无扩展标记的SEQUENCE类型数据。

AsnPerEncodeSequenceExt

void AsnPerEncodeSequenceExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有扩展标记的SEQUENCE类型数据。

AsnPerEncodeList

void AsnPerEncodeList (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码SEQUENCE OF类型数据。

AsnPerEncodeChoice

void AsnPerEncodeChoice (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码无扩展标记的CHOICE类型数据。

AsnPerEncodeChoiceExt

void AsnPerEncodeChoiceExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码有扩展标记的CHOICE类型数据。

AsnPerEncodeObjectIdentifier

void AsnPerEncodeObjectIdentifier (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码OBJECT IDENTIFIER数据。

PER解码接口

表4 PER解码接口定义

名称

定义

描述

AsnPerDecodeInt

void AsnPerDecodeInt(const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有符号的约束整数。

AsnPerDecodeUint

void AsnPerDecodeUint (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码无符号的约束整数。

AsnPerDecodeIntUc

void AsnPerDecodeIntUc (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码无约束整数。

AsnPerDecodeIntSc

void AsnPerDecodeIntSc (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码半约束整数。

AsnPerDecodeIntExt

void AsnPerDecodeIntExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有扩展标记的约束整数。

AsnPerDecodeBool

void AsnPerDecodeBool (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码BOOL类型数据。

AsnPerDecodeEnum

void AsnPerDecodeEnum (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码无扩展标记的ENUMERATED类型数据。

AsnPerDecodeEnumExt

void AsnPerDecodeEnumExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有扩展标记的ENUMERATED类型数据。

AsnPerDecodeReal

void AsnPerDecodeReal (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码REAL类型数据。

AsnPerDecodeNull

void AsnPerDecodeNull (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码NULL类型数据。

AsnPerDecodeBitString

void AsnPerDecodeBitString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有约束的BIT STRING数据。

AsnPerDecodeBitStringEq

void AsnPerDecodeBitStringEq (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码BIT STRING数据,上下限存在且相等场景。

AsnPerDecodeOctString

void AsnPerDecodeOctString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有约束的OCTET STRING数据。

AsnPerDecodeOctStringEq

void AsnPerDecodeOctStringEq (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码OCTET STRING数据,上下限存在且相等场景。

AsnPerDecodeCharStrKnownMulti

void AsnPerDecodeCharStrKnownMulti (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码已知乘数字符串类型数据。

AsnPerDecodeCharStrOthers

void AsnPerDecodeCharStrOthers (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码其他字符串类型数据。

AsnPerDecodeSequence

void AsnPerDecodeSequence (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码无扩展标记的SEQUENCE类型数据。

AsnPerDecodeSequenceExt

void AsnPerDecodeSequenceExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有扩展标记的SEQUENCE类型数据。

AsnPerDecodeList

void AsnPerDecodeList (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码SEQUENCE OF类型数据。

AsnPerDecodeChoice

void AsnPerDecodeChoice (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码无扩展标记的CHOICE类型数据。

AsnPerDecodeChoiceExt

void AsnPerDecodeChoiceExt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码有扩展标记的CHOICE类型数据。

AsnPerDecodeObjectIdentifier

void AsnPerDecodeObjectIdentifier (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码OBJECT IDENTIFIER数据。

XER编码接口

表5 XER编码接口定义

名称

定义

描述

AsnXerEncodeBool

void AsnXerEncodeBool (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码BOOLEAN类型数据。

AsnXerEncodeUint

void AsnXerEncodeUint (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码INTEGER类型(无符号)数据。

AsnXerEncodeInt

void AsnXerEncodeInt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码INTEGER类型(有符号)数据。

AsnXerEncodeEnum

void AsnXerEncodeEnum (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码ENUMERATED类型数据。

AsnXerEncodeReal

void AsnXerEncodeReal (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码REAL类型数据。

AsnXerEncodeBitString

void AsnXerEncodeBitString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码BIT STRING类型数据。

AsnXerEncodeOctString

void AsnXerEncodeOctString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码OCTET STRING类型数据。

AsnXerEncodeCharString

void AsnXerEncodeCharString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码CHARACTER STRING类型数据。

AsnXerEncodeNull

void AsnXerEncodeNull (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码NULL类型数据。

AsnXerEncodeSequence

void AsnXerEncodeSequence (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码SEQUENCE类型数据。

AsnXerEncodeChoice

void AsnXerEncodeChoice (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码CHOICE类型数据。

AsnXerEncodeList

void AsnXerEncodeList (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码SEQUENCE OF类型数据。

AsnXerEncodeObjectIdentifier

void AsnXerEncodeObjectIdentifier (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

编码OBJECT IDENTIFIER类型数据。

XER解码接口

表6 XER解码接口定义

名称

定义

描述

AsnXerDecodeBool

void AsnXerDecodeBool (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码BOOLEAN类型数据。

AsnXerDecodeUint

void AsnXerDecodeUint (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码INTEGER类型(无符号)数据。

AsnXerDecodeInt

void AsnXerDecodeInt (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码INTEGER类型(有符号)数据。

AsnXerDecodeEnum

void AsnXerDecodeEnum (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码ENUMERATED类型数据。

AsnXerDecodeReal

void AsnXerDecodeReal (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码REAL类型数据。

AsnXerDecodeBitString

void AsnXerDecodeBitString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码BIT STRING类型数据。

AsnXerDecodeOctString

void AsnXerDecodeOctString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码OCTET STRING类型数据。

AsnXerDecodeCharString

void AsnXerDecodeCharString (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码CHARACTER STRING类型数据。

AsnXerDecodeNull

void AsnXerDecodeNull (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码NULL类型数据。

AsnXerDecodeSequence

void AsnXerDecodeSequence (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码SEQUENCE类型数据。

AsnXerDecodeChoice

void AsnXerDecodeChoice (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码CHOICE类型数据。

AsnXerDecodeList

void AsnXerDecodeList (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码SEQUENCE OF类型数据。

AsnXerDecodeObjectIdentifier

void AsnXerDecodeObjectIdentifier (const AsnDesc *desc, const void *stru, AsnCtx *ctx);

解码OBJECT IDENTIFIER类型数据。