2002-06-13 11:59:10 +08:00
|
|
|
.TH LDAP_OPEN 3 "RELEASEDATE" "OpenLDAP LDVERSION"
|
1999-09-12 12:41:47 +08:00
|
|
|
.\" $OpenLDAP$
|
2005-01-02 04:49:32 +08:00
|
|
|
.\" Copyright 1998-2005 The OpenLDAP Foundation All Rights Reserved.
|
1999-09-12 12:41:47 +08:00
|
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH NAME
|
|
|
|
ldap_init, ldap_open \- Initialize the LDAP library and open a connection to an LDAP server
|
2002-06-21 15:32:54 +08:00
|
|
|
.SH LIBRARY
|
2002-06-22 05:25:38 +08:00
|
|
|
OpenLDAP LDAP (libldap, -lldap)
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.nf
|
|
|
|
.ft B
|
|
|
|
#include <ldap.h>
|
|
|
|
.LP
|
|
|
|
.ft B
|
|
|
|
LDAP *ldap_open(host, port)
|
|
|
|
.ft
|
|
|
|
char *host;
|
|
|
|
int port;
|
|
|
|
.LP
|
|
|
|
.ft B
|
|
|
|
LDAP *ldap_init(host, port)
|
|
|
|
.ft
|
|
|
|
char *host;
|
|
|
|
int port;
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
.B 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.
|
|
|
|
.B 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.
|
|
|
|
.LP
|
|
|
|
.B ldap_open()
|
|
|
|
takes \fIhost\fP, the hostname on which the LDAP server is
|
|
|
|
running, and \fIport\fP, the port number to which to connect. If the default
|
|
|
|
IANA-assigned port of 389 is desired, LDAP_PORT should be specified for
|
|
|
|
\fIport\fP. The \fIhost\fP parameter may contain a blank-separated list
|
|
|
|
of hosts to try to connect to, and each host may optionally by of the form
|
|
|
|
\fIhost:port\fP. If present, the \fI:port\fP overrides the \fIport\fP
|
|
|
|
parameter to
|
|
|
|
.BR ldap_open() .
|
|
|
|
Upon successfully making a connection to an
|
|
|
|
LDAP server,
|
|
|
|
.B ldap_open()
|
|
|
|
returns a pointer to an LDAP structure (defined below), which
|
|
|
|
should be passed to subsequent calls to
|
|
|
|
.BR ldap_bind() ,
|
|
|
|
.BR 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.
|
|
|
|
.LP
|
|
|
|
.nf
|
|
|
|
.ft tt
|
|
|
|
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;
|
2003-06-29 23:34:32 +08:00
|
|
|
#define LDAP_OPT_REFERRALS 0x00000002 /* set by default */
|
1998-08-09 08:43:13 +08:00
|
|
|
#define LDAP_OPT_RESTART 0x00000004
|
|
|
|
/* ... other stuff you should not mess with ... */
|
|
|
|
} LDAP;
|
|
|
|
.ft
|
|
|
|
.fi
|
|
|
|
.LP
|
|
|
|
.B
|
|
|
|
ldap_init()
|
|
|
|
acts just like
|
|
|
|
.BR 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,
|
|
|
|
.B ldap_init()
|
1999-01-28 09:23:04 +08:00
|
|
|
is preferred.
|
|
|
|
.B ldap_open() will be depreciated in a later release.
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH ERRORS
|
|
|
|
If an error occurs, these routines will return NULL and errno should be
|
|
|
|
set appropriately.
|
|
|
|
.SH OPTIONS
|
|
|
|
Options that affect a particular LDAP instance may be set by modifying
|
|
|
|
the \fIld_options\fP field in the LDAP structure. This field is set
|
|
|
|
to \fILDAP_OPT_REFERRALS\fP in
|
|
|
|
.B ldap_open() and
|
|
|
|
.B ldap_init(),
|
|
|
|
which causes the library to automatically follow referrals
|
|
|
|
to other servers that may be returned in response to an LDAP operation.
|
|
|
|
.LP
|
|
|
|
The other supported option is \fILDAP_OPT_RESTART\fP, which if set will
|
|
|
|
cause the LDAP library to restart the
|
|
|
|
.BR 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.
|
|
|
|
.LP
|
|
|
|
An option can be turned off by clearing the appropriate bit in the
|
|
|
|
\fIld_options\fP field.
|
|
|
|
.SH 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.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.BR ldap (3),
|
|
|
|
.BR ldap_bind (3),
|
|
|
|
.BR errno (3)
|
1998-10-25 09:41:42 +08:00
|
|
|
.SH ACKNOWLEDGEMENTS
|
2003-06-29 23:34:32 +08:00
|
|
|
.B OpenLDAP
|
1998-10-25 09:41:42 +08:00
|
|
|
is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
|
2003-06-29 23:34:32 +08:00
|
|
|
.B OpenLDAP
|
1998-10-25 09:41:42 +08:00
|
|
|
is derived from University of Michigan LDAP 3.3 Release.
|