winldap.h fixes

Francois Gouget fgouget at free.fr
Wed Nov 23 08:34:16 CST 2005


Changelog:

  * include/winldap.h
    dlls/wldap32/control.c
    dlls/wldap32/init.c
    dlls/wldap32/winldap_private.h
    tools/winapi/win32.api

    Francois Gouget <fgouget at free.fr>
    winldap.h should include windeh.f and schnlsp.h.
    Enclose the API definitions in an extern "C" section and define LDAPAPI.
    Better stick to the types defined by the PSDK.
    Fix the ldap_create_vlv_control*() prototypes.
    Update win32.api.

-- 
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
    Nouvelle version : les anciens bogues ont été remplacés par de nouveaux.
-------------- next part --------------
Index: include/winldap.h
===================================================================
RCS file: /var/cvs/wine/include/winldap.h,v
retrieving revision 1.5
diff -u -p -r1.5 winldap.h
--- include/winldap.h	7 Sep 2005 09:24:50 -0000	1.5
+++ include/winldap.h	23 Nov 2005 11:16:57 -0000
@@ -19,6 +19,14 @@
 #ifndef __WINE_WINLDAP_H
 #define __WINE_WINLDAP_H
 
+#include <windef.h>
+#include <schnlsp.h>
+
+#ifndef LDAPAPI
+#define LDAPAPI __cdecl
+#endif
+
+
 typedef enum {
     LDAP_SUCCESS                    =   0x00,
     LDAP_OPERATIONS_ERROR           =   0x01,
@@ -361,6 +369,11 @@ typedef struct ldap_apifeature_infoW
 
 DECL_WINELIB_TYPE_AW(LDAPAPIFeatureInfo)
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 LDAP *cldap_openA(PCHAR,ULONG);
 LDAP *cldap_openW(PWCHAR,ULONG);
 #define    cldap_open WINELIB_NAME_AW(cldap_open)
@@ -401,7 +414,7 @@ ULONG ldap_compare_ext_sW(LDAP*,PWCHAR,P
 ULONG ldap_compare_sA(LDAP*,PCHAR,PCHAR,PCHAR);
 ULONG ldap_compare_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR);
 #define    ldap_compare_s WINELIB_NAME_AW(ldap_compare_s)
-ULONG ldap_connect(LDAP*,LDAP_TIMEVAL*);
+ULONG ldap_connect(LDAP*,struct l_timeval*);
 ULONG ldap_control_freeA(LDAPControlA*);
 ULONG ldap_control_freeW(LDAPControlW*);
 #define    ldap_control_free WINELIB_NAME_AW(ldap_control_free)
@@ -420,8 +433,8 @@ ULONG ldap_create_page_controlW(PLDAP,UL
 ULONG ldap_create_sort_controlA(PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*);
 ULONG ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*);
 #define    ldap_create_sort_control WINELIB_NAME_AW(ldap_create_sort_control)
-INT ldap_create_vlv_controlA(LDAP*,LDAPVLVInfo*,char,LDAPControlA**);
-INT ldap_create_vlv_controlW(LDAP*,LDAPVLVInfo*,char,LDAPControlW**);
+INT ldap_create_vlv_controlA(PLDAP,PLDAPVLVInfo,UCHAR,PLDAPControlA*);
+INT ldap_create_vlv_controlW(PLDAP,PLDAPVLVInfo,UCHAR,PLDAPControlW*);
 #define    ldap_create_vlv_control WINELIB_NAME_AW(ldap_create_vlv_control)
 ULONG ldap_deleteA(LDAP*,PCHAR);
 ULONG ldap_deleteW(LDAP*,PWCHAR);
@@ -533,8 +546,8 @@ ULONG ldap_parse_resultW(LDAP*,LDAPMessa
 ULONG ldap_parse_sort_controlA(LDAP*,PLDAPControlA*,ULONG*,PCHAR*);
 ULONG ldap_parse_sort_controlW(LDAP*,PLDAPControlW*,ULONG*,PWCHAR*);
 #define    ldap_parse_sort_control WINELIB_NAME_AW(ldap_parse_sort_control)
-int ldap_parse_vlv_controlA(LDAP*,LDAPControlA**,unsigned long*,unsigned long*,struct berval**,int*);
-int ldap_parse_vlv_controlW(LDAP*,LDAPControlW**,unsigned long*,unsigned long*,struct berval**,int*);
+int ldap_parse_vlv_controlA(LDAP*,PLDAPControlA*,unsigned long*,unsigned long*,struct berval**,int*);
+int ldap_parse_vlv_controlW(LDAP*,PLDAPControlW*,unsigned long*,unsigned long*,struct berval**,int*);
 #define    ldap_parse_vlv_control WINELIB_NAME_AW(ldap_parse_vlv_control)
 void ldap_perror(LDAP*,const PCHAR);
 ULONG ldap_rename_extA(LDAP*,PCHAR,PCHAR,PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*);
@@ -593,7 +606,7 @@ LDAP *ldap_sslinitW(PWCHAR,ULONG,int);
 ULONG ldap_start_tls_sA(LDAP*,PULONG,LDAPMessage**,PLDAPControlA*,PLDAPControlA*);
 ULONG ldap_start_tls_sW(LDAP*,PULONG,LDAPMessage**,PLDAPControlW*,PLDAPControlW*);
 #define    ldap_start_tls_s WINELIB_NAME_AW(ldap_start_tls_s)
-ULONG ldap_startup(LDAP_VERSION_INFO*,HANDLE*);
+ULONG ldap_startup(PLDAP_VERSION_INFO,HANDLE*);
 BOOLEAN ldap_stop_tls_s(LDAP*);
 ULONG ldap_ufn2dnA(PCHAR,PCHAR*);
 ULONG ldap_ufn2dnW(PWCHAR,PWCHAR*);
@@ -624,4 +637,8 @@ ULONG LdapMapErrorToWin32(ULONG);
 int LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int);
 int LdapUTF8ToUnicode(LPCSTR,int,LPWSTR,int);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif  /* __WINE_WINLDAP_H */
Index: dlls/wldap32/control.c
===================================================================
RCS file: /var/cvs/wine/dlls/wldap32/control.c,v
retrieving revision 1.3
diff -u -p -r1.3 control.c
--- dlls/wldap32/control.c	21 Nov 2005 13:33:37 -0000	1.3
+++ dlls/wldap32/control.c	23 Nov 2005 11:37:39 -0000
@@ -162,7 +162,7 @@ ULONG ldap_create_sort_controlW( WLDAP32
 }
 
 INT ldap_create_vlv_controlA( WLDAP32_LDAP *ld, WLDAP32_LDAPVLVInfo *info,
-    char critical, LDAPControlA **control )
+    UCHAR critical, LDAPControlA **control )
 {
     INT ret = LDAP_NOT_SUPPORTED;
 #ifdef HAVE_LDAP
@@ -182,7 +182,7 @@ INT ldap_create_vlv_controlA( WLDAP32_LD
 }
 
 INT ldap_create_vlv_controlW( WLDAP32_LDAP *ld, WLDAP32_LDAPVLVInfo *info,
-    char critical, LDAPControlW **control )
+    UCHAR critical, LDAPControlW **control )
 {
     INT ret = LDAP_NOT_SUPPORTED;
 #ifdef HAVE_LDAP
Index: dlls/wldap32/init.c
===================================================================
RCS file: /var/cvs/wine/dlls/wldap32/init.c,v
retrieving revision 1.7
diff -u -p -r1.7 init.c
--- dlls/wldap32/init.c	18 Nov 2005 16:56:44 -0000	1.7
+++ dlls/wldap32/init.c	23 Nov 2005 11:36:03 -0000
@@ -264,7 +264,7 @@ exit:
     return NULL;
 }
 
