ldap_open(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
LDAP_OPEN(3)                                                      LDAP_OPEN(3)




NAME
ldap_init, ldap_initialize, ldap_open - Initialize the LDAP library and 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 first operation is attempted. ldap_initialize() acts like ldap_init(), but it returns an integer indicating either success or the failure reason, and it allows to spec- ify details for the connection in the schema portion of the URI. At this time, ldap_open() and ldap_init() are deprecated in favor of 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.11 2008/07/16 LDAP_OPEN(3)
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.