NET-SNMP的 asn 操作接口

本文介绍了一组移植自net-snmp项目的API接口,这些接口主要用于ASN.1数据类型的解析和构建,包括整数、字符串、对象标识符等多种类型的数据处理函数。对于从事网络管理和协议开发的技术人员来说,这些API提供了底层数据交互的支持。
 /*移植自net-snmp的api接口*/
int           asn_check_packet(uchar *pkt, size_t len);
uchar         *asn_parse_int(uchar *data, size_t *datalength, uchar *type, long *intp,
                              size_t intsize);
uchar         *asn_build_int(uchar *data, size_t *datalength, uchar type, long *intsize,
                              size_t);
uchar         *asn_parse_unsigned_int(uchar *data, size_t *datalength, uchar *type,
                                       ulong *intp, size_t intsize);
uchar         *asn_build_unsigned_int(uchar *data, size_t *datalength, uchar type,
                                       ulong *intp, size_t intsize);
uchar         *asn_parse_string(uchar *data, size_t *datalength, uchar *type,
                                 uchar *string, size_t *strlength);
uchar         *asn_build_string(uchar *data, size_t *datalength, uchar type,
                                 const uchar *string, size_t strlength);
uchar         *asn_parse_header(uchar *data, size_t *datalength, uchar *type);
uchar         *asn_parse_sequence(uchar *data, size_t *datalength, uchar *type, uchar expected_type,      /* must be this type */
                                   const char *estr);       /* error message prefix */
uchar         *asn_build_header(uchar *data, size_t *datalength, uchar type, size_t length);
uchar         *asn_build_sequence(uchar *data, size_t *datalength, uchar type, size_t length);
uchar         *asn_parse_length(uchar *data, ulong *length);
uchar         *asn_build_length(uchar *data, size_t *datalength, size_t length);
uchar         *asn_parse_objid(uchar *data, size_t *datalength, uchar *type, ulong *objid,
                                size_t *objidlength);
uchar         *asn_build_objid(uchar *data, size_t *datalength, uchar type, ulong *objid,
                                size_t objidlength);
uchar         *asn_parse_null(uchar *data, size_t *datalength, uchar *type);
uchar         *asn_build_null(uchar *data, size_t *datalength, uchar type);
uchar         *asn_parse_bitstring(uchar *data, size_t *datalength, uchar *type,
                                    uchar *string, size_t *strlength);
uchar         *asn_build_bitstring(uchar *data, size_t *datalength, uchar type,
                                    uchar *string, size_t strlength);
uchar         *asn_parse_unsigned_int64(uchar *data, size_t *datalength, uchar *type,
                                         struct counter64 *cp, size_t countersize);
uchar         *asn_build_unsigned_int64(uchar *data, size_t *datalength, uchar type,
                                         struct counter64 *cp, size_t countersize);
uchar         *asn_parse_signed_int64(uchar *data, size_t *datalength, uchar *type,
                                       struct counter64 *cp, size_t countersize);
uchar         *asn_build_signed_int64(uchar *data, size_t *datalength, uchar type,
                                       struct counter64 *cp, size_t countersize);
uchar         *asn_build_float(uchar *data, size_t *datalength, uchar type, float *,
                                size_t);
uchar         *asn_parse_float(uchar *data, size_t *datalength, uchar *type, float *floatp,
                                size_t floatsize);
uchar         *asn_build_double(uchar *data, size_t *datalength, uchar type, double *doublep,
                                 size_t doublesize);
uchar         *asn_parse_double(uchar *data, size_t *datalength, uchar *type,
                                 double *doublep, size_t doublesize);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值