ldap_search_ext_s() instead.
#include <ldap.h>
int ldap_search_s( LDAP *ld, const char *base, int scope,
const char* filter, char **attrs, int attrsonly,
LDAPMessage **res );
ld |
Connection handle, which is a pointer to an |
base | |
scope | Scope of the search, which can be one of the following values: |
filter | For details on the syntax for filters, see "Specifying a Search Filter" on page 113. |
attrs | |
attrsonly | |
res |
ldap_search_ext_s() function.
ldap_search_s() function searches the directory for matching entries.
A newer version of this function, ldap_search_ext_s(), is available in this release of the LDAP API. ldap_search_s() (the older version of the function) is included only for backward-compatibility. If you are writing a new LDAP client, use ldap_search_ext_s() instead of ldap_search_s().
If you want more information on ldap_search_s(), refer to the LDAP C SDK 1.0 Programmer's Guide.
#include "examples.h"
int main( int argc, char **argv )
{LDAP *ld;
LDAPMessage *result, *e;
BerElement *ber;
char *a, *dn;
char **vals;
int i;
/* get a handle to an LDAP connection */
if ( (ld = ldap_init( MY_HOST, MY_PORT )) == NULL ) {perror( "ldap_init" );
return( 1 );
}
/* authenticate to the directory as nobody */
if ( ldap_simple_bind_s( ld, NULL, NULL ) != LDAP_SUCCESS ) {ldap_perror( ld, "ldap_simple_bind_s" );
return( 1 );
}
/* search for all entries with surname of Jensen */
if ( ldap_search_s( ld, MY_SEARCHBASE, LDAP_SCOPE_SUBTREE,
MY_FILTER, NULL, 0, &result ) != LDAP_SUCCESS ) {ldap_perror( ld, "ldap_search_s" );
return( 1 );
}
/* for each entry print out name + all attrs and values */
for ( e = ldap_first_entry( ld, result ); e != NULL;
e = ldap_next_entry( ld, e ) ) { if ( (dn = ldap_get_dn( ld, e )) != NULL ) {printf( "dn: %s\n", dn );
ldap_memfree( dn );
}
for ( a = ldap_first_attribute( ld, e, &ber );
a != NULL; a = ldap_next_attribute( ld, e, ber ) ) { if ((vals = ldap_get_values( ld, e, a)) != NULL ) { for ( i = 0; vals[i] != NULL; i++ ) {printf( "%s: %s\n", a, vals[i] );
}
ldap_value_free( vals );
}
ldap_memfree( a );
}
if ( ber != NULL ) {ldap_ber_free( ber, 0 );
}
printf( "\n" );
}
ldap_msgfree( result );
ldap_unbind( ld );
return( 0 );
}
ldap_search_ext_s().
Last Updated: 10/01/98 17:06:23