Added wrapped libldap_r and liblber (helps wine)

This commit is contained in:
ptitSeb 2021-11-14 15:15:47 +01:00
parent a1573835dd
commit ea837908b6
15 changed files with 896 additions and 2 deletions

View File

@ -340,6 +340,8 @@ set(WRAPPEDS
"${BOX64_ROOT}/src/wrapped/wrappedxkbcommon.c"
"${BOX64_ROOT}/src/wrapped/wrappedxkbcommonx11.c"
"${BOX64_ROOT}/src/wrapped/wrappedxml2.c"
"${BOX64_ROOT}/src/wrapped/wrappedldapr.c"
"${BOX64_ROOT}/src/wrapped/wrappedlber.c"
)
#set(WRAPPEDS_HEAD "${BOX64_ROOT}/src/wrapped/wrappedd3dadapter9_gen.h")

View File

@ -155,8 +155,8 @@ GO("libcups.so.2", libcups)
//GO("libwayland-client.so.0", waylandclient)
GO("libxml2.so.2", xml2)
//GO("libxslt.so.1", xslt)
//GO("libldap_r-2.4.so.2", ldapr)
//GO("liblber-2.4.so.2", lber)
GO("libldap_r-2.4.so.2", ldapr)
GO("liblber-2.4.so.2", lber)
//GO("libnsl.so.1", nsl)
//GO("liblcms2.so.2", lcms2)
GO("libkrb5.so.3", krb5)

View File

@ -452,6 +452,7 @@
#() LFpLp
#() LFppi
#() LFppL
#() LFppp
#() LFSpL
#() pFEip
#() pFEiV
@ -1490,6 +1491,7 @@
#() iFpppippp
#() iFpppuiii
#() iFppppiii
#() iFppppipp
#() iFppppdpi
#() iFpppppip
#() iFpppppup
@ -1604,7 +1606,9 @@
#() iFpppipipi
#() iFpppipppp
#() iFppppiipi
#() iFppppippp
#() iFppppppii
#() iFpppppppi
#() iFpppppppp
#() uFEipipppp
#() uFEpiupppp
@ -1674,6 +1678,7 @@
#() iFEpiiiiipi
#() iFEpppipppp
#() iFEppplPPPP
#() iFEpppppupp
#() iFEppPPPPPP
#() iFiiiiiiiip
#() iFiiiipiiip
@ -1784,6 +1789,7 @@
#() iFEpppipppppp
#() iFEppppiiiiuu
#() iFiiiiiiiiiip
#() iFppippipppip
#() iFppppiiuuiiL
#() uFEpLiupppLuV
#() uFEpLippppLup
@ -1857,12 +1863,14 @@
#() vFppuiiiiipuiiiiiiii
#() vFpppipppppppppppppp
#() iFpppppppppppppppppp
#() LFpppppppppppppppppp
#() pFippppppppppppppppp
#() vFpiiiiiiiiiiiiiiiiii
#() pFiiiippppppppppppppp
#() pFpippppppppppppppppp
#() iFpppppppppppppppppppppp
#() pFipppppppppppppppppppppp
#() iFpppppppppppppppppppppppppppppppppp
#defined(HAVE_LD80BITS) DFD
#defined(HAVE_LD80BITS) vFppippDDC
#!defined(HAVE_LD80BITS) KFK
@ -2373,6 +2381,10 @@ wrappedgtkx112:
wrappedkrb5:
- iFppppppipp:
- krb5_get_init_creds_password
wrappedlber:
wrappedldapr:
- iFpppppupp:
- ldap_sasl_interactive_bind_s
wrappedldlinux:
- pFp:
- __tls_get_addr

View File

@ -0,0 +1,8 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
*******************************************************************/
#ifndef __wrappedlberDEFS_H_
#define __wrappedlberDEFS_H_
#endif // __wrappedlberDEFS_H_

View File

@ -0,0 +1,17 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
*******************************************************************/
#ifndef __wrappedlberTYPES_H_
#define __wrappedlberTYPES_H_
#ifndef LIBNAME
#error You should only #include this file inside a wrapped*.c file
#endif
#ifndef ADDED_FUNCTIONS
#define ADDED_FUNCTIONS()
#endif
#define SUPER() ADDED_FUNCTIONS()
#endif // __wrappedlberTYPES_H_

View File

@ -0,0 +1,8 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
*******************************************************************/
#ifndef __wrappedlberUNDEFS_H_
#define __wrappedlberUNDEFS_H_
#endif // __wrappedlberUNDEFS_H_

View File

@ -0,0 +1,8 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
*******************************************************************/
#ifndef __wrappedldaprDEFS_H_
#define __wrappedldaprDEFS_H_
#endif // __wrappedldaprDEFS_H_

View File

@ -0,0 +1,19 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
*******************************************************************/
#ifndef __wrappedldaprTYPES_H_
#define __wrappedldaprTYPES_H_
#ifndef LIBNAME
#error You should only #include this file inside a wrapped*.c file
#endif
#ifndef ADDED_FUNCTIONS
#define ADDED_FUNCTIONS()
#endif
typedef int64_t (*iFpppppupp_t)(void*, void*, void*, void*, void*, uint64_t, void*, void*);
#define SUPER() ADDED_FUNCTIONS() \
GO(ldap_sasl_interactive_bind_s, iFpppppupp_t)
#endif // __wrappedldaprTYPES_H_

View File

@ -0,0 +1,8 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
*******************************************************************/
#ifndef __wrappedldaprUNDEFS_H_
#define __wrappedldaprUNDEFS_H_
#endif // __wrappedldaprUNDEFS_H_

View File

