Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


ldap_open(3) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |ERRORS |SEE ALSO |ACKNOWLEDGEMENTS |COLOPHON

LDAP_OPEN(3)             Library Functions ManualLDAP_OPEN(3)

NAME        top

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

LIBRARY        top

       OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS        top

#include <ldap.h>LDAP *ldap_open(host, port)       char *host;       int port;LDAP *ldap_init(host, port)       char *host;       int port;int ldap_initialize(ldp, uri)       LDAP **ldp;       char *uri;int ldap_connect(ldp)       LDAP *ldp;int ldap_set_urllist_proc(ld, proc, params)       LDAP *ld;       LDAP_URLLIST_PROC *proc;       void *params;int (LDAP_URLLIST_PROC)(ld, urllist, url, params);       LDAP *ld;       LDAPURLDesc **urllist;       LDAPURLDesc **url;       void *params;#include <openldap.h>int ldap_init_fd(fd, proto, uri, ldp)       ber_socket_t fd;       int proto;       char *uri;       LDAP **ldp;

DESCRIPTION        top

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.ldap_initialize()allocates an LDAP structure but does not open an       initial connection.ldap_init_fd()allocates an LDAP structure       using an existing connection on the provided socket.  One of these       routines must be called before any operations are attempted.ldap_open()takeshost, the hostname on which the LDAP server is       running, andport, the port number to which to connect.  If the       default IANA-assigned port of 389 is desired, LDAP_PORT should be       specified forport.  Thehost parameter may contain a blank-       separated list of hosts to try to connect to, and each host may       optionally by of the formhost:port.  If present, the:port       overrides theport parameter toldap_open().  Upon successfully       making a connection to an LDAP server,ldap_open()returns a       pointer to an opaque LDAP structure, which should be passed to       subsequent calls toldap_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; read       and write access to those fields must occur by callingldap_get_option(3) andldap_set_option(3) respectively, whenever       possible.ldap_init()acts just likeldap_open(), but does not open a       connection to the LDAP server.  The actual connection open will       occur when the first operation is attempted.ldap_initialize()acts likeldap_init(), but it returns an integer       indicating either success or the failure reason, and it allows to       specify details for the connection in the schema portion of the       URI.  Theuri parameter may be a comma- or whitespace-separated       list of URIs containing only theschema, thehost, and theport       fields.  Apart fromldap, other (non-standard) recognized values       of theschema field areldaps(LDAP over TLS),ldapi(LDAP over       IPC), andcldap(connectionless LDAP).  If other fields are       present, the behavior is undefined.       At this time,ldap_open()andldap_init()are deprecated in favor       ofldap_initialize(), essentially because the latter allows to       specify a schema in the URI and it explicitly returns an error       code.ldap_connect()causes a handle created byldap_initialize()to       connect to the server. This is useful in situations where a file       descriptor is required before a request is performed.ldap_init_fd()allows an LDAP structure to be initialized using an       already-opened connection. Theproto parameter should be one of       LDAP_PROTO_TCP, LDAP_PROTO_UDP, or LDAP_PROTO_IPC for a connection       using TCP, UDP, or IPC, respectively. The value LDAP_PROTO_EXT may       also be specified if user-supplied sockbuf handlers are going to       be used. Note that support for UDP is not implemented unless       libldap was built with LDAP_CONNECTIONLESS defined.  Theuri       parameter may optionally be provided for informational purposes.ldap_set_urllist_proc()allows to set a functionproc of typeLDAP_URLLIST_PROC that is called when a successful connection can       be established.  This function receives the list of URIs parsed       from theuri string originally passed toldap_initialize(), and       the one that successfully connected.  The function may manipulate       the URI list; the typical use consists in moving the successful       URI to the head of the list, so that subsequent attempts to       connect to one of the URIs using the same LDAP handle will try it       first.  Ifld is null,proc is set as a global parameter that is       inherited by all handlers within the process that are created       after the call toldap_set_urllist_proc().  By default, noLDAP_URLLIST_PROC is set.  In a multithreaded environment,ldap_set_urllist_proc()must be called before any concurrent       operation using the LDAP handle is started.       Note: the first call into the LDAP library also initializes the       global options for the library. As such the first call should be       single-threaded or otherwise protected to insure that only one       call is active. It is recommended thatldap_get_option() orldap_set_option() be used in the program's main thread before any       additional threads are created.  Seeldap_get_option(3).

ERRORS        top

       If an error occurs,ldap_open()andldap_init()will return NULL       anderrno should be set appropriately.ldap_initialize()andldap_init_fd()will directly return the LDAP code associated to       the error (orLDAP_SUCCESS in case of success);errno should be       set as well whenever appropriate.ldap_set_urllist_proc()returns       LDAP_OPT_ERROR on error, and LDAP_OPT_SUCCESS on success.

SEE ALSO        top

ldap(3),ldap_bind(3),ldap_get_option(3),ldap_set_option(3),lber-sockbuf(3),errno(3)

ACKNOWLEDGEMENTS        top

OpenLDAP Softwareis developed and maintained by The OpenLDAP       Project <http://www.openldap.org/>.OpenLDAP Softwareis derived       from the University of Michigan LDAP 3.3 Release.

COLOPHON        top

       This page is part of theOpenLDAP (an open source implementation       of the Lightweight Directory Access Protocol) project.       Information about the project can be found at        ⟨http://www.openldap.org/⟩.  If you have a bug report for this       manual page, see ⟨http://www.openldap.org/its/⟩.  This page was       obtained from the project's upstream Git repository       ⟨https://git.openldap.org/openldap/openldap.git⟩ on 2025-08-11.       (At that time, the date of the most recent commit that was found       in the repository was 2025-08-05.)  If you discover any rendering       problems in this HTML version of the page, or you believe there is       a better or more up-to-date source for the page, or you have       corrections or improvements to the information in this COLOPHON       (which isnot part of the original manual page), send a mail to       man-pages@man7.orgOpenLDAP LDVERSION             RELEASEDATELDAP_OPEN(3)

Pages that refer to this page:ldap(3)ldap_bind(3)ldap_dup(3)slapd-meta(5)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp