asn1\_get\_length\_ber(3) libtasn1 asn1\_get\_length\_ber(3)

# [NAME](#NAME)

asn1\_get\_length\_ber - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;libtasn1.h&gt;**

**long asn1\_get\_length\_ber(const unsigned char * ber, int ber\_len, int * len);**

# [ARGUMENTS](#ARGUMENTS)

[const unsigned char * ber](#const)

BER data to decode.

[int ber\_len](#int)

Length of BER data to decode.

[int * len](#int~2)

Output variable containing the length of the BER length field.

# [DESCRIPTION](#DESCRIPTION)

Extract a length field from BER data. The difference to **asn1\_get\_length\_der()** is that this function will return a length even if the value has indefinite encoding.

# [RETURNS](#RETURNS)

Return the decoded length value, or negative value when the value was too big.

# [SINCE](#SINCE)

2.0

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2006-2025 Free Software Foundation, Inc..  
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

# [SEE ALSO](#SEE_ALSO)

The full documentation for **libtasn1** is maintained as a Texinfo manual. If the **info** and **libtasn1** programs are properly installed at your site, the command

**info libtasn1**

should give you access to the complete manual. As an alternative you may obtain the manual from:

**https://www.gnu.org/software/libtasn1/manual/**

4.21.0 libtasn1

---

Document: asn1_get_length_ber(3) from libtasn1 4.21.0-r7 (Chainguard OS)
Source: https://gitlab.com/gnutls/libtasn1
