My fork of the HTTPServer (working)

Dependents:   DGWWebServer LAN2

Embed: (wiki syntax)

« Back to documentation index

asn1_enc.c File Reference

asn1_enc.c File Reference

Abstract Syntax Notation One (ISO 8824, 8825) encoding. More...

Go to the source code of this file.

Functions

void snmp_asn1_enc_length_cnt (u16_t length, u8_t *octets_needed)
 Returns octet count for length.
void snmp_asn1_enc_u32t_cnt (u32_t value, u16_t *octets_needed)
 Returns octet count for an u32_t.
void snmp_asn1_enc_s32t_cnt (s32_t value, u16_t *octets_needed)
 Returns octet count for an s32_t.
void snmp_asn1_enc_oid_cnt (u8_t ident_len, s32_t *ident, u16_t *octets_needed)
 Returns octet count for an object identifier.
err_t snmp_asn1_enc_type (struct pbuf *p, u16_t ofs, u8_t type)
 Encodes ASN type field into a pbuf chained ASN1 msg.
err_t snmp_asn1_enc_length (struct pbuf *p, u16_t ofs, u16_t length)
 Encodes host order length field into a pbuf chained ASN1 msg.
err_t snmp_asn1_enc_u32t (struct pbuf *p, u16_t ofs, u8_t octets_needed, u32_t value)
 Encodes u32_t (counter, gauge, timeticks) into a pbuf chained ASN1 msg.
err_t snmp_asn1_enc_s32t (struct pbuf *p, u16_t ofs, u8_t octets_needed, s32_t value)
 Encodes s32_t integer into a pbuf chained ASN1 msg.
err_t snmp_asn1_enc_oid (struct pbuf *p, u16_t ofs, u8_t ident_len, s32_t *ident)
 Encodes object identifier into a pbuf chained ASN1 msg.
err_t snmp_asn1_enc_raw (struct pbuf *p, u16_t ofs, u8_t raw_len, u8_t *raw)
 Encodes raw data (octet string, opaque) into a pbuf chained ASN1 msg.

Detailed Description

Abstract Syntax Notation One (ISO 8824, 8825) encoding.

Definition in file asn1_enc.c.


Function Documentation

err_t snmp_asn1_enc_length ( struct pbuf *  p,
u16_t  ofs,
u16_t  length 
)

Encodes host order length field into a pbuf chained ASN1 msg.

Parameters:
ppoints to output pbuf to encode length into
ofspoints to the offset within the pbuf chain
lengthis the host order length to be encoded
Returns:
ERR_OK if successfull, ERR_ARG if we can't (or won't) encode

Definition at line 213 of file asn1_enc.c.

void snmp_asn1_enc_length_cnt ( u16_t  length,
u8_t *  octets_needed 
)

Returns octet count for length.

Parameters:
length
octets_neededpoints to the return value

Definition at line 50 of file asn1_enc.c.

err_t snmp_asn1_enc_oid ( struct pbuf *  p,
u16_t  ofs,
u8_t  ident_len,
s32_t *  ident 
)

Encodes object identifier into a pbuf chained ASN1 msg.

Parameters:
ppoints to output pbuf to encode oid into
ofspoints to the offset within the pbuf chain
ident_lenobject identifier array length
identpoints to object identifier array
Returns:
ERR_OK if successfull, ERR_ARG if we can't (or won't) encode

Definition at line 438 of file asn1_enc.c.

void snmp_asn1_enc_oid_cnt ( u8_t  ident_len,
s32_t *  ident,
u16_t *  octets_needed 
)

Returns octet count for an object identifier.

Parameters:
ident_lenobject identifier array length
identpoints to object identifier array
octets_neededpoints to the return value

Definition at line 142 of file asn1_enc.c.

err_t snmp_asn1_enc_raw ( struct pbuf *  p,
u16_t  ofs,
u8_t  raw_len,
u8_t *  raw 
)

Encodes raw data (octet string, opaque) into a pbuf chained ASN1 msg.

Parameters:
ppoints to output pbuf to encode raw data into
ofspoints to the offset within the pbuf chain
raw_lenraw data length
rawpoints raw data
Returns:
ERR_OK if successfull, ERR_ARG if we can't (or won't) encode

Definition at line 562 of file asn1_enc.c.

err_t snmp_asn1_enc_s32t ( struct pbuf *  p,
u16_t  ofs,
u8_t  octets_needed,
s32_t  value 
)

Encodes s32_t integer into a pbuf chained ASN1 msg.

Parameters:
ppoints to output pbuf to encode value into
ofspoints to the offset within the pbuf chain
octets_neededencoding length (from snmp_asn1_enc_s32t_cnt())
valueis the host order s32_t value to be encoded
Returns:
ERR_OK if successfull, ERR_ARG if we can't (or won't) encode
See also:
snmp_asn1_enc_s32t_cnt()

Definition at line 384 of file asn1_enc.c.

void snmp_asn1_enc_s32t_cnt ( s32_t  value,
u16_t *  octets_needed 
)

Returns octet count for an s32_t.

Parameters:
value
octets_neededpoints to the return value
Note:
ASN coded integers are _always_ signed.

Definition at line 110 of file asn1_enc.c.

err_t snmp_asn1_enc_type ( struct pbuf *  p,
u16_t  ofs,
u8_t  type 
)

Encodes ASN type field into a pbuf chained ASN1 msg.

Parameters:
ppoints to output pbuf to encode value into
ofspoints to the offset within the pbuf chain
typeinput ASN1 type
Returns:
ERR_OK if successfull, ERR_ARG if we can't (or won't) encode

Definition at line 181 of file asn1_enc.c.

err_t snmp_asn1_enc_u32t ( struct pbuf *  p,
u16_t  ofs,
u8_t  octets_needed,
u32_t  value 
)

Encodes u32_t (counter, gauge, timeticks) into a pbuf chained ASN1 msg.

Parameters:
ppoints to output pbuf to encode value into
ofspoints to the offset within the pbuf chain
octets_neededencoding length (from snmp_asn1_enc_u32t_cnt())
valueis the host order u32_t value to be encoded
Returns:
ERR_OK if successfull, ERR_ARG if we can't (or won't) encode
See also:
snmp_asn1_enc_u32t_cnt()

Definition at line 308 of file asn1_enc.c.

void snmp_asn1_enc_u32t_cnt ( u32_t  value,
u16_t *  octets_needed 
)

Returns octet count for an u32_t.

Parameters:
value
octets_neededpoints to the return value
Note:
ASN coded integers are _always_ signed. E.g. +0xFFFF is coded as 0x00,0xFF,0xFF. Note the leading sign octet. A positive value of 0xFFFFFFFF is preceded with 0x00 and the length is 5 octets!!

Definition at line 77 of file asn1_enc.c.