@ -486,6 +486,7 @@ typedef uintptr_t (*LFpLi_t)(void*, uintptr_t, int64_t);
typedef uintptr_t (*LFpLp_t)(void*, uintptr_t, void*);
typedef uintptr_t (*LFppi_t)(void*, void*, int64_t);
typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t);
typedef uintptr_t (*LFppp_t)(void*, void*, void*);
typedef uintptr_t (*LFSpL_t)(void*, void*, uintptr_t);
typedef void* (*pFEip_t)(x64emu_t*, int64_t, void*);
typedef void* (*pFEiV_t)(x64emu_t*, int64_t, void*);
@ -1524,6 +1525,7 @@ typedef int64_t (*iFpppippi_t)(void*, void*, void*, int64_t, void*, void*, int64
typedef int64_t (*iFpppippp_t)(void*, void*, void*, int64_t, void*, void*, void*);
typedef int64_t (*iFpppuiii_t)(void*, void*, void*, uint64_t, int64_t, int64_t, int64_t);
typedef int64_t (*iFppppiii_t)(void*, void*, void*, void*, int64_t, int64_t, int64_t);
typedef int64_t (*iFppppipp_t)(void*, void*, void*, void*, int64_t, void*, void*);
typedef int64_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int64_t);
typedef int64_t (*iFpppppip_t)(void*, void*, void*, void*, void*, int64_t, void*);
typedef int64_t (*iFpppppup_t)(void*, void*, void*, void*, void*, uint64_t, void*);
@ -1638,7 +1640,9 @@ typedef int64_t (*iFpppiippp_t)(void*, void*, void*, int64_t, int64_t, void*, vo
typedef int64_t (*iFpppipipi_t)(void*, void*, void*, int64_t, void*, int64_t, void*, int64_t);
typedef int64_t (*iFpppipppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*);
typedef int64_t (*iFppppiipi_t)(void*, void*, void*, void*, int64_t, int64_t, void*, int64_t);
typedef int64_t (*iFppppippp_t)(void*, void*, void*, void*, int64_t, void*, void*, void*);
typedef int64_t (*iFppppppii_t)(void*, void*, void*, void*, void*, void*, int64_t, int64_t);
typedef int64_t (*iFpppppppi_t)(void*, void*, void*, void*, void*, void*, void*, int64_t);
typedef int64_t (*iFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*);
typedef uint64_t (*uFEipipppp_t)(x64emu_t*, int64_t, void*, int64_t, void*, void*, void*, void*);
typedef uint64_t (*uFEpiupppp_t)(x64emu_t*, void*, int64_t, uint64_t, void*, void*, void*, void*);
@ -1708,6 +1712,7 @@ typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int64_t, void*,
typedef int64_t (*iFEpiiiiipi_t)(x64emu_t*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
typedef int64_t (*iFEpppipppp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*, void*);
typedef int64_t (*iFEppplPPPP_t)(x64emu_t*, void*, void*, void*, intptr_t, void*, void*, void*, void*);
typedef int64_t (*iFEpppppupp_t)(x64emu_t*, void*, void*, void*, void*, void*, uint64_t, void*, void*);
typedef int64_t (*iFEppPPPPPP_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
typedef int64_t (*iFiiiipiiip_t)(int64_t, int64_t, int64_t, int64_t, void*, int64_t, int64_t, int64_t, void*);
@ -1818,6 +1823,7 @@ typedef void (*vFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*,
typedef int64_t (*iFEpppipppppp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
typedef int64_t (*iFiiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
typedef int64_t (*iFppippipppip_t)(void*, void*, int64_t, void*, void*, int64_t, void*, void*, void*, int64_t, void*);
typedef int64_t (*iFppppiiuuiiL_t)(void*, void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t, uintptr_t);
typedef uint64_t (*uFEpLiupppLuV_t)(x64emu_t*, void*, uintptr_t, int64_t, uint64_t, void*, void*, void*, uintptr_t, uint64_t, void*);
typedef uint64_t (*uFEpLippppLup_t)(x64emu_t*, void*, uintptr_t, int64_t, void*, void*, void*, void*, uintptr_t, uint64_t, void*);
@ -1891,12 +1897,14 @@ typedef void* (*pFppippipipipipipip_t)(void*, void*, int64_t, void*, void*, int6
typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
typedef void (*vFpppipppppppppppppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFpppppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef uintptr_t (*LFpppppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void* (*pFippppppppppppppppp_t)(int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void (*vFpiiiiiiiiiiiiiiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
typedef void* (*pFiiiippppppppppppppp_t)(int64_t, int64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void* (*pFpippppppppppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFpppppppppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void* (*pFipppppppppppppppppppppp_t)(int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFpppppppppppppppppppppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
#if defined(HAVE_LD80BITS)
typedef long double (*DFD_t)(long double);
@ -2376,6 +2384,7 @@ void LFpLi(x64emu_t *emu, uintptr_t fcn) { LFpLi_t fn = (LFpLi_t)fcn; R_RAX=(uin
void LFpLp(x64emu_t *emu, uintptr_t fcn) { LFpLp_t fn = (LFpLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
void LFppi(x64emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
void LFppL(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
void LFppp(x64emu_t *emu, uintptr_t fcn) { LFppp_t fn = (LFppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
void LFSpL(x64emu_t *emu, uintptr_t fcn) { LFSpL_t fn = (LFSpL_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (uintptr_t)R_RDX); }
void pFEip(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI); }
void pFEiV(x64emu_t *emu, uintptr_t fcn) { pFEiV_t fn = (pFEiV_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)(R_RSP + 8)); }
@ -3414,6 +3423,7 @@ void iFpppippi(x64emu_t *emu, uintptr_t fcn) { iFpppippi_t fn = (iFpppippi_t)fcn
void iFpppippp(x64emu_t *emu, uintptr_t fcn) { iFpppippp_t fn = (iFpppippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void iFpppuiii(x64emu_t *emu, uintptr_t fcn) { iFpppuiii_t fn = (iFpppuiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
void iFppppiii(x64emu_t *emu, uintptr_t fcn) { iFppppiii_t fn = (iFppppiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
void iFppppipp(x64emu_t *emu, uintptr_t fcn) { iFppppipp_t fn = (iFppppipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void iFppppdpi(x64emu_t *emu, uintptr_t fcn) { iFppppdpi_t fn = (iFppppdpi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (int64_t)R_R9); }
void iFpppppip(x64emu_t *emu, uintptr_t fcn) { iFpppppip_t fn = (iFpppppip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
void iFpppppup(x64emu_t *emu, uintptr_t fcn) { iFpppppup_t fn = (iFpppppup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); }
@ -3528,7 +3538,9 @@ void iFpppiippp(x64emu_t *emu, uintptr_t fcn) { iFpppiippp_t fn = (iFpppiippp_t)
void iFpppipipi(x64emu_t *emu, uintptr_t fcn) { iFpppipipi_t fn = (iFpppipipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
void iFpppipppp(x64emu_t *emu, uintptr_t fcn) { iFpppipppp_t fn = (iFpppipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void iFppppiipi(x64emu_t *emu, uintptr_t fcn) { iFppppiipi_t fn = (iFppppiipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
void iFppppippp(x64emu_t *emu, uintptr_t fcn) { iFppppippp_t fn = (iFppppippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void iFppppppii(x64emu_t *emu, uintptr_t fcn) { iFppppppii_t fn = (iFppppppii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
void iFpppppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppppi_t fn = (iFpppppppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
void iFpppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppp_t fn = (iFpppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void uFEipipppp(x64emu_t *emu, uintptr_t fcn) { uFEipipppp_t fn = (uFEipipppp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void uFEpiupppp(x64emu_t *emu, uintptr_t fcn) { uFEpiupppp_t fn = (uFEpiupppp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
@ -3598,6 +3610,7 @@ void vFpppppippp(x64emu_t *emu, uintptr_t fcn) { vFpppppippp_t fn = (vFpppppippp
void iFEpiiiiipi(x64emu_t *emu, uintptr_t fcn) { iFEpiiiiipi_t fn = (iFEpiiiiipi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
void iFEpppipppp(x64emu_t *emu, uintptr_t fcn) { iFEpppipppp_t fn = (iFEpppipppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void iFEppplPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppplPPPP_t fn = (iFEppplPPPP_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
void iFEpppppupp(x64emu_t *emu, uintptr_t fcn) { iFEpppppupp_t fn = (iFEpppppupp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void iFEppPPPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppPPPPPP_t fn = (iFEppPPPPPP_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
void iFiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiip_t fn = (iFiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
void iFiiiipiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiipiiip_t fn = (iFiiiipiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
@ -3708,6 +3721,7 @@ void vFppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppppppp_t fn = (vFppppp
void iFEpppipppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppipppppp_t fn = (iFEpppipppppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuu_t fn = (iFEppppiiiiuu_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiiip_t fn = (iFiiiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
void iFppippipppip(x64emu_t *emu, uintptr_t fcn) { iFppippipppip_t fn = (iFppippipppip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuiiL_t fn = (iFppppiiuuiiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40)); }
void uFEpLiupppLuV(x64emu_t *emu, uintptr_t fcn) { uFEpLiupppLuV_t fn = (uFEpLiupppLuV_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), (void*)(R_RSP + 32)); }
void uFEpLippppLup(x64emu_t *emu, uintptr_t fcn) { uFEpLippppLup_t fn = (uFEpLippppLup_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
@ -3781,12 +3795,14 @@ void pFppippipipipipipip(x64emu_t *emu, uintptr_t fcn) { pFppippipipipipipip_t f
void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(int64_t*)(R_RSP + 72), *(int64_t*)(R_RSP + 80), *(int64_t*)(R_RSP + 88), *(int64_t*)(R_RSP + 96)); }
void vFpppipppppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppipppppppppppppp_t fn = (vFpppipppppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96)); }
void iFpppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppppppppp_t fn = (iFpppppppppppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96)); }
void LFpppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { LFpppppppppppppppppp_t fn = (LFpppppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96)); }
void pFippppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFippppppppppppppppp_t fn = (pFippppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96)); }
void vFpiiiiiiiiiiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiiiiiiiiiiiiii_t fn = (vFpiiiiiiiiiiiiiiiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(int64_t*)(R_RSP + 72), *(int64_t*)(R_RSP + 80), *(int64_t*)(R_RSP + 88), *(int64_t*)(R_RSP + 96), *(int64_t*)(R_RSP + 104)); }
void pFiiiippppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFiiiippppppppppppppp_t fn = (pFiiiippppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104)); }
void pFpippppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpippppppppppppppppp_t fn = (pFpippppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104)); }
void iFpppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppppppppppppp_t fn = (iFpppppppppppppppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128)); }
void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFipppppppppppppppppppppp_t fn = (pFipppppppppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128), *(void**)(R_RSP + 136)); }
void iFpppppppppppppppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppppppppppppppppppppppppp_t fn = (iFpppppppppppppppppppppppppppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128), *(void**)(R_RSP + 136), *(void**)(R_RSP + 144), *(void**)(R_RSP + 152), *(void**)(R_RSP + 160), *(void**)(R_RSP + 168), *(void**)(R_RSP + 176), *(void**)(R_RSP + 184), *(void**)(R_RSP + 192), *(void**)(R_RSP + 200), *(void**)(R_RSP + 208), *(void**)(R_RSP + 216), *(void**)(R_RSP + 224)); }
#if defined(HAVE_LD80BITS)
void DFD(x64emu_t *emu, uintptr_t fcn) { DFD_t fn = (DFD_t)fcn; long double ld=fn(LD2localLD((void*)(R_RSP + 8))); fpu_do_push(emu); ST0val = ld; }
@ -4214,6 +4230,7 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &LFpLp) return 1;
if (fun == &LFppi) return 1;
if (fun == &LFppL) return 1;
if (fun == &LFppp) return 1;
if (fun == &pFiii) return 1;
if (fun == &pFiiu) return 1;
if (fun == &pFiip) return 1;

View File

@ -485,6 +485,7 @@ void LFpLi(x64emu_t *emu, uintptr_t fnc);
void LFpLp(x64emu_t *emu, uintptr_t fnc);
void LFppi(x64emu_t *emu, uintptr_t fnc);
void LFppL(x64emu_t *emu, uintptr_t fnc);
void LFppp(x64emu_t *emu, uintptr_t fnc);
void LFSpL(x64emu_t *emu, uintptr_t fnc);
void pFEip(x64emu_t *emu, uintptr_t fnc);
void pFEiV(x64emu_t *emu, uintptr_t fnc);
@ -1523,6 +1524,7 @@ void iFpppippi(x64emu_t *emu, uintptr_t fnc);
void iFpppippp(x64emu_t *emu, uintptr_t fnc);
void iFpppuiii(x64emu_t *emu, uintptr_t fnc);
void iFppppiii(x64emu_t *emu, uintptr_t fnc);
void iFppppipp(x64emu_t *emu, uintptr_t fnc);
void iFppppdpi(x64emu_t *emu, uintptr_t fnc);
void iFpppppip(x64emu_t *emu, uintptr_t fnc);
void iFpppppup(x64emu_t *emu, uintptr_t fnc);
@ -1637,7 +1639,9 @@ void iFpppiippp(x64emu_t *emu, uintptr_t fnc);
void iFpppipipi(x64emu_t *emu, uintptr_t fnc);
void iFpppipppp(x64emu_t *emu, uintptr_t fnc);
void iFppppiipi(x64emu_t *emu, uintptr_t fnc);
void iFppppippp(x64emu_t *emu, uintptr_t fnc);
void iFppppppii(x64emu_t *emu, uintptr_t fnc);
void iFpppppppi(x64emu_t *emu, uintptr_t fnc);
void iFpppppppp(x64emu_t *emu, uintptr_t fnc);
void uFEipipppp(x64emu_t *emu, uintptr_t fnc);
void uFEpiupppp(x64emu_t *emu, uintptr_t fnc);
@ -1707,6 +1711,7 @@ void vFpppppippp(x64emu_t *emu, uintptr_t fnc);
void iFEpiiiiipi(x64emu_t *emu, uintptr_t fnc);
void iFEpppipppp(x64emu_t *emu, uintptr_t fnc);
void iFEppplPPPP(x64emu_t *emu, uintptr_t fnc);
void iFEpppppupp(x64emu_t *emu, uintptr_t fnc);
void iFEppPPPPPP(x64emu_t *emu, uintptr_t fnc);
void iFiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
void iFiiiipiiip(x64emu_t *emu, uintptr_t fnc);
@ -1817,6 +1822,7 @@ void vFppppppppppp(x64emu_t *emu, uintptr_t fnc);
void iFEpppipppppp(x64emu_t *emu, uintptr_t fnc);
void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fnc);
void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
void iFppippipppip(x64emu_t *emu, uintptr_t fnc);
void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fnc);
void uFEpLiupppLuV(x64emu_t *emu, uintptr_t fnc);
void uFEpLippppLup(x64emu_t *emu, uintptr_t fnc);
@ -1890,12 +1896,14 @@ void pFppippipipipipipip(x64emu_t *emu, uintptr_t fnc);
void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fnc);
void vFpppipppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void iFpppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void LFpppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void pFippppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void vFpiiiiiiiiiiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
void pFiiiippppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void pFpippppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void iFpppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void iFpppppppppppppppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
#if defined(HAVE_LD80BITS)
void DFD(x64emu_t *emu, uintptr_t fnc);

24
src/wrapped/wrappedlber.c Executable file
View File

@ -0,0 +1,24 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <dlfcn.h>
#include "wrappedlibs.h"
#include "wrapper.h"
#include "bridge.h"
#include "librarian/library_private.h"
#include "x64emu.h"
const char* lberName =
#ifdef ANDROID
"liblber-2.4.so"
#else
"liblber-2.4.so.2"
#endif
;
#define LIBNAME lber
#include "wrappedlib_init.h"

140
src/wrapped/wrappedlber_private.h Executable file
View File

@ -0,0 +1,140 @@
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh....
#endif
//GO(ber_alloc,
GO(ber_alloc_t, pFi)
//GO(ber_bprint,
GO(ber_bvarray_add, vFpp)
//GO(ber_bvarray_add_x,
//GO(ber_bvarray_dup_x,
GO(ber_bvarray_free, vFp)
//GO(ber_bvarray_free_x,
GO(ber_bvdup, pFp)
GO(ber_bvecadd, vFpp)
//GO(ber_bvecadd_x,
GO(ber_bvecfree, vFp)
//GO(ber_bvecfree_x,
GO(ber_bvfree, vFp)
//GO(ber_bvfree_x,
//GO(ber_bvreplace,
//GO(ber_bvreplace_x,
GO(ber_bvstr, pFp)
GO(ber_bvstrdup, pFp)
//GO(ber_decode_oid,
//GO(ber_dump,
//GO(ber_dup,
GO(ber_dupbv, pFpp)
//GO(ber_dupbv_x,
//GO(ber_encode_oid,
//GO(ber_errno_addr,
//GO(ber_error_print,
GO(ber_first_element, LFppp)
GO(ber_flatten, iFpp)
//GO(ber_flatten2,
GO(ber_flush, iFppi)
GO(ber_flush2, iFppi)
GO(ber_free, vFpi)
//GO(ber_free_buf,
GO(ber_get_bitstringa, LFppp)
GO(ber_get_boolean, LFpp)
GO(ber_get_enum, iFpp)
GO(ber_get_int, iFpp)
GO(ber_get_next, LFppp)
GO(ber_get_null, LFp)
//GO(ber_get_option,
GO(ber_get_stringa, LFpp)
GO(ber_get_stringal, LFpp)
//GO(ber_get_stringa_null,
GO(ber_get_stringb, LFppp)
GO(ber_get_stringbv, LFppi)
//GO(ber_get_stringbv_null,
//GO(ber_get_tag,
GO(ber_init, pFp)
GO(ber_init2, vFppi)
//GO(ber_init_w_nullc,
//DATAB(ber_int_errno_fn,
//DATAB(ber_int_log_proc,
//DATAB(ber_int_memory_fns,
//DATAB(ber_int_options,
//GO(ber_int_sb_close,
//GO(ber_int_sb_destroy,
//GO(ber_int_sb_init,
//GO(ber_int_sb_read,
//GO(ber_int_sb_write,
//GO(ber_len,
//GO(ber_log_bprint,
//GO(ber_log_dump,
//GO(ber_log_sos_dump,
//GO(ber_mem2bv,
//GO(ber_mem2bv_x,
//GO(ber_memalloc,
//GO(ber_memalloc_x,
//GO(ber_memcalloc,
//GO(ber_memcalloc_x,
//GO(ber_memfree,
//GO(ber_memfree_x,
//GO(ber_memrealloc,
//GO(ber_memrealloc_x,
//GO(ber_memvfree,
//GO(ber_memvfree_x,
GO(ber_next_element, LFppp)
//GO(ber_peek_element,
GO(ber_peek_tag, LFpp)
GO(ber_printf, iFpppppppppppppppppppppppppppppppppp) //VAArg. May need some wrapping...
//GO(ber_ptrlen,
//GO(ber_put_berval,
GO(ber_put_bitstring, iFppLL)
GO(ber_put_boolean, iFpiL)
GO(ber_put_enum, iFpiL)
GO(ber_put_int, iFpiL)
GO(ber_put_null, iFpL)
GO(ber_put_ostring, iFppLL)
GO(ber_put_seq, iFp)
GO(ber_put_set, iFp)
GO(ber_put_string, iFppL)
//DATAB(ber_pvt_err_file,
//GO(ber_pvt_log_output,
//DATA(ber_pvt_log_print,
//GO(ber_pvt_log_printf,
//DATAB(ber_pvt_opt_on,
//GO(ber_pvt_sb_buf_destroy,
//GO(ber_pvt_sb_buf_init,
//GO(ber_pvt_sb_copy_out,
//GO(ber_pvt_sb_do_write,
//GO(ber_pvt_sb_grow_buffer,
//GO(ber_pvt_socket_set_nonblock,
//GO(ber_read,
//GO(ber_realloc,
//GO(ber_remaining,
//GO(ber_reset,
//GO(ber_rewind,
GO(ber_scanf, LFpppppppppppppppppp) // VAArg
//GO(ber_set_option,
//GO(ber_skip_data,
//GO(ber_skip_element,
GO(ber_skip_tag, LFpp)
//GO(ber_sockbuf_add_io,
//GO(ber_sockbuf_alloc,
//GO(ber_sockbuf_ctrl,
//GO(ber_sockbuf_free,
//DATA(ber_sockbuf_io_debug,
//DATA(ber_sockbuf_io_fd,
//DATA(ber_sockbuf_io_readahead,
//DATA(ber_sockbuf_io_tcp,
//GO(ber_sockbuf_remove_io,
//GO(ber_sos_dump,
//GO(ber_start,
GO(ber_start_seq, iFpL)
GO(ber_start_set, iFpL)
GO(ber_str2bv, pFpLip)
//GO(ber_str2bv_x,
//GO(ber_strdup,
//GO(ber_strdup_x,
//GO(ber_strndup,
//GO(ber_strndup_x,
//GO(ber_strnlen,
//GO(ber_write,
//GO(der_alloc,
//GO(lutil_debug,
//GO(lutil_debug_file,

113
src/wrapped/wrappedldapr.c Executable file
View File

@ -0,0 +1,113 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <dlfcn.h>
#include "wrappedlibs.h"
#include "debug.h"
#include "wrapper.h"
#include "bridge.h"
#include "librarian/library_private.h"
#include "x64emu.h"
#include "emu/x64emu_private.h"
#include "box64context.h"
#include "librarian.h"
#include "callback.h"
const char* ldaprName =
#ifdef ANDROID
"libldap_r-2.4.so"
#else
"libldap_r-2.4.so.2"
#endif
;
#define LIBNAME ldapr
static library_t *my_lib = NULL;
typedef int (*iFpppppupp_t) (void*, void*, void*, void* , void*, unsigned, void*, void*);
#define SUPER() \
GO(ldap_sasl_interactive_bind_s, iFpppppupp_t) \
typedef struct ldapr_my_s {
// functions
#define GO(A, B) B A;
SUPER()
#undef GO
} ldapr_my_t;
void* getLdaprMy(library_t* lib)
{
ldapr_my_t* my = (ldapr_my_t*)calloc(1, sizeof(ldapr_my_t));
#define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
SUPER()
#undef GO
return my;
}
#undef SUPER
void freeLdaprMy(void* lib)
{
//ldapr_my_t *my = (ldapr_my_t *)lib;
}
#define SUPER() \
GO(0) \
GO(1) \
GO(2) \
GO(3) \
GO(4)
// LDAP_SASL_INTERACT_PROC ...
#define GO(A) \
static uintptr_t my_LDAP_SASL_INTERACT_PROC_fct_##A = 0; \
static int my_LDAP_SASL_INTERACT_PROC_##A(void* a, unsigned b, void* c, void* d) \
{ \
return RunFunction(my_context, my_LDAP_SASL_INTERACT_PROC_fct_##A, 4, a, b, c, d); \
}
SUPER()
#undef GO
static void* find_LDAP_SASL_INTERACT_PROC_Fct(void* fct)
{
if(!fct) return fct;
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
#define GO(A) if(my_LDAP_SASL_INTERACT_PROC_fct_##A == (uintptr_t)fct) return my_LDAP_SASL_INTERACT_PROC_##A;
SUPER()
#undef GO
#define GO(A) if(my_LDAP_SASL_INTERACT_PROC_fct_##A == 0) {my_LDAP_SASL_INTERACT_PROC_fct_##A = (uintptr_t)fct; return my_LDAP_SASL_INTERACT_PROC_##A; }
SUPER()
#undef GO
printf_log(LOG_NONE, "Warning, no more slot for libldap_r LDAP_SASL_INTERACT_PROC callback\n");
return NULL;
}
#undef SUPER
EXPORT int my_ldap_sasl_interactive_bind_s(x64emu_t* emu, void* ld, void* dn, void* mechs, void* sctrls, void* cctrls, unsigned flags, void* f, void* defaults)
{
ldapr_my_t* my = (ldapr_my_t*)my_lib->priv.w.p2;
return my->ldap_sasl_interactive_bind_s(ld, dn, mechs, sctrls, cctrls, flags, find_LDAP_SASL_INTERACT_PROC_Fct(f), defaults);
}
#ifdef ANDROID
#define NEEDED_LIB "liblber-2.4.so"
#else
#define NEEDED_LIB "liblber-2.4.so.2"
#endif
#define CUSTOM_INIT \
lib->priv.w.p2 = getLdaprMy(lib); \
lib->priv.w.needed = 1; \
lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \
lib->priv.w.neededlibs[0] = strdup(NEEDED_LIB); \
my_lib = lib;
#define CUSTOM_FINI \
freeLdaprMy(lib->priv.w.p2); \
free(lib->priv.w.p2); \
my_lib = NULL;
#include "wrappedlib_init.h"

View File

@ -0,0 +1,510 @@
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh....
#endif
GO(ldap_abandon, iFpi)
GO(ldap_abandon_ext, iFpipp)
//GO(ldap_add,
GO(ldap_add_ext, iFpppppp)
GO(ldap_add_ext_s, iFppppp)
//GO(ldap_add_result_entry,
//GO(ldap_add_s,
//GO(ldap_alloc_ber_with_options,
//GO(ldap_append_referral,
//GO(ldap_attributetype2bv,
//GO(ldap_attributetype2name,
//GO(ldap_attributetype2str,
//GO(ldap_attributetype_free,
GO(ldap_bind, iFpppi)
GO(ldap_bind_s, iFpppi)
//GO(ldap_build_add_req,
//GO(ldap_build_bind_req,
//GO(ldap_build_compare_req,
//GO(ldap_build_delete_req,
//GO(ldap_build_extended_req,
//GO(ldap_build_moddn_req,
//GO(ldap_build_modify_req,
//GO(ldap_build_search_req,
//GO(ldap_bv2dn,
//GO(ldap_bv2dn_x,
//GO(ldap_bv2escaped_filter_value,
//GO(ldap_bv2escaped_filter_value_len,
//GO(ldap_bv2escaped_filter_value_x,
//GO(ldap_bv2rdn,
//GO(ldap_bv2rdn_x,
//GO(ldap_cancel,
//GO(ldap_cancel_s,
//GO(ldap_charray2str,
//GO(ldap_charray_add,
//GO(ldap_charray_dup,
//GO(ldap_charray_free,
//GO(ldap_charray_inlist,
//GO(ldap_charray_merge,
//GO(ldap_chase_referrals,
//GO(ldap_chase_v3referrals,
//GO(ldap_clear_select_write,
//GO(ldap_compare,
GO(ldap_compare_ext, iFppppppp)
GO(ldap_compare_ext_s, iFpppppp)
//GO(ldap_compare_s,
//GO(ldap_connect_to_host,
//GO(ldap_connect_to_path,
//GO(ldap_contentrule2bv,
//GO(ldap_contentrule2name,
//GO(ldap_contentrule2str,
//GO(ldap_contentrule_free,
GO(ldap_control_create, iFpipip)
GO(ldap_control_dup, pFp)
GO(ldap_control_find, pFppp)
GO(ldap_control_free, vFp)
GO(ldap_controls_dup, pFp)
GO(ldap_controls_free, vFp)
GO(ldap_count_entries, iFpp)
//GO(ldap_count_messages,
GO(ldap_count_references, iFpp)
GO(ldap_count_values, iFp)
GO(ldap_count_values_len, iFp)
//GO(ldap_create,
//GO(ldap_create_assertion_control,
//GO(ldap_create_assertion_control_value,
//GO(ldap_create_control,
//GO(ldap_create_deref_control,
//GO(ldap_create_deref_control_value,
//GO(ldap_create_page_control,
//GO(ldap_create_page_control_value,
//GO(ldap_create_passwordpolicy_control,
//GO(ldap_create_session_tracking_control,
//GO(ldap_create_session_tracking_value,
GO(ldap_create_sort_control, iFppip)
//GO(ldap_create_sort_control_value,
//GO(ldap_create_sort_keylist,
GO(ldap_create_vlv_control, iFppp)
//GO(ldap_create_vlv_control_value,
GO(ldap_dcedn2dn, pFp)
GO(ldap_delete, iFpp)
GO(ldap_delete_ext, iFppppp)
GO(ldap_delete_ext_s, iFpppp)
//GO(ldap_delete_result_entry,
GO(ldap_delete_s, iFpp)
//GO(ldap_derefresponse_free,
//GO(ldap_destroy,
GO(ldap_dn2ad_canonical, pFp)
//GO(ldap_dn2bv,
//GO(ldap_dn2bv_x,
GO(ldap_dn2dcedn, pFp)
//GO(ldap_dn2domain,
GO(ldap_dn2str, iFppu)
GO(ldap_dn2ufn, pFp)
//GO(ldap_dnfree,
//GO(ldap_dnfree_x,
//GO(ldap_dn_normalize,
//GO(ldap_domain2dn,
//GO(ldap_domain2hostlist,
//GO(ldap_dump_connection,
//GO(ldap_dump_requests_and_responses,
//GO(ldap_dup,
//GO(ldap_err2string,
GO(ldap_explode_dn, pFpi)
GO(ldap_explode_rdn, pFpi)
GO(ldap_extended_operation, iFpppppp)
GO(ldap_extended_operation_s, iFppppppp)
//GO(ldap_find_control,
//GO(ldap_find_request_by_msgid,
GO(ldap_first_attribute, pFppp)
GO(ldap_first_entry, pFpp)
//GO(ldap_first_message,
GO(ldap_first_reference, pFpp)
//GO(ldap_free_connection,
//GO(ldap_free_request,
//GO(ldap_free_select_info,
//GO(ldap_free_sort_keylist,
//GO(ldap_free_urldesc,
//GO(ldap_free_urllist,
//GO(ldap_get_attribute_ber,
GO(ldap_get_dn, pFpp)
//GO(ldap_get_dn_ber,
//GO(ldap_get_entry_controls,
//GO(ldap_get_message_ber,
GO(ldap_get_option, iFpip)
GO(ldap_get_values, pFppp)
GO(ldap_get_values_len, pFppp)
//GO(ldap_gssapi_bind,
//GO(ldap_gssapi_bind_s,
//GO(ldap_host_connected_to,
GO(ldap_init, pFpi)
GO(ldap_init_fd, iFuipp)
GO(ldap_initialize, iFpp)
GO(ldap_install_tls, iFp)
//GO(ldap_int_bisect_delete,
//GO(ldap_int_bisect_find,
//GO(ldap_int_bisect_insert,
//GO(ldap_int_check_async_open,
//GO(ldap_int_client_controls,
//GO(ldap_int_connect_cbs,
//GO(ldap_int_error_init,
//GO(ldap_int_flush_request,
//DATA(ldap_int_global_options,
//DATAB(ldap_int_gmtime_mutex,
//DATAB(ldap_int_hostname,
//DATAB(ldap_int_hostname_mutex,
//DATAB(ldap_int_inet4or6,
//GO(ldap_int_initialize,
//GO(ldap_int_initialize_global_options,
//GO(ldap_int_msgtype2str,
//GO(ldap_int_open_connection,
//GO(ldap_int_parse_numericoid,
//GO(ldap_int_parse_ruleid,
//GO(ldap_int_poll,
//GO(ldap_int_put_controls,
//DATAB(ldap_int_resolv_mutex,
//GO(ldap_int_sasl_bind,
//GO(ldap_int_sasl_close,
//GO(ldap_int_sasl_config,
//GO(ldap_int_sasl_external,
//GO(ldap_int_sasl_get_option,
//GO(ldap_int_sasl_init,
//GO(ldap_int_sasl_open,
//GO(ldap_int_sasl_set_option,
//GO(ldap_int_select,
//GO(ldap_int_thread_destroy,
//GO(ldap_int_thread_initialize,
//GO(ldap_int_thread_pool_shutdown,
//GO(ldap_int_thread_pool_startup,
//GO(ldap_int_timeval_dup,
//GO(ldap_int_tls_config,
//GO(ldap_int_tls_destroy,
//DATA(ldap_int_tls_impl,
//GO(ldap_int_tls_start,
//GO(ldap_int_utils_init,
//GO(ldap_is_ldapi_url,
//GO(ldap_is_ldaps_url,
//GO(ldap_is_ldap_url,
//GO(ldap_is_read_ready,
//GO(ldap_is_write_ready,
//GO(ldap_ld_free,
//GO(ldap_log_printf,
//GO(ldap_mark_select_clear,
//GO(ldap_mark_select_read,
//GO(ldap_mark_select_write,
//GO(ldap_matchingrule2bv,
//GO(ldap_matchingrule2name,
//GO(ldap_matchingrule2str,
//GO(ldap_matchingrule_free,
//GO(ldap_matchingruleuse2bv,
//GO(ldap_matchingruleuse2name,
//GO(ldap_matchingruleuse2str,
//GO(ldap_matchingruleuse_free,
GO(ldap_memalloc, pFL)
GO(ldap_memcalloc, pFLL)
GO(ldap_memfree, vFp)
GO(ldap_memrealloc, pFpL)
GO(ldap_memvfree, vFp)
//GO(ldap_modify,
GO(ldap_modify_ext, iFpppppp)
GO(ldap_modify_ext_s, iFppppp)
//GO(ldap_modify_s,
//GO(ldap_modrdn,
//GO(ldap_modrdn2,
//GO(ldap_modrdn2_s,
//GO(ldap_modrdn_s,
GO(ldap_mods_free, vFpp)
//GO(ldap_msgdelete,
GO(ldap_msgfree, iFp)
GO(ldap_msgid, iFp)
GO(ldap_msgtype, iFp)
//GO(ldap_nameform2bv,
//GO(ldap_nameform2name,
//GO(ldap_nameform2str,
//GO(ldap_nameform_free,
//GO(ldap_new_connection,
//GO(ldap_new_select_info,
GO(ldap_next_attribute, pFppp)
GO(ldap_next_entry, pFpp)
//GO(ldap_next_message,
GO(ldap_next_reference, pFpp)
//GO(ldap_ntlm_bind,
//GO(ldap_objectclass2bv,
//GO(ldap_objectclass2name,
//GO(ldap_objectclass2str,
//GO(ldap_objectclass_free,
GO(ldap_open, pFpi)
//GO(ldap_open_defconn,
//GO(ldap_open_internal_connection,
//GO(ldap_parse_deref_control,
//GO(ldap_parse_derefresponse_control,
GO(ldap_parse_extended_result, iFppppi)
//GO(ldap_parse_intermediate,
//GO(ldap_parse_ntlm_bind_result,
//GO(ldap_parse_page_control,
//GO(ldap_parse_pageresponse_control,
//GO(ldap_parse_passwd,
//GO(ldap_parse_passwordpolicy_control,
GO(ldap_parse_reference, iFppppi)
//GO(ldap_parse_refresh,
GO(ldap_parse_result, iFpppppppi)
GO(ldap_parse_sasl_bind_result, iFpppi)
//GO(ldap_parse_session_tracking_control,
GO(ldap_parse_sortresponse_control, iFpppp)
GO(ldap_parse_vlvresponse_control, iFpppppp)
//GO(ldap_parse_whoami,
//GO(ldap_passwd,
//GO(ldap_passwd_s,
//GO(ldap_passwordpolicy_err2txt,
//GO(ldap_perror,
//GO(ldap_put_vrFilter,
//GO(ldap_pvt_bv2scope,
//GO(ldap_pvt_csnstr,
//GO(ldap_pvt_ctime,
//GO(ldap_pvt_discard,
//GO(ldap_pvt_filter_value_unescape,
//GO(ldap_pvt_find_wildcard,
//GO(ldap_pvt_get_controls,
//GO(ldap_pvt_get_fqdn,
//GO(ldap_pvt_get_hname,
//GO(ldap_pvt_gethostbyaddr_a,
//GO(ldap_pvt_gethostbyname_a,
//GO(ldap_pvt_gettime,
//GO(ldap_pvt_hex_unescape,
//GO(ldap_pvt_put_control,
//GO(ldap_pvt_put_filter,
//GO(ldap_pvt_runqueue_find,
//GO(ldap_pvt_runqueue_insert,
//GO(ldap_pvt_runqueue_isrunning,
//GO(ldap_pvt_runqueue_next_sched,
//GO(ldap_pvt_runqueue_persistent_backload,
//GO(ldap_pvt_runqueue_remove,
//GO(ldap_pvt_runqueue_resched,
//GO(ldap_pvt_runqueue_runtask,
//GO(ldap_pvt_runqueue_stoptask,
//GO(ldap_pvt_sasl_generic_install,
//GO(ldap_pvt_sasl_generic_remove,
//GO(ldap_pvt_sasl_getmechs,
//GO(ldap_pvt_sasl_install,
//GO(ldap_pvt_sasl_mutex_dispose,
//GO(ldap_pvt_sasl_mutex_lock,
//GO(ldap_pvt_sasl_mutex_new,
//GO(ldap_pvt_sasl_mutex_unlock,
//GO(ldap_pvt_sasl_remove,
//GO(ldap_pvt_sasl_secprops,
//GO(ldap_pvt_sasl_secprops_unparse,
//GO(ldap_pvt_scope2bv,
//GO(ldap_pvt_scope2str,
//GO(ldap_pvt_search,
//GO(ldap_pvt_search_s,
//DATA(ldap_pvt_sockbuf_io_sasl_generic,
//GO(ldap_pvt_str2lower,
//GO(ldap_pvt_str2lowerbv,
//GO(ldap_pvt_str2scope,
//GO(ldap_pvt_str2upper,
//GO(ldap_pvt_str2upperbv,
//GO(ldap_pvt_strtok,
//GO(ldap_pvt_thread_cond_broadcast,
//GO(ldap_pvt_thread_cond_destroy,
//GO(ldap_pvt_thread_cond_init,
//GO(ldap_pvt_thread_cond_signal,
//GO(ldap_pvt_thread_cond_wait,
//GO(ldap_pvt_thread_create,
//GO(ldap_pvt_thread_destroy,
//GO(ldap_pvt_thread_exit,
//GO(ldap_pvt_thread_get_concurrency,
//GO(ldap_pvt_thread_initialize,
//GO(ldap_pvt_thread_join,
//GO(ldap_pvt_thread_key_create,
//GO(ldap_pvt_thread_key_destroy,
//GO(ldap_pvt_thread_key_getdata,
//GO(ldap_pvt_thread_key_setdata,
//GO(ldap_pvt_thread_kill,
//GO(ldap_pvt_thread_mutex_destroy,
//GO(ldap_pvt_thread_mutex_init,
//GO(ldap_pvt_thread_mutex_lock,
//GO(ldap_pvt_thread_mutex_trylock,
//GO(ldap_pvt_thread_mutex_unlock,
//GO(ldap_pvt_thread_pool_backload,
//GO(ldap_pvt_thread_pool_context,
//GO(ldap_pvt_thread_pool_context_reset,
//GO(ldap_pvt_thread_pool_destroy,
//GO(ldap_pvt_thread_pool_getkey,
//GO(ldap_pvt_thread_pool_idle,
//GO(ldap_pvt_thread_pool_init,
//GO(ldap_pvt_thread_pool_maxthreads,
//GO(ldap_pvt_thread_pool_pause,
//GO(ldap_pvt_thread_pool_pausecheck,
//GO(ldap_pvt_thread_pool_pausing,
//GO(ldap_pvt_thread_pool_purgekey,
//GO(ldap_pvt_thread_pool_query,
//GO(ldap_pvt_thread_pool_resume,
//GO(ldap_pvt_thread_pool_retract,
//GO(ldap_pvt_thread_pool_setkey,
//GO(ldap_pvt_thread_pool_submit,
//GO(ldap_pvt_thread_pool_tid,
//GO(ldap_pvt_thread_pool_unidle,
//GO(ldap_pvt_thread_rdwr_destroy,
//GO(ldap_pvt_thread_rdwr_init,
//GO(ldap_pvt_thread_rdwr_rlock,
//GO(ldap_pvt_thread_rdwr_rtrylock,
//GO(ldap_pvt_thread_rdwr_runlock,
//GO(ldap_pvt_thread_rdwr_wlock,
//GO(ldap_pvt_thread_rdwr_wtrylock,
//GO(ldap_pvt_thread_rdwr_wunlock,
//GO(ldap_pvt_thread_rmutex_destroy,
//GO(ldap_pvt_thread_rmutex_init,
//GO(ldap_pvt_thread_rmutex_lock,
//GO(ldap_pvt_thread_rmutex_trylock,
//GO(ldap_pvt_thread_rmutex_unlock,
//GO(ldap_pvt_thread_self,
//GO(ldap_pvt_thread_set_concurrency,
//GO(ldap_pvt_thread_sleep,
//GO(ldap_pvt_thread_yield,
//GO(ldap_pvt_tls_accept,
//GO(ldap_pvt_tls_check_hostname,
//GO(ldap_pvt_tls_ctx_free,
//GO(ldap_pvt_tls_destroy,
//GO(ldap_pvt_tls_get_my_dn,
//GO(ldap_pvt_tls_get_option,
//GO(ldap_pvt_tls_get_peer_dn,
//GO(ldap_pvt_tls_get_strength,
//GO(ldap_pvt_tls_init,
//GO(ldap_pvt_tls_init_def_ctx,
//GO(ldap_pvt_tls_inplace,
//GO(ldap_pvt_tls_sb_ctx,
//GO(ldap_pvt_tls_set_option,
//GO(ldap_pvt_url_scheme2proto,
//GO(ldap_pvt_url_scheme2tls,
//GO(ldap_pvt_url_scheme_port,
//GO(ldap_rdn2bv,
//GO(ldap_rdn2bv_x,
//GO(ldap_rdn2str,
//GO(ldap_rdnfree,
//GO(ldap_rdnfree_x,
//GO(ldap_refresh,
//GO(ldap_refresh_s,
GO(ldap_rename, iFppppippp)
//GO(ldap_rename2,
//GO(ldap_rename2_s,
GO(ldap_rename_s, iFppppipp)
GO(ldap_result, iFppipp)
//GO(ldap_result2error,
//GO(ldap_return_request,
GO(ldap_sasl_bind, iFppppppp)
GO(ldap_sasl_bind_s, iFppppppp)
//GO(ldap_sasl_interactive_bind,
GOM(ldap_sasl_interactive_bind_s, iFEpppppupp)
//GO(ldap_scherr2str,
//GO(ldap_search,
GO(ldap_search_ext, iFppippipppip)
GO(ldap_search_ext_s, iFppippipppip)
//GO(ldap_search_s,
//GO(ldap_search_st,
//GO(ldap_send_initial_request,
//GO(ldap_send_server_request,
//GO(ldap_send_unbind,
//GO(ldap_set_ber_options,
//GO(ldap_set_nextref_proc,
GO(ldap_set_option, iFpip)
//GOM(ldap_set_rebind_proc, iFEpBp)
//GO(ldap_set_urllist_proc,
GO(ldap_simple_bind, iFppp)
GO(ldap_simple_bind_s, iFppp)
//GO(ldap_sort_entries,
//GO(ldap_sort_strcasecmp,
//GO(ldap_sort_values,
GO(ldap_start_tls, iFp)
GO(ldap_start_tls_s, iFppp)
//GO(ldap_str2attributetype,
//GO(ldap_str2charray,
//GO(ldap_str2contentrule,
GO(ldap_str2dn, iFppu)
//GO(ldap_str2matchingrule,
//GO(ldap_str2matchingruleuse,
//GO(ldap_str2nameform,
//GO(ldap_str2objectclass,
//GO(ldap_str2rdn,
//GO(ldap_str2structurerule,
//GO(ldap_str2syntax,
GO(ldap_strdup, pFp)
//GO(ldap_structurerule2bv,
//GO(ldap_structurerule2name,
//GO(ldap_structurerule2str,
//GO(ldap_structurerule_free,
//GO(ldap_sync_destroy,
//GO(ldap_sync_init,
//GO(ldap_sync_initialize,
//GO(ldap_sync_init_refresh_and_persist,
//GO(ldap_sync_init_refresh_only,
//GO(ldap_sync_poll,
//GO(ldap_syntax2bv,
//GO(ldap_syntax2name,
//GO(ldap_syntax2str,
//GO(ldap_syntax_free,
GO(ldap_tls_inplace, iFp)
//GO(ldap_turn,
//GO(ldap_turn_s,
//GO(ldap_ucs_to_utf8s,
GO(ldap_unbind, iFp)
GO(ldap_unbind_ext, iFppp)
GO(ldap_unbind_ext_s, iFppp)
GO(ldap_unbind_s, iFp)
//GO(ldap_url_desc2str,
//GO(ldap_url_dup,
//GO(ldap_url_duplist,
//GO(ldap_url_list2hosts,
//GO(ldap_url_list2urls,
//GO(ldap_url_parse,
//GO(ldap_url_parse_ext,
//GO(ldap_url_parsehosts,
//GO(ldap_url_parselist,
//GO(ldap_url_parselist_ext,
//GO(ldap_utf8_bytes,
//GO(ldap_utf8_charlen,
//GO(ldap_utf8_charlen2,
//GO(ldap_utf8_chars,
//GO(ldap_utf8_copy,
//GO(ldap_utf8_isalnum,
//GO(ldap_utf8_isalpha,
//GO(ldap_utf8_isascii,
//GO(ldap_utf8_isdigit,
//GO(ldap_utf8_islower,
//GO(ldap_utf8_isspace,
//GO(ldap_utf8_isupper,
//GO(ldap_utf8_isxdigit,
//GO(ldap_utf8_next,
//GO(ldap_utf8_offset,
//GO(ldap_utf8_prev,
//GO(ldap_utf8_strchr,
//GO(ldap_utf8_strcspn,
//GO(ldap_utf8_strpbrk,
//GO(ldap_utf8_strspn,
//GO(ldap_utf8_strtok,
//GO(ldap_value_dup,
GO(ldap_value_free, vFp)
GO(ldap_value_free_len, vFp)
//GO(ldap_whoami,
//GO(ldap_whoami_s,
//GO(ldap_X509dn2bv,
//GO(ldap_x_mbs_to_utf8s,
//GO(ldap_x_mb_to_utf8,
//GO(ldap_x_ucs4_to_utf8,
//GO(ldap_x_utf8s_to_mbs,
//GO(ldap_x_utf8s_to_wcs,
//GO(ldap_x_utf8_to_mb,
//GO(ldap_x_utf8_to_ucs4,
//GO(ldap_x_utf8_to_wc,
//GO(ldap_x_wcs_to_utf8s,
//GO(ldap_x_wc_to_utf8,
//GO(ldif_close,
//GO(ldif_countlines,
//DATAB(ldif_debug,
//GO(ldif_fetch_url,
//GO(ldif_getline,
//GO(ldif_is_not_printable,
//GO(ldif_must_b64_encode_register,
//GO(ldif_must_b64_encode_release,
//GO(ldif_open,
//GO(ldif_open_url,
//GO(ldif_parse_line,
//GO(ldif_parse_line2,
//GO(ldif_put,
//GO(ldif_put_wrap,
//GO(ldif_read_record,
//GO(ldif_sput,
//GO(ldif_sput_wrap,