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