ldap_open

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
LDAP_OPEN(3)							 LDAP_OPEN(3)



NAME
       ldap_init,  ldap_open - Initialize the LDAP library and open a connec-
       tion 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;

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.  One of these two routines
       must be called before any operations 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 LDAP structure (defined below),
       which  should  be  passed  to   subsequent   calls   to	 ldap_bind(),
       ldap_search(), etc. Certain fields in the LDAP structure can be set to
       indicate size limit, time limit, and how aliases	 are  handled  during
       operations.  See <ldap.h> for more details.

	    typedef struct ldap {
		 /* ... other stuff you should not mess with ... */
		 char	   ld_lberoptions;
		 int	   ld_deref;
	    #define LDAP_DEREF_NEVER 0
	    #define LDAP_DEREF_SEARCHING  1
	    #define LDAP_DEREF_FINDING	  2
	    #define LDAP_DEREF_ALWAYS	  3
		 int	   ld_timelimit;
		 int	   ld_sizelimit;
	    #define LDAP_NO_LIMIT	  0
		 int	   ld_errno;
		 char	   *ld_error;
		 char	   *ld_matched;
		 int	   ld_refhoplimit;
		 unsigned long	ld_options;
	    #define LDAP_OPT_REFERRALS	    0x00000002 /* set by default */
	    #define LDAP_OPT_RESTART 0x00000004
		 /* ... other stuff you should not mess with ... */
	    } LDAP;

       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
       first operation is attempted.  At this time, ldap_init() is preferred.
       ldap_open() will be depreciated in a later release.

ERRORS
       If an error occurs, these routines will return NULL and	errno  should
       be set appropriately.

OPTIONS
       Options that affect a particular LDAP instance may be set by modifying
       the ld_options field in the LDAP structure.   This  field  is  set  to
       LDAP_OPT_REFERRALS  in  ldap_open()  and ldap_init(), which causes the
       library to automatically follow referrals to other servers that may be
       returned in response to an LDAP operation.

       The  other  supported  option  is  LDAP_OPT_RESTART, which if set will
       cause the LDAP library to restart the select(2) system call when it is
       interrupted  by the system (i.e., errno is set to EINTR).  This option
       is not supported on the Macintosh and under MS-DOS.

       An option can be turned off by clearing the  appropriate	 bit  in  the
       ld_options field.

NOTES
       There  are  other  elements  in the LDAP structure that you should not
       change. You should not make any assumptions about the  order  of	 ele-
       ments in the LDAP structure.

SEE ALSO
       ldap(3), ldap_bind(3), errno(3)

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



OpenLDAP 2.2.13			  2004/06/10			 LDAP_OPEN(3)