If I provide the output buffer for the encoder, the value field of the ossbuf returned has a different address, why?

If you provide the output buffer for the encoder, then whether the encoder changes the value field of the instance of OssBuf depends on which encoding rules you use.

In PER, the value field is never changed.

In BER and in DER, it changes it by default (BACK_ALIGN & DEFINITE length case) to point to the beginning of the encoded PDU. So in general the provided buffer start address will not be the same as that returned in the value field. Only if you pass FRONT_ALIGN or INDEFINITE, will the value field be the same as the start address of the buffer provided.

The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.

Contact Support
contact Our office hours
24 hours/day, 7 days/week

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email: support@oss.com
Free Trial

Test drive the OSS Nokalva ASN.1, LTE, and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.

Learn ASN.1
Learn ASN.1

Our expert personnel can help you learn ASN.1!

We offer 4-day ASN.1 courses at our headquarters or your premises.