---
title: 数据结构
description: "ASN.1数据描述符。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_ksl_16_0160.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_ksl_16_0160.html
indexId: 9f40c69b1cd7dc39f961972a6be4c53661c11996d726019a902593056c9cdc1f76
---
# 数据结构

#### AsnDesc

ASN.1数据描述符。

```
typedef struct AsnDesc {
uint16_t id; /* 描述符的唯一索引 */
uint16_t attrs; /* 类型属性（bitmap形式），见#AsnDescAttr */
uint16_t limit; /* 定制上界（不同于协议约束，该值是人为指定的） */
uint16_t nmem; /* 成员总个数 */
uint8_t extNum; /* 扩展成员个数 */
AsnDescInfo i; /* information */
size_t size; /* 该类型成员大小 */
AsnDescMember m; /* 成员列表 */
void *trap;
AsnDescConstrains cstr; /* 约束 */
AsnLocalTag localTag; /* 局部标签信息 */
AsnBuiltinType asn1type;
CodecAction enc; /* 编码函数 */
CodecAction dec; /* 解码函数 */
} AsnDescriptor;
```


#### Asn1EncodeBufStru

编码缓冲区结构体。

```
typedef struct {
uint32_t bufLen; /* 缓冲区的长度（单位：byte） */
uint8_t *buf; /* 缓冲区的起始地址 */
uint32_t bitIdx; /* 游标比特位置 */
} Asn1EncodeBufStru;
```


#### AsnCtx

```
typedef struct {
Asn1EncodeBufStru *buf; /* 编解码缓冲区 */
uint32_t ret; /* 返回值 */
} AsnCtx;
```
