diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-26 14:42:50 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-26 14:42:50 +0100 |
| commit | 9f01b2ec0d43ea0547f5ae81b76a84bf16f5583a (patch) | |
| tree | 9b6b2488a8f18d7885b84233f87f3efd88f889f7 /src | |
| parent | 86c5dfd664ad6f53c03b60b71d76886701b54f9c (diff) | |
| download | box64-9f01b2ec0d43ea0547f5ae81b76a84bf16f5583a.tar.gz box64-9f01b2ec0d43ea0547f5ae81b76a84bf16f5583a.zip | |
Added wrapped libcups, plus some changes in wrapped libSDL2 and pthread
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 2 | ||||
| -rwxr-xr-x | src/libtools/threads.c | 15 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 5 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 10 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 5 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibcups.c | 59 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibcups_private.h | 568 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibpthread_private.h | 15 | ||||
| -rwxr-xr-x | src/wrapped/wrappedsdl2_private.h | 7 |
9 files changed, 679 insertions, 7 deletions
diff --git a/src/library_list.h b/src/library_list.h index 0f74ea86..23257e82 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -126,7 +126,7 @@ GO("libICE.so.6", libice) //GO("libtcmalloc_minimal.so.4", tcmallocminimal) //GO("libmpg123.so.0", mpg123) GO("libgnutls.so.30", gnutls) -//GO("libcups.so.2", libcups) +GO("libcups.so.2", libcups) //GO("d3dadapter9.so.1", d3dadapter9) //GO("libvulkan.so.1", vulkan) //GO("libvulkan.so", vulkan) diff --git a/src/libtools/threads.c b/src/libtools/threads.c index 2a69a278..aab69c76 100755 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -26,6 +26,7 @@ #ifdef DYNAREC #include "dynablock.h" #endif +//#define ALIGN_COND void _pthread_cleanup_push_defer(void* buffer, void* routine, void* arg); // declare hidden functions void _pthread_cleanup_pop_restore(void* buffer, int exec); @@ -494,6 +495,9 @@ EXPORT int my_pthread_key_create(x64emu_t* emu, void* key, void* dtor) } EXPORT int my___pthread_key_create(x64emu_t* emu, void* key, void* dtor) __attribute__((alias("my_pthread_key_create"))); +pthread_mutex_t* getAlignedMutex(pthread_mutex_t* m); + +#ifdef ALIGN_COND // phtread_cond_init with null attr seems to only write 1 (NULL) dword on x86, while it's 48 bytes on ARM. // Not sure why as sizeof(pthread_cond_init) is 48 on both platform... But Neverwinter Night init seems to rely on that // What about cond that are statically initialized? @@ -553,7 +557,6 @@ static void del_cond(void* cond) } pthread_mutex_unlock(&my_context->mutex_thread); } -pthread_mutex_t* getAlignedMutex(pthread_mutex_t* m); EXPORT int my_pthread_cond_broadcast(x64emu_t* emu, void* cond) { @@ -587,6 +590,12 @@ EXPORT int my_pthread_cond_wait(x64emu_t* emu, void* cond, void* mutex) pthread_cond_t * c = get_cond(cond); return pthread_cond_wait(c, getAlignedMutex((pthread_mutex_t*)mutex)); } +#else +EXPORT int my_pthread_cond_wait(x64emu_t* emu, pthread_cond_t* cond, void* mutex) +{ + return pthread_cond_wait(cond, getAlignedMutex((pthread_mutex_t*)mutex)); +} +#endif //EXPORT int my_pthread_attr_setscope(x64emu_t* emu, void* attr, int scope) //{ @@ -754,7 +763,9 @@ emu_jmpbuf_t* GetJmpBuf() void init_pthread_helper() { InitCancelThread(); +#ifdef ALIGN_COND mapcond = kh_init(mapcond); +#endif pthread_key_create(&jmpbuf_key, emujmpbuf_destroy); #ifndef NOALIGN unaligned_mutex = kh_init(mutex); @@ -765,6 +776,7 @@ void fini_pthread_helper(box64context_t* context) { FreeCancelThread(context); CleanStackSize(context); +#ifdef ALIGN_COND pthread_cond_t *cond; kh_foreach_value(mapcond, cond, pthread_cond_destroy(cond); @@ -772,6 +784,7 @@ void fini_pthread_helper(box64context_t* context) ); kh_destroy(mapcond, mapcond); mapcond = NULL; +#endif #ifndef NOALIGN pthread_mutex_t *m; kh_foreach_value(unaligned_mutex, m, diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index e5357834..4f7a1a53 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -765,6 +765,7 @@ #() iFpiiiii #() iFpiiipp #() iFpiippp +#() iFpippip #() iFpipppp #() iFpupuui #() iFppiiuu @@ -781,6 +782,8 @@ #() iFpppipi #() iFpppipp #() iFppppii +#() iFppppip +#() iFppppup #() iFpppppi #() iFpppppL #() iFpppppp @@ -868,10 +871,12 @@ #() iFppiipii #() iFppiipiL #() iFppipipi +#() iFppippip #() iFppipppp #() iFppuipiL #() iFpppiiii #() iFpppiiuu +#() iFpppiiup #() iFpppiipi #() iFpppiuwu #() iFppppiii diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 36a3f751..1041424c 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -798,6 +798,7 @@ typedef int32_t (*iFuppppp_t)(uint32_t, void*, void*, void*, void*, void*); typedef int32_t (*iFpiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*); +typedef int32_t (*iFpippip_t)(void*, int32_t, void*, void*, int32_t, void*); typedef int32_t (*iFpipppp_t)(void*, int32_t, void*, void*, void*, void*); typedef int32_t (*iFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t); typedef int32_t (*iFppiiuu_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t); @@ -814,6 +815,8 @@ typedef int32_t (*iFpppiuu_t)(void*, void*, void*, int32_t, uint32_t, uint32_t); typedef int32_t (*iFpppipi_t)(void*, void*, void*, int32_t, void*, int32_t); typedef int32_t (*iFpppipp_t)(void*, void*, void*, int32_t, void*, void*); typedef int32_t (*iFppppii_t)(void*, void*, void*, void*, int32_t, int32_t); +typedef int32_t (*iFppppip_t)(void*, void*, void*, void*, int32_t, void*); +typedef int32_t (*iFppppup_t)(void*, void*, void*, void*, uint32_t, void*); typedef int32_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int32_t); typedef int32_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t); typedef int32_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*); @@ -901,10 +904,12 @@ typedef int32_t (*iFppiiuui_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_ typedef int32_t (*iFppiipii_t)(void*, void*, int32_t, int32_t, void*, int32_t, int32_t); typedef int32_t (*iFppiipiL_t)(void*, void*, int32_t, int32_t, void*, int32_t, uintptr_t); typedef int32_t (*iFppipipi_t)(void*, void*, int32_t, void*, int32_t, void*, int32_t); +typedef int32_t (*iFppippip_t)(void*, void*, int32_t, void*, void*, int32_t, void*); typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*); typedef int32_t (*iFppuipiL_t)(void*, void*, uint32_t, int32_t, void*, int32_t, uintptr_t); typedef int32_t (*iFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFpppiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t); +typedef int32_t (*iFpppiiup_t)(void*, void*, void*, int32_t, int32_t, uint32_t, void*); typedef int32_t (*iFpppiipi_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFpppiuwu_t)(void*, void*, void*, int32_t, uint32_t, int16_t, uint32_t); typedef int32_t (*iFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t); @@ -1861,6 +1866,7 @@ void iFuppppp(x64emu_t *emu, uintptr_t fcn) { iFuppppp_t fn = (iFuppppp_t)fcn; R void iFpiiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiiii_t fn = (iFpiiiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void iFpiiipp(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFpiippp(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFpippip(x64emu_t *emu, uintptr_t fcn) { iFpippip_t fn = (iFpippip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } void iFpipppp(x64emu_t *emu, uintptr_t fcn) { iFpipppp_t fn = (iFpipppp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); } void iFppiiuu(x64emu_t *emu, uintptr_t fcn) { iFppiiuu_t fn = (iFppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } @@ -1877,6 +1883,8 @@ void iFpppiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiuu_t fn = (iFpppiuu_t)fcn; R void iFpppipi(x64emu_t *emu, uintptr_t fcn) { iFpppipi_t fn = (iFpppipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); } void iFpppipp(x64emu_t *emu, uintptr_t fcn) { iFpppipp_t fn = (iFpppipp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFppppii(x64emu_t *emu, uintptr_t fcn) { iFppppii_t fn = (iFppppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } +void iFppppip(x64emu_t *emu, uintptr_t fcn) { iFppppip_t fn = (iFppppip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } +void iFppppup(x64emu_t *emu, uintptr_t fcn) { iFppppup_t fn = (iFppppup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); } void iFpppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppi_t fn = (iFpppppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); } void iFpppppL(x64emu_t *emu, uintptr_t fcn) { iFpppppL_t fn = (iFpppppL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); } void iFpppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppp_t fn = (iFpppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } @@ -1964,10 +1972,12 @@ void iFppiiuui(x64emu_t *emu, uintptr_t fcn) { iFppiiuui_t fn = (iFppiiuui_t)fcn void iFppiipii(x64emu_t *emu, uintptr_t fcn) { iFppiipii_t fn = (iFppiipii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppiipiL(x64emu_t *emu, uintptr_t fcn) { iFppiipiL_t fn = (iFppiipiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8)); } void iFppipipi(x64emu_t *emu, uintptr_t fcn) { iFppipipi_t fn = (iFppipipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFppippip(x64emu_t *emu, uintptr_t fcn) { iFppippip_t fn = (iFppippip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFppipppp(x64emu_t *emu, uintptr_t fcn) { iFppipppp_t fn = (iFppipppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFppuipiL(x64emu_t *emu, uintptr_t fcn) { iFppuipiL_t fn = (iFppuipiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8)); } void iFpppiiii(x64emu_t *emu, uintptr_t fcn) { iFpppiiii_t fn = (iFpppiiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpppiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuu_t fn = (iFpppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } +void iFpppiiup(x64emu_t *emu, uintptr_t fcn) { iFpppiiup_t fn = (iFpppiiup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); } void iFpppiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiipi_t fn = (iFpppiipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpppiuwu(x64emu_t *emu, uintptr_t fcn) { iFpppiuwu_t fn = (iFpppiuwu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int16_t)R_R9, *(uint32_t*)(R_RSP + 8)); } void iFppppiii(x64emu_t *emu, uintptr_t fcn) { iFppppiii_t fn = (iFppppiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index df2baba7..58feb27a 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -795,6 +795,7 @@ void iFuppppp(x64emu_t *emu, uintptr_t fnc); void iFpiiiii(x64emu_t *emu, uintptr_t fnc); void iFpiiipp(x64emu_t *emu, uintptr_t fnc); void iFpiippp(x64emu_t *emu, uintptr_t fnc); +void iFpippip(x64emu_t *emu, uintptr_t fnc); void iFpipppp(x64emu_t *emu, uintptr_t fnc); void iFpupuui(x64emu_t *emu, uintptr_t fnc); void iFppiiuu(x64emu_t *emu, uintptr_t fnc); @@ -811,6 +812,8 @@ void iFpppiuu(x64emu_t *emu, uintptr_t fnc); void iFpppipi(x64emu_t *emu, uintptr_t fnc); void iFpppipp(x64emu_t *emu, uintptr_t fnc); void iFppppii(x64emu_t *emu, uintptr_t fnc); +void iFppppip(x64emu_t *emu, uintptr_t fnc); +void iFppppup(x64emu_t *emu, uintptr_t fnc); void iFpppppi(x64emu_t *emu, uintptr_t fnc); void iFpppppL(x64emu_t *emu, uintptr_t fnc); void iFpppppp(x64emu_t *emu, uintptr_t fnc); @@ -898,10 +901,12 @@ void iFppiiuui(x64emu_t *emu, uintptr_t fnc); void iFppiipii(x64emu_t *emu, uintptr_t fnc); void iFppiipiL(x64emu_t *emu, uintptr_t fnc); void iFppipipi(x64emu_t *emu, uintptr_t fnc); +void iFppippip(x64emu_t *emu, uintptr_t fnc); void iFppipppp(x64emu_t *emu, uintptr_t fnc); void iFppuipiL(x64emu_t *emu, uintptr_t fnc); void iFpppiiii(x64emu_t *emu, uintptr_t fnc); void iFpppiiuu(x64emu_t *emu, uintptr_t fnc); +void iFpppiiup(x64emu_t *emu, uintptr_t fnc); void iFpppiipi(x64emu_t *emu, uintptr_t fnc); void iFpppiuwu(x64emu_t *emu, uintptr_t fnc); void iFppppiii(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibcups.c b/src/wrapped/wrappedlibcups.c new file mode 100755 index 00000000..be7ed99c --- /dev/null +++ b/src/wrapped/wrappedlibcups.c @@ -0,0 +1,59 @@ +#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 "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" +#include "myalign.h" + +const char* libcupsName = "libcups.so.2"; +#define LIBNAME libcups + +#if 0 +#define SUPER() + GO(BZ2_bzCompressInit, iFpiii_t) + +typedef struct libcups_my_s { + // functions + #define GO(A, B) B A; + SUPER() + #undef GO +} libcups_my_t; + +void* getCupsMy(library_t* lib) +{ + libcups_my_t* my = (libcups_my_t*)calloc(1, sizeof(libcups_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + SUPER() + #undef GO + return my; +} +#undef SUPER + +void freeCupsMy(void* lib) +{ + libcups_my_t *my = (libcups_my_t *)lib; +} + +#define CUSTOM_INIT \ + lib->priv.w.p2 = getCupsMy(lib); + +#define CUSTOM_FINI \ + freeCupsMy(lib->priv.w.p2); \ + free(lib->priv.w.p2); +#endif + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibcups_private.h b/src/wrapped/wrappedlibcups_private.h new file mode 100755 index 00000000..8df3056c --- /dev/null +++ b/src/wrapped/wrappedlibcups_private.h @@ -0,0 +1,568 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +//GO(cupsAddDest, +//GO(cupsAddIntegerOption, +GO(cupsAddOption, iFppip) +//GO(cupsAdminCreateWindowsPPD, +//GO(cupsAdminExportSamba, +//GO(cupsAdminGetServerSettings, +//GO(cupsAdminSetServerSettings, +//GO(cupsArrayAdd, +//GO(_cupsArrayAddStrings, +//GO(cupsArrayClear, +//GO(cupsArrayCount, +//GO(cupsArrayCurrent, +//GO(cupsArrayDelete, +//GO(cupsArrayDup, +//GO(cupsArrayFind, +//GO(cupsArrayFirst, +//GO(cupsArrayGetIndex, +//GO(cupsArrayGetInsert, +//GO(cupsArrayIndex, +//GO(cupsArrayInsert, +//GO(cupsArrayLast, +//GO(cupsArrayNew, +//GO(cupsArrayNew2, +//GO(cupsArrayNew3, +//GO(_cupsArrayNewStrings, +//GO(cupsArrayNext, +//GO(cupsArrayPrev, +//GO(cupsArrayRemove, +//GO(cupsArrayRestore, +//GO(cupsArraySave, +//GO(cupsArrayUserData, +//GO(cupsBackChannelRead, +//GO(cupsBackChannelWrite, +//GO(cupsBackendDeviceURI, +//GO(cupsBackendReport, +//GO(_cupsBufferGet, +//GO(_cupsBufferRelease, +//GO(cupsCancelDestJob, +//GO(cupsCancelJob, +//GO(cupsCancelJob2, +//GO(_cupsCharmapFlush, +//GO(cupsCharsetToUTF8, +//GO(cupsCheckDestSupported, +//GO(cupsCloseDestJob, +//GO(_cupsCondBroadcast, +//GO(_cupsCondInit, +//GO(_cupsCondWait, +//GO(_cupsConnect, +//GO(cupsConnectDest, +//GO(_cupsConvertOptions, +//GO(cupsCopyDest, +//GO(cupsCopyDestConflicts, +//GO(cupsCopyDestInfo, +//GO(_cupsCreateDest, +//GO(cupsCreateDestJob, +//GO(cupsCreateJob, +//DATA(_cups_debug_fd, +//DATA(_cups_debug_level, +//GO(cupsDirClose, +//GO(cupsDirOpen, +//GO(cupsDirRead, +//GO(cupsDirRewind, +//GO(cupsDoAuthentication, +//GO(cupsDoFileRequest, +//GO(cupsDoIORequest, +//GO(cupsDoRequest, +//GO(cupsEncodeOptions, +//GO(cupsEncodeOptions2, +//GO(_cupsEncodingName, +//GO(cupsEncryption, +//GO(cupsEnumDests, +//GO(_cupsFileCheck, +//GO(_cupsFileCheckFilter, +//GO(cupsFileClose, +//GO(cupsFileCompression, +//GO(cupsFileEOF, +//GO(cupsFileFind, +//GO(cupsFileFlush, +//GO(cupsFileGetChar, +//GO(cupsFileGetConf, +//GO(cupsFileGetLine, +//GO(cupsFileGets, +//GO(cupsFileLock, +//GO(cupsFileNumber, +//GO(cupsFileOpen, +//GO(cupsFileOpenFd, +//GO(_cupsFilePeekAhead, +//GO(cupsFilePeekChar, +//GO(cupsFilePrintf, +//GO(cupsFilePutChar, +//GO(cupsFilePutConf, +//GO(cupsFilePuts, +//GO(cupsFileRead, +//GO(cupsFileRewind, +//GO(cupsFileSeek, +//GO(cupsFileStderr, +//GO(cupsFileStdin, +//GO(cupsFileStdout, +//GO(cupsFileTell, +//GO(cupsFileUnlock, +//GO(cupsFileWrite, +//GO(cupsFindDestDefault, +//GO(cupsFindDestReady, +//GO(cupsFindDestSupported, +//GO(cupsFinishDestDocument, +//GO(cupsFinishDocument, +GO(cupsFreeDestInfo, vFp) +GO(cupsFreeDests, vFip) +GO(cupsFreeJobs, vFip) +GO(cupsFreeOptions, vFip) +//GO(_cupsGet1284Values, +GO(cupsGetClasses, iFp) +//GO(cupsGetConflicts, +GO(cupsGetDefault, pFv) +GO(cupsGetDefault2, pFp) +GO(cupsGetDest, pFppip) +//GO(cupsGetDestMediaByIndex, +GO(cupsGetDestMediaByName, iFppppup) +GO(cupsGetDestMediaBySize, iFpppiiup) +//GO(cupsGetDestMediaCount, +//GO(cupsGetDestMediaDefault, +//GO(_cupsGetDestResource, +//GO(_cupsGetDests, +GO(cupsGetDests, iFp) +GO(cupsGetDests2, iFpp) +//GO(cupsGetDestWithURI, +//GO(cupsGetDevices, +//GO(cupsGetFd, +//GO(cupsGetFile, +//GO(cupsGetIntegerOption, +GO(cupsGetJobs, iFppii) +GO(cupsGetJobs2, iFpppii) +GO(cupsGetNamedDest, pFppp) +GO(cupsGetOption, pFpip) +//GO(_cupsGetPassword, +GO(cupsGetPassword, pFp) +GO(cupsGetPassword2, pFpppp) +GO(cupsGetPPD, pFp) +GO(cupsGetPPD2, pFpp) +GO(cupsGetPPD3, iFppppL) +GO(cupsGetPrinters, iFp) +//GO(cupsGetResponse, +GO(cupsGetServerPPD, pFpp) +//GO(_cupsGlobalLock, +//GO(_cupsGlobals, +//GO(_cupsGlobalUnlock, +//GO(_cupsGSSServiceName, +//GO(cupsHashData, +//GO(cupsHashString, +GO(cupsLangDefault, pFv) +GO(cupsLangEncoding, pFp) +GO(cupsLangFlush, vFv) +GO(cupsLangFree, vFp) +GO(cupsLangGet, pFp) +//GO(_cupsLangPrintError, +//GO(_cupsLangPrintf, +//GO(_cupsLangPrintFilter, +//GO(_cupsLangPuts, +//GO(_cupsLangString, +GO(cupsLastError, iFv) +GO(cupsLastErrorString, pFv) +//GO(cupsLocalizeDestMedia, +GO(cupsLocalizeDestOption, pFpppp) +GO(cupsLocalizeDestValue, pFppppp) +//GO(cupsMakeServerCredentials, +//GO(cupsMarkOptions, +//GO(_cupsMessageFree, +//GO(_cupsMessageLoad, +//GO(_cupsMessageLookup, +//GO(_cupsMessageNew, +//GO(_cupsMutexInit, +//GO(_cupsMutexLock, +//GO(_cupsMutexUnlock, +//GO(_cupsNextDelay, +//GO(cupsNotifySubject, +GO(cupsNotifyText, pFpp) +GO(cupsParseOptions, iFpip) +GO(cupsPrintFile, iFpppip) +GO(cupsPrintFile2, iFppppip) +GO(cupsPrintFiles, iFpippip) +GO(cupsPrintFiles2, iFppippip) +//GO(cupsPutFd, +//GO(cupsPutFile, +//GO(cupsReadResponseData, +GO(cupsRemoveDest, iFppip) +GO(cupsRemoveOption, iFpip) +//GO(cupsResolveConflicts, +//GO(_cupsRWInit, +//GO(_cupsRWLockRead, +//GO(_cupsRWLockWrite, +//GO(_cupsRWUnlock, +//GO(_cups_safe_vsnprintf, +//GO(cupsSendRequest, +GO(cupsServer, pFv) +//GO(cupsSetClientCertCB, +//GO(cupsSetCredentials, +GO(cupsSetDefaultDest, vFppip) +//GO(_cupsSetDefaults, +//GO(cupsSetDests, +//GO(cupsSetDests2, +//GO(cupsSetEncryption, +//GO(_cupsSetError, +//GO(_cupsSetHTTPError, +//GO(_cupsSetLocale, +//GO(_cupsSetNegotiateAuthString, +//GO(cupsSetPasswordCB, +//GO(cupsSetPasswordCB2, +//GO(cupsSetServer, +//GO(cupsSetServerCertCB, +//GO(cupsSetServerCredentials, +//GO(cupsSetUser, +//GO(cupsSetUserAgent, +//GO(cupsSideChannelDoRequest, +//GO(cupsSideChannelRead, +//GO(cupsSideChannelSNMPGet, +//GO(cupsSideChannelSNMPWalk, +//GO(cupsSideChannelWrite, +//GO(_cupsSNMPClose, +//GO(_cupsSNMPCopyOID, +//GO(_cupsSNMPDefaultCommunity, +//GO(_cupsSNMPIsOID, +//GO(_cupsSNMPIsOIDPrefixed, +//GO(_cupsSNMPOIDToString, +//GO(_cupsSNMPOpen, +//GO(_cupsSNMPRead, +//GO(_cupsSNMPSetDebug, +//GO(_cupsSNMPStringToOID, +//GO(_cupsSNMPWalk, +//GO(_cupsSNMPWrite, +//GO(cupsStartDestDocument, +//GO(cupsStartDocument, +//GO(_cupsStrAlloc, +//GO(_cups_strcasecmp, +//GO(_cups_strcpy, +//GO(_cupsStrDate, +//GO(_cupsStrFlush, +//GO(_cupsStrFormatd, +//GO(_cupsStrFree, +//GO(_cups_strlcat, +//GO(_cups_strlcpy, +//GO(_cups_strncasecmp, +//GO(_cupsStrRetain, +//GO(_cupsStrScand, +//GO(_cupsStrStatistics, +//GO(cupsTempFd, +//GO(cupsTempFile, +//GO(cupsTempFile2, +//GO(_cupsThreadCancel, +//GO(_cupsThreadCreate, +//GO(_cupsThreadDetach, +//GO(_cupsThreadWait, +//GO(cupsUser, +//GO(cupsUserAgent, +//GO(_cupsUserDefault, +//GO(cupsUTF32ToUTF8, +//GO(cupsUTF8ToCharset, +//GO(cupsUTF8ToUTF32, +//GO(cupsWriteRequestData, + +//GO(httpAcceptConnection, +//GO(httpAddCredential, +//GO(httpAddrAny, +//GO(httpAddrClose, +//GO(httpAddrConnect, +//GO(httpAddrConnect2, +//GO(httpAddrCopyList, +//GO(httpAddrEqual, +//GO(httpAddrFamily, +//GO(httpAddrFreeList, +//GO(httpAddrGetList, +//GO(httpAddrLength, +//GO(httpAddrListen, +//GO(httpAddrLocalhost, +//GO(httpAddrLookup, +//GO(httpAddrPort, +//GO(_httpAddrSetPort, +//GO(httpAddrString, +//GO(httpAssembleURI, +//GO(httpAssembleURIf, +//GO(httpAssembleUUID, +//GO(httpBlocking, +//GO(httpCheck, +//GO(httpClearCookie, +//GO(httpClearFields, +//GO(httpClose, +//GO(httpCompareCredentials, +//GO(httpConnect, +//GO(httpConnect2, +//GO(httpConnectEncrypt, +//GO(httpCopyCredentials, +//GO(_httpCreateCredentials, +//GO(httpCredentialsAreValidForName, +//GO(httpCredentialsGetExpiration, +//GO(httpCredentialsGetTrust, +//GO(httpCredentialsString, +//GO(httpDecode64, +//GO(httpDecode64_2, +//GO(_httpDecodeURI, +//GO(httpDelete, +//GO(_httpDisconnect, +//GO(httpEncode64, +//GO(httpEncode64_2, +//GO(_httpEncodeURI, +//GO(httpEncryption, +//GO(httpError, +//GO(httpFieldValue, +//GO(httpFlush, +//GO(httpFlushWrite, +//GO(_httpFreeCredentials, +//GO(httpFreeCredentials, +//GO(httpGet, +//GO(httpGetActivity, +//GO(httpGetAddress, +//GO(httpGetAuthString, +//GO(httpGetBlocking, +//GO(httpGetContentEncoding, +//GO(httpGetCookie, +//GO(httpGetDateString, +//GO(httpGetDateString2, +//GO(httpGetDateTime, +//GO(httpGetEncryption, +//GO(httpGetExpect, +//GO(httpGetFd, +//GO(httpGetField, +//GO(httpGetHostByName, +//GO(httpGetHostname, +//GO(httpGetKeepAlive, +//GO(httpGetLength, +//GO(httpGetLength2, +//GO(httpGetPending, +//GO(httpGetReady, +//GO(httpGetRemaining, +//GO(httpGets, +//GO(httpGetState, +//GO(httpGetStatus, +//GO(httpGetSubField, +//GO(httpGetSubField2, +//GO(httpGetVersion, +//GO(httpHead, +//GO(httpInitialize, +//GO(httpIsChunked, +//GO(httpIsEncrypted, +//GO(httpLoadCredentials, +//GO(httpMD5, +//GO(httpMD5Final, +//GO(httpMD5String, +//GO(httpOptions, +//GO(httpPeek, +//GO(httpPost, +//GO(httpPrintf, +//GO(httpPut, +//GO(httpRead, +//GO(httpRead2, +//GO(httpReadRequest, +//GO(httpReconnect, +//GO(httpReconnect2, +//GO(httpResolveHostname, +//GO(_httpResolveURI, +//GO(httpSaveCredentials, +//GO(httpSeparate, +//GO(httpSeparate2, +//GO(httpSeparateURI, +//GO(httpSetAuthString, +//GO(httpSetCookie, +//GO(httpSetCredentials, +//GO(httpSetDefaultField, +//GO(_httpSetDigestAuthString, +//GO(httpSetExpect, +//GO(httpSetField, +//GO(httpSetKeepAlive, +//GO(httpSetLength, +//GO(httpSetTimeout, +//GO(httpShutdown, +//GO(httpStateString, +//GO(_httpStatus, +//GO(httpStatus, +//GO(_httpTLSInitialize, +//GO(_httpTLSPending, +//GO(_httpTLSRead, +//GO(_httpTLSSetCredentials, +//GO(_httpTLSSetOptions, +//GO(_httpTLSStart, +//GO(_httpTLSStop, +//GO(_httpTLSWrite, +//GO(httpTrace, +//GO(_httpUpdate, +//GO(httpUpdate, +//GO(httpURIStatusString, +//GO(_httpWait, +//GO(httpWait, +//GO(httpWrite, +//GO(httpWrite2, +//GO(httpWriteResponse, + +//GO(ippAddBoolean, +//GO(ippAddBooleans, +//GO(ippAddCollection, +//GO(ippAddCollections, +//GO(ippAddDate, +//GO(ippAddInteger, +//GO(ippAddIntegers, +//GO(ippAddOctetString, +//GO(ippAddOutOfBand, +//GO(ippAddRange, +//GO(ippAddRanges, +//GO(ippAddResolution, +//GO(ippAddResolutions, +//GO(ippAddSeparator, +//GO(ippAddString, +//GO(ippAddStringf, +//GO(ippAddStringfv, +//GO(ippAddStrings, +//GO(ippAttributeString, +//GO(ippContainsInteger, +//GO(ippContainsString, +//GO(ippCopyAttribute, +//GO(ippCopyAttributes, +//GO(ippCreateRequestedArray, +//GO(ippDateToTime, +//GO(ippDelete, +//GO(ippDeleteAttribute, +//GO(ippDeleteValues, +//GO(ippEnumString, +//GO(ippEnumValue, +//GO(ippErrorString, +//GO(ippErrorValue, +//GO(ippFindAttribute, +//GO(ippFindNextAttribute, +//GO(_ippFindOption, +//GO(ippFirstAttribute, +//GO(ippGetBoolean, +//GO(ippGetCollection, +//GO(ippGetCount, +//GO(ippGetDate, +//GO(ippGetGroupTag, +//GO(ippGetInteger, +//GO(ippGetName, +//GO(ippGetOctetString, +//GO(ippGetOperation, +//GO(ippGetRange, +//GO(ippGetRequestId, +//GO(ippGetResolution, +//GO(ippGetState, +//GO(ippGetStatusCode, +//GO(ippGetString, +//GO(ippGetValueTag, +//GO(ippGetVersion, +//GO(ippLength, +//GO(ippNew, +//GO(ippNewRequest, +//GO(ippNewResponse, +//GO(ippNextAttribute, +//GO(ippOpString, +//GO(ippOpValue, +//GO(ippPort, +//GO(ippRead, +//GO(ippReadFile, +//GO(ippReadIO, +//GO(ippSetBoolean, +//GO(ippSetCollection, +//GO(ippSetDate, +//GO(ippSetGroupTag, +//GO(ippSetInteger, +//GO(ippSetName, +//GO(ippSetOctetString, +//GO(ippSetOperation, +//GO(ippSetPort, +//GO(ippSetRange, +//GO(ippSetRequestId, +//GO(ippSetResolution, +//GO(ippSetState, +//GO(ippSetStatusCode, +//GO(ippSetString, +//GO(ippSetStringf, +//GO(ippSetStringfv, +//GO(ippSetValueTag, +//GO(ippSetVersion, +//GO(ippStateString, +//GO(ippTagString, +//GO(ippTagValue, +//GO(ippTimeToDate, +//GO(ippValidateAttribute, +//GO(ippValidateAttributes, +//GO(ippWrite, +//GO(ippWriteFile, +//GO(ippWriteIO, + +//GO(_ppdCacheCreateWithFile, +//GO(_ppdCacheCreateWithPPD, +//GO(_ppdCacheDestroy, +//GO(_ppdCacheGetBin, +//GO(_ppdCacheGetFinishingOptions, +//GO(_ppdCacheGetFinishingValues, +//GO(_ppdCacheGetInputSlot, +//GO(_ppdCacheGetMediaType, +//GO(_ppdCacheGetOutputBin, +//GO(_ppdCacheGetPageSize, +//GO(_ppdCacheGetSize, +//GO(_ppdCacheGetSource, +//GO(_ppdCacheGetType, +//GO(_ppdCacheWriteFile, +//GO(ppdClose, +//GO(ppdCollect, +//GO(ppdCollect2, +//GO(ppdConflicts, +//GO(_ppdCreateFromIPP, +//GO(ppdEmit, +//GO(ppdEmitAfterOrder, +//GO(ppdEmitFd, +//GO(ppdEmitJCL, +//GO(ppdEmitJCLEnd, +//GO(ppdEmitString, +//GO(ppdErrorString, +//GO(ppdFindAttr, +//GO(ppdFindChoice, +//GO(ppdFindCustomOption, +//GO(ppdFindCustomParam, +//GO(ppdFindMarkedChoice, +//GO(ppdFindNextAttr, +//GO(ppdFindOption, +//GO(ppdFirstCustomParam, +//GO(ppdFirstOption, +//GO(_ppdFreeLanguages, +//GO(_ppdGetEncoding, +//GO(_ppdGetLanguages, +//GO(_ppdGlobals, +//GO(_ppdHashName, +//GO(ppdInstallableConflict, +//GO(ppdIsMarked, +//GO(ppdLastError, +//GO(ppdLocalize, +//GO(ppdLocalizeAttr, +//GO(_ppdLocalizedAttr, +//GO(ppdLocalizeIPPReason, +//GO(ppdLocalizeMarkerName, +//GO(ppdMarkDefaults, +//GO(ppdMarkOption, +//GO(ppdNextCustomParam, +//GO(ppdNextOption, +//GO(_ppdNormalizeMakeAndModel, +//GO(_ppdOpen, +//GO(ppdOpen, +//GO(ppdOpen2, +//GO(ppdOpenFd, +//GO(_ppdOpenFile, +//GO(ppdOpenFile, +//GO(ppdPageLength, +//GO(ppdPageSize, +//GO(ppdPageSizeLimits, +//GO(ppdPageWidth, +//GO(_ppdParseOptions, +//GO(ppdSetConformance, + +//GO(pwgFormatSizeName, +//GO(pwgInitSize, +//GO(_pwgInputSlotForSource, +//GO(pwgMediaForLegacy, +//GO(pwgMediaForPPD, +//GO(pwgMediaForPWG, +//GO(pwgMediaForSize, +//GO(_pwgMediaNearSize, +//GO(_pwgMediaTable, +//GO(_pwgMediaTypeForType, +//GO(_pwgPageSizeForMedia, diff --git a/src/wrapped/wrappedlibpthread_private.h b/src/wrapped/wrappedlibpthread_private.h index 3c3f9ed2..56e341b1 100755 --- a/src/wrapped/wrappedlibpthread_private.h +++ b/src/wrapped/wrappedlibpthread_private.h @@ -58,11 +58,16 @@ GO(pthread_condattr_getpshared, iFpp) GO(pthread_condattr_init, iFp) GO(pthread_condattr_setclock, iFpp) GO(pthread_condattr_setpshared, iFpi) -GOM(pthread_cond_broadcast, iFEp) -GOM(pthread_cond_destroy, iFEp) -GOM(pthread_cond_init, iFEpp) -GOM(pthread_cond_signal, iFEp) -GOM(pthread_cond_timedwait, iFEppp) +//GOM(pthread_cond_broadcast, iFEp) +//GOM(pthread_cond_destroy, iFEp) +//GOM(pthread_cond_init, iFEpp) +//GOM(pthread_cond_signal, iFEp) +//GOM(pthread_cond_timedwait, iFEppp) +GO(pthread_cond_broadcast, iFp) +GO(pthread_cond_destroy, iFp) +GO(pthread_cond_init, iFpp) +GO(pthread_cond_signal, iFp) +GO(pthread_cond_timedwait, iFppp) GOM(pthread_cond_wait, iFEpp) GOM(pthread_create, iFEpppp) GO(pthread_detach, iFL) diff --git a/src/wrapped/wrappedsdl2_private.h b/src/wrapped/wrappedsdl2_private.h index a2cfbdb4..e34c2f49 100755 --- a/src/wrapped/wrappedsdl2_private.h +++ b/src/wrapped/wrappedsdl2_private.h @@ -137,8 +137,10 @@ GO(SDL_GameControllerGetJoystick, pFp) GO(SDL_GameControllerGetPlayerIndex, iFp) GO(SDL_GameControllerGetProduct, WFp) GO(SDL_GameControllerGetProductVersion, WFp) +GO(SDL_GameControllerGetSerial, pFp) GO(SDL_GameControllerGetStringForAxis, pFp) GO(SDL_GameControllerGetStringForButton, pFu) +GO(SDL_GameControllerGetType, iFp) GO(SDL_GameControllerGetVendor, WFp) GO(SDL_GameControllerMapping, pFp) GO(SDL_GameControllerMappingForDeviceIndex, pFi) @@ -149,6 +151,11 @@ GO(SDL_GameControllerNameForIndex, pFi) GO(SDL_GameControllerNumMappings, iFv) GO(SDL_GameControllerOpen, pFi) GO(SDL_GameControllerRumble, iFpWWu) +GO(SDL_GameControllerRumbleTriggers, iFpWWu) +GO(SDL_GameControllerSetLED, iFpCCC) +GO(SDL_GameControllerSetPlayerIndex, vFpi) +GO(SDL_GameControllerSetSensorEnabled, iFpii) +GO(SDL_GameControllerTypeForIndex, iFi) GO(SDL_GameControllerUpdate, vFv) // SDL_GetAssertionHandler GO(SDL_GetAssertionReport, pFv) |