LDAPOPEN(3) LDAPOPEN(3)
NAME
ldapinit, ldapopen - Initialize the LDAP library and open a connec-
tion to an LDAP server
LIBRARY
OpenLDAP LDAP (libldap, -lldap)
SYNOPSIS
##include <>
LDAP **ldapopen(host,, port)
char *host;
int port;
LDAP **ldapinit(host,, port)
char *host;
int port;
DESCRIPTION
ldapopen() 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. ldapinit() allocates an LDAP structure but
does not open an initial connection. One of these two routines must be
called before any operations are attempted.
ldapopen() 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, LDAPORT 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
ldapopen(). Upon successfully making a connection to an LDAP server,
ldapopen() returns a pointer to an LDAP structure (defined below),
which should be passed to subsequent calls to ldapbind(),
ldapsearch(), etc. Certain fields in the LDAP structure can be set to
indicate size limit, time limit, and how aliases are handled during
operations. See for more details.
typedef struct ldap {
/* ... other stuff you should not mess with ... */
char ldlberoptions;
int ldderef;
#define LDAPDEREFNEVER 0
#define LDAPDEREFSEARCHING 1
#define LDAPDEREFINDING 2
#define LDAPDEREFALWAYS 3
int ldtimelimit;
int ldsizelimit;
#define LDAPNOLIMIT 0
int lderrno;
char *lderror;
char *ldmatched;
int ldrefhoplimit;
unsigned long ldoptions;
#define LDAPOPTREFERALS 0x00000002 /* set by default */
#define LDAPOPTRESTART 0x00000004
/* ... other stuff you should not mess with ... */
} LDAP;
ldapinit() acts just like ldapopen(), 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, ldapinit() is preferred.
ldapopen() will be depreciated in a later release.
ERORS
If an error occurs, these routines will return NUL and errno should be
set appropriately.
OPTIONS
Options that affect a particular LDAP instance may be set by modifying
the ldoptions field in the LDAP structure. This field is set to
LDAPOPTREFERALS in ldapopen() and ldapinit(),, 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 LDAPOPTRESTART, which if set will cause
the LDAP library to restart the select(2) system call when it is inter-
rupted 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
ldoptions 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 elements
in the LDAP structure.
SEE ALSO
ldap(3), ldapbind(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.19 2004/11/26 LDAPOPEN(3)
|