lber-types man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

LBER_TYPES(3)					    LBER_TYPES(3)

NAME
       ber_int_t,  ber_uint_t, ber_len_t, ber_slen_t, ber_tag_t -
       LBER types

LIBRARY
       OpenLDAP LBER (liblber, -llber)

SYNOPSIS
       #include <lber.h>

       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_slen_t ber_slen_t;

       typedef struct berval {
	   ber_len_t bv_len;
	   char *bv_val;
       } BerValue, *BerVarray;

       typedef struct berelement BerElement;

       void ber_bvfree(struct berval *bv);

       void ber_bvecfree(struct berval **bvec);

       void  ber_bvecadd(struct	 berval	 ***bvec,  struct  berval
       *bv);

       void ber_bvarray_free(struct berval *bvarray);

       void ber_bvarray_add(BerVarray *bvarray, BerValue *bv);

       struct berval *ber_bvdup(const struct berval *bv);

       struct  berval *ber_dupbv(const struct berval *dst, struct
       berval *src);

       struct berval *ber_bvstr(const char *str);

       struct berval *ber_bvstrdup(const char *str);

       struct berval *ber_str2bv(const char *str, ber_len_t  len,
       int dup, struct berval *bv);

       void ber_free(BerElement *ber, int freebuf);

DESCRIPTION
       The  following  are the basic types and structures defined
       for use with the Lightweight BER library.

       ber_int_t is a signed integer of at least 32 bits.  It  is
       commonly	 equivalent  to	 int.  ber_uint_t is the unsigned
       variant of ber_int_t.

       ber_len_t is an unsigned integer of at least 32 bits  used
       to  represent  a	 length.   It is commonly equivalent to a
       size_t.	ber_slen_t is the signed variant to ber_len_t.

       ber_tag_t is an unsigned integer of at least 32 bits  used
       to  represent  a	 BER tag.  It is commonly equivalent to a
       unsigned long.

       The actual definitions of the integral  impl_TYPE_t  types
       are platform specific.

       BerValue,  commonly used as struct berval, is used to hold
       an arbitrary sequence of octets.	 bv_val points to  bv_len
       octets.	 bv_val	 is  not  necessarly  terminated by a NUL
       (zero) octet.  ber_bvfree() frees a BerValue,  pointed  to
       by bv, returned from this API.  If bv is NULL, the routine
       does nothing.

       ber_bvecfree()  frees  an  array	 of  BerValues	(and  the
       array),	pointed	 to  by bvec, returned from this API.  If
       bvec is NULL, the  routine  does	 nothing.   ber_bvecadd()
       appends	the  bv pointer to the bvec array.  Space for the
       array is allocated as needed.  The end  of  the	array  is
       marked by a NULL pointer.

       ber_bvarray_free()  frees  an  array of BerValues (and the
       array), pointed to by bvarray, returned from this API.  If
       bvarray	is  NULL,  the	routine	 does nothing.	ber_bvar-
       ray_add() appends the contents of the BerValue pointed  to
       by  bv to the bvarray array.  Space for the new element is
       allocated as needed.  The end of the array is marked by	a
       BerValue with a NULL bv_val field.

       ber_bvdup()  returns  a	copy  of a BerValue.  The routine
       returns NULL upon error (e.g. out of memory).  The  caller
       should	use  ber_bvfree()  to  deallocate  the	resulting
       BerValue.  ber_dupbv() copies a BerValue from src to  dst.
       If  dst	is  NULL a new BerValue will be allocated to hold
       the copy.  The routine returns NULL upon error,	otherwise
       it  returns  a  pointer	to  the copy.  If dst is NULL the
       caller should use ber_bvfree() to deallocate the resulting
       BerValue,  otherwise ber_memfree() should be used to deal-
       locate the  dst->bv_val.	  (The	ber_bvdup()  function  is
       internally    implemented    as	  ber_dupbv(NULL,    bv).
       ber_bvdup() is provided only  for  compatibility	 with  an
       expired	draft  of the LDAP C API; ber_dupbv() is the pre-
       ferred interface.)

       ber_bvstr()  returns  a	BerValue  containing  the  string
       pointed to by str.  ber_bvstrdup() returns a BerValue con-
       taining	a  copy	 of  the  string  pointed  to	by   str.
       ber_str2bv()  returns  a	 BerValue  containing  the string
       pointed to by str, whose length may be  optionally  speci-
       fied  in	 len.  If dup is non-zero, the BerValue will con-
       tain a copy of str.  If len is zero, the number	of  bytes
       to  copy	 will  be  determined by strlen(3), otherwise len
       bytes will be copied.  If bv is non-NULL, the result  will
       be  stored in the given BerValue, otherwise a new BerValue
       will  be	 allocated  to	store  the  result.   NOTE:  Both
       ber_bvstr()  and	 ber_bvstrdup() are implemented as macros
       using ber_str2bv() in this version of the library.

       BerElement is an opaque structure used to  maintain  state
       information  used  in  encoding	and decoding.  BerElement
       structures   are	  created   using   ber_alloc_t(3)    and
       ber_init(3).   ber_free() frees a BerElement pointed to by
       ber.  If ber is NULL, the routine does nothing.	If  free-
       buf is zero, the internal buffer is not freed.

SEE ALSO
       lber-encode(3), lber-decode(3), lber-memory(3)

ACKNOWLEDGEMENTS
       OpenLDAP	 is developed and maintained by The OpenLDAP Pro-
       ject (http://www.openldap.org/).	 OpenLDAP is derived from
       University of Michigan LDAP 3.3 Release.

OpenLDAP LDVERSION	   RELEASEDATE		    LBER_TYPES(3)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net