ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



LDAP_OPEN(3)                                                                                    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 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 running, and port, the  port  number
       to which to connect.  If the default IANA-assigned port of 389 is desired, LDAP_PORT should be speci-fied specified
       fied 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 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 2.3.27                                  2006/08/19                                     LDAP_OPEN(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.