NET-SNMP的 asn 操作接口
/*移植自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);
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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.