-.TH LBER_TYPES 3 "22 July 2001" "OpenLDAP LDVERSION"
+.TH LBER_TYPES 3 "29 August 2001" "OpenLDAP LDVERSION"
.\" $OpenLDAP$
.\" Copyright 1998-2000 The OpenLDAP Foundation All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.SH NAME
-ber_int_t, ber_len_t, ber_tag_t \- LBER types
+ber_int_t, ber_uint_t, ber_len_t, ber_slen_t, ber_tag_t \- LBER types
.SH SYNOPSIS
.nf
.ft B
.LP
.nf
.ft B
+typedef impl_tag_t ber_tag_t;
typedef impl_int_t ber_int_t;
+typedef impl_uint_t ber_uint_t;
typedef impl_len_t ber_len_t;
-typedef impl_tag_t ber_tag_t;
+typedef impl_slen_t ber_slen_t;
+
+typedef struct berval {
+ ber_len_t bv_len;
+ char *bv_val;
+} BerValue;
+
+typedef struct berelement BerElement;
.ft
.fi
.SH DESCRIPTION
.B ber_int_t
is a signed integer of at least 32 bits. It is commonly equivalent to
.BR int .
+.B ber_uint_t
+is the unsigned variant of
+.BR ber_int_t .
.LP
.B ber_len_t
is a unsigned integer of at least 32 bits used to represent a length.
It is commonly equivalent to a
.BR size_t .
+.B ber_slen_t
+is the signed variant to
+.BR ber_len_t .
.LP
.B ber_tag_t
is a unsigned integer of at least 32 bits used to represent a
BER tag. It is commonly equivalent to a
.BR unsigned\ long .
+.LP
+The actual definitions of the integal impl_TYPE_t types are platform
+specific.
+.LP
+.BR BerValue ,
+commonly used as
+.BR struct\ berval ,
+is used to holds an arbitrary sequence of octets.
+.B bv_val
+points to
+.B bv_len
+octets.
+.B bv_val
+is not necessarly terminated by a NULL (zero) octet.
+.LP
+.B BerElement
+is an opaque structure used to hold state information for LBER encoding
+and decoding routines.
.SH SEE ALSO
.BR lber-encode (3)
.BR lber-decode (3)