-ULONG ldap_connect( WLDAP32_LDAP *ld, LDAP_TIMEVAL *timeout )
+ULONG ldap_connect( WLDAP32_LDAP *ld, struct l_timeval *timeout )
 {
     TRACE( "(%p, %p)\n", ld, timeout );
 
Index: dlls/wldap32/winldap_private.h
===================================================================
RCS file: /var/cvs/wine/dlls/wldap32/winldap_private.h,v
retrieving revision 1.31
diff -u -p -r1.31 winldap_private.h
--- dlls/wldap32/winldap_private.h	21 Nov 2005 13:33:37 -0000	1.31
+++ dlls/wldap32/winldap_private.h	23 Nov 2005 11:39:02 -0000
@@ -291,8 +291,8 @@ ULONG ldap_create_page_controlA(WLDAP32_
 ULONG ldap_create_page_controlW(WLDAP32_PLDAP,ULONG,struct WLDAP32_berval*,UCHAR,PLDAPControlW*);
 ULONG ldap_create_sort_controlA(WLDAP32_PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*);
 ULONG ldap_create_sort_controlW(WLDAP32_PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*);
-INT ldap_create_vlv_controlA(WLDAP32_LDAP*,WLDAP32_LDAPVLVInfo*,char,LDAPControlA**);
-INT ldap_create_vlv_controlW(WLDAP32_LDAP*,WLDAP32_LDAPVLVInfo*,char,LDAPControlW**);
+INT ldap_create_vlv_controlA(WLDAP32_LDAP*,WLDAP32_LDAPVLVInfo*,UCHAR,LDAPControlA**);
+INT ldap_create_vlv_controlW(WLDAP32_LDAP*,WLDAP32_LDAPVLVInfo*,UCHAR,LDAPControlW**);
 ULONG ldap_deleteA(WLDAP32_LDAP*,PCHAR);
 ULONG ldap_deleteW(WLDAP32_LDAP*,PWCHAR);
 ULONG ldap_delete_extA(WLDAP32_LDAP*,PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*);
Index: tools/winapi/win32.api
===================================================================
RCS file: /var/cvs/wine/tools/winapi/win32.api,v
retrieving revision 1.56
diff -u -p -r1.56 win32.api
--- tools/winapi/win32.api	21 Nov 2005 12:06:00 -0000	1.56
+++ tools/winapi/win32.api	23 Nov 2005 12:02:21 -0000
@@ -5071,6 +5075,7 @@ void
 
 %long
 
+BOOLEAN
 INT
 HANDLE
 UCHAR
@@ -5082,17 +5087,20 @@ int
 BerElement *
 BERVAL *
 CHAR **
+HANDLE *
 LDAPControlA *
 LDAPControlA **
 LDAPControlW *
 LDAPControlW **
 LDAPModA *[]
 LDAPModW *[]
-LDAP_TIMEVAL *
 PBERVAL *
 PCHAR *
 PCHAR[]
+PLDAP_VERSION_INFO
+PLDAPControlA
 PLDAPControlA *
+PLDAPControlW
 PLDAPControlW *
 PLDAPSortKeyA *
 PLDAPSortKeyW *
@@ -5105,6 +5113,7 @@ WLDAP32_BerElement **
 WLDAP32_LDAP *
 WLDAP32_LDAPMessage *
 WLDAP32_LDAPMessage **
+WLDAP32_LDAPVLVInfo *
 int *
 struct WLDAP32_berval *
 struct WLDAP32_berval **


More information about the wine-patches mailing list