//krazy:excludeall=style /* w32-ldap-help.h - Map utf8 based API into a wchar_t API. Copyright (c) 2010 Andre Heinecke This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef W32_LDAP_HELP_H #define W32_LDAP_HELP_H #include #ifdef UNICODE # undef UNICODE # include # include # define UNICODE #else # include # include #endif // UNICODE /* * From the openldap manpage: * ber_len_t is an unsigned integer of at least 32 bits used to represent * a length. It is commonly equivalent to a size_t. ber_slen_t is the * signed variant to ber_len_t. */ typedef ULONG ber_len_t; #ifndef timeval #define timeval l_timeval #endif /* Redirect used ldap functions to functions with win_ prefix * to further redirect those depending on the Windows Flavour */ //#define ldap_err2string(a) win_ldap_err2string(a) #define ldap_init(a,b) win_ldap_init(a,b) #define ldap_sasl_bind(a, b, c, d, e, f, g) \ win_ldap_sasl_bind(a, b, c, d, e, f, g) #define ldap_sasl_bind_s(a, b, c, d, e, f, g) \ win_ldap_sasl_bind_s(a, b, c, d, e, f, g) #define ldap_parse_sasl_bind_result ( a, b, c, d, e ) \ win_ldap_parse_sasl_bind_result((a), (b), (c), (d), (e)) #define ldap_get_dn(a, b) win_ldap_get_dn(a,b) #define ldap_memfree(a) win_ldap_memfree(a) #define ldap_mods_free(a, b) win_ldap_mods_free(a, b) #define ldap_first_attribute(a, b, c) \ win_ldap_first_attribute(a, b, c) #define ldap_get_values_len(a, b, c) \ win_ldap_get_values_len(a, b, c) #define ldap_next_attribute(a, b, c ) \ win_ldap_next_attribute(a, b, c) #define ldap_parse_result(a, b, c, d, e, f, g, h) \ win_ldap_parse_result(a, b, c, d, e, f, g, h) #define ldap_parse_extended_result(a, b, c, d, e) \ win_ldap_parse_extended_result(a, b, c, d, e) #define ldap_add_ext(a, b, c, d, e, f) \ win_ldap_add_ext((a), (b), (c), (d), (e), (f)) #define ldap_add_ext_s(a, b, c, d, e) \ win_ldap_add_ext_s((a), (b), (c), (d), (e)) # define ldap_compare_ext_s(a, b, c, d, e, f) \ win_ldap_compare_ext_s((a), (b), (c), (d), (e), (f)) # define ldap_compare_ext(a, b, c, d, e, f, g) \ win_ldap_compare_ext((a), (b), (c), (d), (e), (f), (g)) # define ldap_modify_ext_s(a, b, c, d, e ) \ win_ldap_modify_ext_s((a), (b), (c), (d), (e)) # define ldap_search_ext(a, b, c, d, e, f, g, h, i, j, k) \ win_ldap_search_ext((a), (b), (c), (d), (e), (f), (g), (h), (i), (j), (k)) #define ldap_rename_ext( a, b, c, d, e, f, g, h ) \ win_ldap_rename_ext((a), (b), (c), (d), (e), (f), (g), (h) ) #define ldap_rename( a, b, c, d, e, f, g, h ) \ ldap_rename_ext((a), (b), (c), (d), (e), (f), (g), (h) ) #define ldap_delete_ext(a, b, c, d, e ) \ win_ldap_delete_ext((a), (b), (c), (d), (e) ) #define ldap_modify_ext(a, b, c, d, e, f ) \ win_ldap_modify_ext( (a), (b), (c), (d), (e), (f)) #define ldap_abandon_ext(a, b, c, d) \ win_ldap_abandon_ext((a), (b), (c), (d)) #define ldap_controls_free(a) win_ldap_controls_free(a) // Use the functions that are available on the platform // or redirect to wrapper functions /* Windows offers ASCII variants of most LDAP functions * we only have to ensure that those are used */ # define LDAPControl LDAPControlA # define LDAPMod LDAPModA # define win_ldap_init(a,b) ldap_initA ((a), (b)) # define win_ldap_simple_bind_s(a,b,c) ldap_simple_bind_sA ((a), (b), (c)) # define win_ldap_sasl_bind(a, b, c, d, e, f, g) \ ldap_sasl_bindA(a, b, c, d, e, f, g) # define win_ldap_sasl_bind_s(a, b, c, d, e, f, g) \ ldap_sasl_bind_sA(a, b, c, d, e, f, g) # define win_ldap_search_st(a,b,c,d,e,f,g,h) \ ldap_search_stA ((a), (b), (c), (d), (e), (f), (g), (h)) # define win_ldap_search_ext(a, b, c, d, e, f, g, h, i, j, k) \ my_win_ldap_search_ext((a), (b), (c), (d), (e), (f), (g), (h), (i), (j), (k)) # define win_ldap_get_dn(a, b) ldap_get_dnA((a), (b)) # define win_ldap_first_attribute(a,b,c) ldap_first_attributeA ((a), (b), (c)) # define win_ldap_next_attribute(a,b,c) ldap_next_attributeA ((a), (b), (c)) # define win_ldap_get_values_len(a,b,c) ldap_get_values_lenA ((a), (b), (c)) # define win_ldap_memfree(a) ldap_memfreeA ((a)) # define win_ldap_err2string(a) ldap_err2stringA((a)) # define win_ldap_controls_free(a) ldap_controls_freeA((a)) # define win_ldap_mods_free(a, b) ldap_mods_freeA((a), (b)) # define win_ldap_add_ext(a, b, c, d, e, f) \ ldap_add_extA((a), (b), (c), (d), (e), ((ulong*)f)) # define win_ldap_add_ext_s(a, b, c, d, e) \ ldap_add_ext_sA((a), (b), (c), (d), (e)) # define win_ldap_parse_extended_result(a, b, c, d, e ) \ ldap_parse_extended_resultA((*a), (b), (c), (d), (e)) # define win_ldap_parse_result(a, b, c, d, e, f, g, h ) \ ldap_parse_resultA((a), (b), ((ulong *)c), (d), (e), (f), (g), (h)) # define win_ldap_modify_ext_s(a, b, c, d, e ) \ ldap_modify_ext_sW((a), (b), (c), (d), (e)) # define win_ldap_compare_ext_s(a, b, c, d, e, f ) \ ldap_compare_ext_sA((a), (b), (c), (d), (e), (f)) #endif /*W32_LDAP_HELP_H*/