ldap_initialize

       open a connection to an LDAP server

LIBRARY
       OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
       #include <ldap.h>

       LDAP *ldap_open(host, port)
       char *host;
       int port;

       LDAP *ldap_init(host, port)
       char *host;
       int port;

       int ldap_initialize(ldp, uri)
       LDAP **ldp;
       char *uri;

       #include <ldap_pvt.h>

       int ldap_init_fd(fd, proto, uri, ldp)
       ber_socket_t fd;
       int proto;
       char *uri;
       LDAP **ldp;

DESCRIPTION
       ldap_open() opens a connection to an LDAP server and allocates an  LDAP
       structure which is used to identify the connection and to maintain per-
       connection information.  ldap_init() allocates an  LDAP  structure  but
       does  not  open  an initial connection.  ldap_initialize() allocates an
       LDAP structure but does not open an initial connection.  ldap_init_fd()
       allocates  an  LDAP  structure using an existing connection on the pro-
       vided socket.  One of these routines must be called before  any  opera-
       tions are attempted.

       ldap_open()  takes  host, the hostname on which the LDAP server is run-
       ning, and port, the port number to which to connect.   If  the  default
       IANA-assigned port of 389 is desired, LDAP_PORT should be specified for
       port.  The host parameter may contain a blank-separated list  of  hosts
       to  try  to  connect  to,  and  each host may optionally by of the form
       host:port.  If present, the  :port  overrides  the  port  parameter  to
       ldap_open().   Upon successfully making a connection to an LDAP server,
       ldap_open() returns a pointer to an opaque LDAP structure, which should
       be  passed to subsequent calls to ldap_bind(), ldap_search(), etc. Cer-
       tain fields in the LDAP structure can be set to  indicate  size  limit,
       time  limit,  and  how  aliases are handled during operations; read and
       write access to those fields must occur by  calling  ldap_get_option(3)
       and ldap_set_option(3) respectively, whenever possible.

       ldap_init()  acts just like ldap_open(), but does not open a connection
       to the LDAP server.  The actual connection open  will  occur  when  the
       ldap_initialize(),  essentially  because the latter allows to specify a
       schema in the URI and it explicitly returns an error code.

       ldap_init_fd() allows an LDAP structure  to  be  initialized  using  an
       already-opened  connection.  The  proto  parameter  should  be  one  of
       LDAP_PROTO_TCP, LDAP_PROTO_UDP,  or  LDAP_PROTO_IPC  for  a  connection
       using TCP, UDP, or IPC, respectively. The value LDAP_PROTO_EXT may also
       be specified if user-supplied sockbuf handlers are going  to  be  used.
       Note  that  support for UDP is not implemented unless libldap was built
       with LDAP_CONNECTIONLESS defined.  The uri parameter may optionally  be
       provided for informational purposes.

       Note:  the first call into the LDAP library also initializes the global
       options for the library. As such  the  first  call  should  be  single-
       threaded or otherwise protected to insure that only one call is active.
       It is recommended that ldap_get_option() or ldap_set_option()  be  used
       in the program's main thread before any additional threads are created.
       See ldap_get_option(3).


ERRORS
       If an error occurs, ldap_open() and ldap_init() will  return  NULL  and
       errno    should    be   set   appropriately.    ldap_initialize()   and
       ldap_init_fd() will directly return the LDAP  code  associated  to  the
       error (or LDAP_SUCCESS in case of success); errno should be set as well
       whenever appropriate.

SEE ALSO
       ldap(3), ldap_bind(3),  ldap_get_option(3),  ldap_set_option(3),  lber-
       sockbuf(3), errno(3)

ACKNOWLEDGEMENTS
       OpenLDAP  Software  is developed and maintained by The OpenLDAP Project
       <http://www.openldap.org/>.  OpenLDAP Software is derived from  Univer-
       sity of Michigan LDAP 3.3 Release.



OpenLDAP 2.4.21                   2009/12/20                      LDAP_OPEN(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2012 Hurricane Electric. All Rights Reserved.