Lines Matching defs:tlv
53 * @param tlv TLV to encode
57 snmp_ans1_enc_tlv(struct snmp_pbuf_stream *pbuf_stream, struct snmp_asn1_tlv *tlv)
63 if ((tlv->type & SNMP_ASN1_DATATYPE_MASK) == SNMP_ASN1_DATATYPE_EXTENDED) {
67 if (tlv->type_len != 0) {
72 PBUF_OP_EXEC(snmp_pbuf_stream_write(pbuf_stream, tlv->type));
73 tlv->type_len = 1;
76 if (tlv->value_len <= 127) {
78 } else if (tlv->value_len <= 255) {
85 if (tlv->length_len > 0) {
86 if (tlv->length_len < length_bytes_required) {
91 length_bytes_required = tlv->length_len;
93 tlv->length_len = length_bytes_required;
106 data = (u8_t)(tlv->value_len >> 8);
118 data = (u8_t)(tlv->value_len & 0xFF);
352 * @param tlv returns decoded TLV
356 snmp_asn1_dec_tlv(struct snmp_pbuf_stream *pbuf_stream, struct snmp_asn1_tlv *tlv)
362 tlv->type = data;
364 if ((tlv->type & SNMP_ASN1_DATATYPE_MASK) == SNMP_ASN1_DATATYPE_EXTENDED) {
368 tlv->type_len = 1;
374 tlv->length_len = 1;
375 tlv->value_len = data;
381 tlv->length_len = length_bytes + 1; /* this byte + defined number of length bytes following */
382 tlv->value_len = 0;
386 if (tlv->value_len > 0xFF) {
390 tlv->value_len <<= 8;
391 tlv->value_len |= data;
394 if (tlv->value_len == 0xFFFF) {