From 43284a51c1db973927226e427883a3beec7c10aa Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Thu, 1 Dec 2005 18:46:53 +0100 Subject: [PATCH] Stub implementations for functions handling paged search results. Add some missing declarations. --- dlls/wldap32/misc.c | 29 ++++++++++++++++++++ dlls/wldap32/search.c | 50 ++++++++++++++++++---------------- dlls/wldap32/winldap_private.h | 22 +++++++++++++++ dlls/wldap32/wldap32.spec | 14 +++++----- 4 files changed, 84 insertions(+), 31 deletions(-) diff --git a/dlls/wldap32/misc.c b/dlls/wldap32/misc.c index 2e54c0932e2..1f85cb63f78 100644 --- a/dlls/wldap32/misc.c +++ b/dlls/wldap32/misc.c @@ -261,6 +261,35 @@ WLDAP32_LDAPMessage *WLDAP32_ldap_first_reference( WLDAP32_LDAP *ld, WLDAP32_LDA return NULL; } +ULONG ldap_get_next_page( WLDAP32_LDAP *ld, PLDAPSearch search, ULONG pagesize, + ULONG *message ) +{ + FIXME( "(%p, %p, 0x%08lx, %p)\n", ld, search, pagesize, message ); + + if (!ld) return ~0UL; + return LDAP_NOT_SUPPORTED; +} + +ULONG ldap_get_next_page_s( WLDAP32_LDAP *ld, PLDAPSearch search, + struct l_timeval *timeout, ULONG pagesize, ULONG *count, + WLDAP32_LDAPMessage **results ) +{ + FIXME( "(%p, %p, %p, 0x%08lx, %p, %p)\n", ld, search, timeout, + pagesize, count, results ); + + if (!ld) return ~0UL; + return LDAP_NOT_SUPPORTED; +} + +ULONG ldap_get_paged_count( WLDAP32_LDAP *ld, PLDAPSearch search, + ULONG *count, WLDAP32_LDAPMessage *results ) +{ + FIXME( "(%p, %p, %p, %p)\n", ld, search, count, results ); + + if (!ld) return ~0UL; + return LDAP_NOT_SUPPORTED; +} + void ldap_memfreeA( PCHAR block ) { TRACE( "(%p)\n", block ); diff --git a/dlls/wldap32/search.c b/dlls/wldap32/search.c index 290490f9c6d..bab580c88d2 100644 --- a/dlls/wldap32/search.c +++ b/dlls/wldap32/search.c @@ -41,6 +41,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(wldap32); +ULONG ldap_search_abandon_page( WLDAP32_LDAP *ld, PLDAPSearch search ) +{ + FIXME( "(%p, %p)\n", ld, search ); + + if (!ld) return ~0UL; + return LDAP_SUCCESS; +} + ULONG ldap_searchA( WLDAP32_LDAP *ld, PCHAR base, ULONG scope, PCHAR filter, PCHAR attrs[], ULONG attrsonly ) { @@ -337,6 +345,24 @@ exit: return ret; } +PLDAPSearch ldap_search_init_pageA( WLDAP32_LDAP *ld, PCHAR dn, ULONG scope, + PCHAR filter, PCHAR attrs[], ULONG attrsonly, PLDAPControlA *serverctrls, + PLDAPControlA *clientctrls, ULONG timelimit, ULONG sizelimit, PLDAPSortKeyA *sortkeys ) +{ + FIXME( "(%p, %s, 0x%08lx, %s, %p, 0x%08lx)\n", ld, debugstr_a(dn), + scope, debugstr_a(filter), attrs, attrsonly ); + return NULL; +} + +PLDAPSearch ldap_search_init_pageW( WLDAP32_LDAP *ld, PWCHAR dn, ULONG scope, + PWCHAR filter, PWCHAR attrs[], ULONG attrsonly, PLDAPControlW *serverctrls, + PLDAPControlW *clientctrls, ULONG timelimit, ULONG sizelimit, PLDAPSortKeyW *sortkeys ) +{ + FIXME( "(%p, %s, 0x%08lx, %s, %p, 0x%08lx)\n", ld, debugstr_w(dn), + scope, debugstr_w(filter), attrs, attrsonly ); + return NULL; +} + ULONG ldap_search_sA( WLDAP32_LDAP *ld, PCHAR base, ULONG scope, PCHAR filter, PCHAR attrs[], ULONG attrsonly, WLDAP32_LDAPMessage **res ) { @@ -495,27 +521,3 @@ exit: #endif return ret; } - -PLDAPSearch ldap_search_init_pageA( WLDAP32_LDAP *ld, const PCHAR name, - ULONG scope, const PCHAR filter, PCHAR attrs[], - ULONG attrsonly, PLDAPControlA* srvcontrols, - PLDAPControlA* clntcontrols, ULONG timelimit, - ULONG sizelimit, PLDAPSortKeyA* keys) -{ - FIXME( "(%p, %s, 0x%08lx, %s, %p, 0x%08lx, %p, %p, 0x%08lx, 0x%08lx, %p)\n", - ld, debugstr_a(name), scope, debugstr_a(filter), attrs, - attrsonly, srvcontrols, clntcontrols, timelimit, sizelimit, keys); - return NULL; -} - -PLDAPSearch ldap_search_init_pageW( WLDAP32_LDAP *ld, const PWCHAR name, - ULONG scope, const PWCHAR filter, PWCHAR attrs[], - ULONG attrsonly, PLDAPControlW* srvcontrols, - PLDAPControlW* clntcontrols, ULONG timelimit, - ULONG sizelimit, PLDAPSortKeyW* keys) -{ - FIXME( "(%p, %s, 0x%08lx, %s, %p, 0x%08lx, %p, %p, 0x%08lx, 0x%08lx, %p)\n", - ld, debugstr_w(name), scope, debugstr_w(filter), attrs, - attrsonly, srvcontrols, clntcontrols, timelimit, sizelimit, keys); - return NULL; -} diff --git a/dlls/wldap32/winldap_private.h b/dlls/wldap32/winldap_private.h index 999c9bac6a2..b01a2f907cd 100644 --- a/dlls/wldap32/winldap_private.h +++ b/dlls/wldap32/winldap_private.h @@ -303,6 +303,8 @@ ULONG ldap_delete_sA(WLDAP32_LDAP*,PCHAR); ULONG ldap_delete_sW(WLDAP32_LDAP*,PWCHAR); PCHAR ldap_dn2ufnA(PCHAR); PWCHAR ldap_dn2ufnW(PWCHAR); +ULONG ldap_encode_sort_controlA(WLDAP32_PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN); +ULONG ldap_encode_sort_controlW(WLDAP32_PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN); PCHAR ldap_err2stringA(ULONG); PWCHAR ldap_err2stringW(ULONG); ULONG ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG); @@ -323,8 +325,11 @@ ULONG ldap_free_controlsA(LDAPControlA**); ULONG ldap_free_controlsW(LDAPControlW**); PCHAR ldap_get_dnA(WLDAP32_LDAP*,WLDAP32_LDAPMessage*); PWCHAR ldap_get_dnW(WLDAP32_LDAP*,WLDAP32_LDAPMessage*); +ULONG ldap_get_next_page(WLDAP32_LDAP*,PLDAPSearch,ULONG,ULONG*); +ULONG ldap_get_next_page_s(WLDAP32_LDAP*,PLDAPSearch,struct l_timeval*,ULONG,ULONG*,WLDAP32_LDAPMessage**); ULONG ldap_get_optionA(WLDAP32_LDAP*,int,void*); ULONG ldap_get_optionW(WLDAP32_LDAP*,int,void*); +ULONG ldap_get_paged_count(WLDAP32_LDAP*,PLDAPSearch,ULONG*,WLDAP32_LDAPMessage*); PCHAR *ldap_get_valuesA(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PCHAR); PWCHAR *ldap_get_valuesW(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PWCHAR); PBERVAL *ldap_get_values_lenA(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PCHAR); @@ -356,6 +361,18 @@ WLDAP32_LDAPMessage *WLDAP32_ldap_next_entry(WLDAP32_LDAP*,WLDAP32_LDAPMessage*) WLDAP32_LDAPMessage *WLDAP32_ldap_next_reference(WLDAP32_LDAP*,WLDAP32_LDAPMessage*); WLDAP32_LDAP *ldap_openA(PCHAR,ULONG); WLDAP32_LDAP *ldap_openW(PWCHAR,ULONG); +ULONG ldap_parse_extended_resultA(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PCHAR*,struct WLDAP32_berval**,BOOLEAN); +ULONG ldap_parse_extended_resultW(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PWCHAR*,struct WLDAP32_berval**,BOOLEAN); +ULONG ldap_parse_page_controlA(WLDAP32_LDAP*,PLDAPControlA*,ULONG*,struct WLDAP32_berval**); +ULONG ldap_parse_page_controlW(WLDAP32_LDAP*,PLDAPControlW*,ULONG*,struct WLDAP32_berval**); +ULONG ldap_parse_referenceA(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PCHAR**); +ULONG ldap_parse_referenceW(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,PWCHAR**); +ULONG ldap_parse_resultA(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN); +ULONG ldap_parse_resultW(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN); +ULONG ldap_parse_sort_controlA(WLDAP32_LDAP*,PLDAPControlA*,ULONG*,PCHAR*); +ULONG ldap_parse_sort_controlW(WLDAP32_LDAP*,PLDAPControlW*,ULONG*,PWCHAR*); +int ldap_parse_vlv_controlA(WLDAP32_LDAP*,LDAPControlA**,unsigned long*,unsigned long*,struct WLDAP32_berval**,int*); +int ldap_parse_vlv_controlW(WLDAP32_LDAP*,LDAPControlW**,unsigned long*,unsigned long*,struct WLDAP32_berval**,int*); void WLDAP32_ldap_perror(WLDAP32_LDAP*,const PCHAR); ULONG ldap_rename_extA(WLDAP32_LDAP*,PCHAR,PCHAR,PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*); ULONG ldap_rename_extW(WLDAP32_LDAP*,PWCHAR,PWCHAR,PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*); @@ -367,6 +384,7 @@ ULONG ldap_sasl_bindA(WLDAP32_LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPC ULONG ldap_sasl_bindW(WLDAP32_LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*); ULONG ldap_sasl_bind_sA(WLDAP32_LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*); ULONG ldap_sasl_bind_sW(WLDAP32_LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*); +ULONG ldap_search_abandon_page(WLDAP32_PLDAP,PLDAPSearch); ULONG ldap_searchA(WLDAP32_LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG); ULONG ldap_searchW(WLDAP32_LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG); ULONG ldap_search_extA(WLDAP32_LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, @@ -377,6 +395,10 @@ ULONG ldap_search_ext_sA(WLDAP32_LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPCont PLDAPControlA*,struct l_timeval*,ULONG,WLDAP32_LDAPMessage**); ULONG ldap_search_ext_sW(WLDAP32_LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, PLDAPControlW*,struct l_timeval*,ULONG,WLDAP32_LDAPMessage**); +PLDAPSearch ldap_search_init_pageA(WLDAP32_PLDAP,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, + PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*); +PLDAPSearch ldap_search_init_pageW(WLDAP32_PLDAP,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, + PLDAPControlW*,ULONG,ULONG, PLDAPSortKeyW*); ULONG ldap_search_sA(WLDAP32_LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,WLDAP32_LDAPMessage**); ULONG ldap_search_sW(WLDAP32_LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,WLDAP32_LDAPMessage**); ULONG ldap_search_stA(WLDAP32_LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG, diff --git a/dlls/wldap32/wldap32.spec b/dlls/wldap32/wldap32.spec index ff3a97b7b07..3e475ae1b3c 100644 --- a/dlls/wldap32/wldap32.spec +++ b/dlls/wldap32/wldap32.spec @@ -121,11 +121,11 @@ 131 cdecl ldap_free_controlsW(ptr) 132 cdecl ldap_get_dnA(ptr ptr) 133 cdecl ldap_get_dnW(ptr ptr) -134 stub ldap_get_next_page -135 stub ldap_get_next_page_s +134 cdecl ldap_get_next_page(ptr ptr long ptr) +135 cdecl ldap_get_next_page_s(ptr ptr ptr long ptr ptr) 136 cdecl ldap_get_option(ptr long ptr) ldap_get_optionA 137 cdecl ldap_get_optionA(ptr long ptr) -138 stub ldap_get_paged_count +138 cdecl ldap_get_paged_count(ptr ptr ptr ptr) 139 cdecl ldap_get_valuesA(ptr ptr str) 140 cdecl ldap_get_valuesW(ptr ptr wstr) 141 cdecl ldap_get_values_lenA(ptr ptr str) @@ -178,7 +178,7 @@ 188 cdecl ldap_rename_ext_sW(ptr wstr wstr wstr long ptr ptr) 189 cdecl ldap_searchA(ptr str long str ptr long) 190 cdecl ldap_searchW(ptr wstr long wstr ptr long) -191 stub ldap_search_abandon_page +191 cdecl ldap_search_abandon_page(ptr ptr) 192 cdecl ldap_search_ext(ptr str long str ptr long ptr ptr long long ptr) ldap_search_extA 193 cdecl ldap_search_extA(ptr str long str ptr long ptr ptr long long ptr) 194 cdecl ldap_search_extW(ptr wstr long wstr ptr long ptr ptr long long ptr) @@ -191,9 +191,9 @@ 201 cdecl ldap_startup(ptr ptr) 202 cdecl ldap_cleanup(long) 203 cdecl ldap_search_ext_sW(ptr wstr long wstr ptr long ptr ptr ptr long ptr) -204 cdecl ldap_search_init_page(ptr str long str ptr long ptr ptr ptr long ptr) ldap_search_init_pageA -205 cdecl ldap_search_init_pageA(ptr str long str ptr long ptr ptr ptr long ptr) -206 cdecl ldap_search_init_pageW(ptr wstr long wstr ptr long ptr ptr ptr long ptr) +204 cdecl ldap_search_init_page(ptr str long str ptr long ptr ptr long long ptr) ldap_search_init_pageA +205 cdecl ldap_search_init_pageA(ptr str long str ptr long ptr ptr long long ptr) +206 cdecl ldap_search_init_pageW(ptr wstr long wstr ptr long ptr ptr long long ptr) 207 cdecl ldap_search_sA(ptr str long str ptr long ptr) 208 cdecl ldap_search_sW(ptr wstr long wstr ptr long ptr) 209 cdecl ldap_search_stA(ptr str long str ptr long ptr ptr)