ldap_init,  ldap_open  -  Initialize  the LDAP library and
       open a connection to an LDAP server


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
       parameter to ldap_open().  Upon successfully making a con­
       nection  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 han­
       dled 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_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 Pro­
       ject (http://www.openldap.org/).  OpenLDAP is derived from
       University of Michigan LDAP 3.3 Release.


Man(1) output converted with man2html