ldap_init(3)
LDAP_OPEN(3) C LIBRARY FUNCTIONS LDAP_OPEN(3)
NAME
ldap_init, 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;
DESCRIPTION
ldap_open() opens a connection to an LDAP server and allo-
cates an LDAP structure which is used to identify the con-
nection 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 running, 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 parame-
ter 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 subse-
quent 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 opera-
tions. 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
OpenLDAP LDVERSION Last change: RELEASEDATE 1
LDAP_OPEN(3) C LIBRARY FUNCTIONS LDAP_OPEN(3)
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 depreci-
ated in a
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 fol-
low 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 Macin-
tosh 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 elements 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 LDVERSION Last change: RELEASEDATE 2
Man(1) output converted with
man2html