Summary: Isode provides a number of APIs which allow integrators and product developers to build components that allow client programs to connect to, query and modify data in the directory.
anonymous.c

This is an example of doing an anonymous bind.

To compile this example on Unix:

cc -I /opt/isode/include -c anonymous.c 

To compile this example on Windows:

cl /nologo /I C:\Progra~1\Isode\include /c anonymous.c

To link this example on Unix:

cc -o anonymous anonymous.o -L/opt/isode/lib \
    -ldua -lisode -libase -lldap -llber -lisode_ssl \
    -lisode_crypto -lpthread

To link this example on Windows:

cl /nologo /o anonymous.exe anonymous.obj \
    C:\Progra~1\Isode\bin\libdua.lib
/*
* Copyright (c) 2005-2009, Isode Limited, London, England.
* All rights reserved.
*
* Acquisition and use of this software and related materials for any
* purpose requires a written licence agreement from Isode Limited,
* or a written licence from an organisation licenced by Isode Limited
* to grant such a licence.
*/
#include <stdio.h>
int main ( void )
{
DS_Session *ds = NULL;
DS_Indication *di = NULL;
DS_Status status;
status = DS_Initialize( );
if ( status != DS_E_NOERROR ) {
fprintf( stderr, "Initialization failed\n" );
return 1;
}
status = DS_Session_New( "Internet=localhost+19999", 0, &ds );
if ( status != DS_E_NOERROR ) {
fprintf( stderr, "Failed to create session\n" );
return 1;
}
status = DS_BindAnonymousSync( ds, NULL, &di );
if ( DS_Indication_GetErrorCodes( di, &t, &v ) == DS_E_NOERROR &&
t != DS_E_SUCCESS )
status = DS_E_DSOPFAILED;
if ( status != DS_E_NOERROR) {
DS_UnbindSync( &ds );
fprintf( stderr, "Failed to bind\n" );
return 1;
}
DS_UnbindSync( &ds );
return 0;
}