diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-03-01 11:11:59 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-03-01 11:11:59 +0100 |
| commit | 796d95528b7d25c75ffc009c3f6713c378ae036a (patch) | |
| tree | 5a70d4098785c9d9e44959812161c1bcd7df733a /src | |
| parent | c3fd9d03ba22beecc06e9bc2b17525a3a9ed65e1 (diff) | |
| download | box64-796d95528b7d25c75ffc009c3f6713c378ae036a.tar.gz box64-796d95528b7d25c75ffc009c3f6713c378ae036a.zip | |
Added some more wrapped pulse functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 20 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedpulsetypes.h | 20 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 4 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 2 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpulse.c | 273 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpulse_private.h | 25 |
6 files changed, 248 insertions, 96 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index ee9eb395..ccb397a1 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -1438,6 +1438,7 @@ #() LFpipipi #() LFpLippp #() LFSpLiip +#() pFEpiupp #() pFEpippp #() pFEpuipp #() pFEpuupp @@ -1751,6 +1752,7 @@ #() uFppuppppp #() LFELpLpLpi #() LFEpiupppp +#() pFEpiuCppp #() pFEppLiiip #() pFEpppuipV #() pFEpppppiV @@ -3253,13 +3255,17 @@ wrappedpulse: - pFppp: - pa_context_drain - pa_context_exit_daemon + - pa_context_get_card_info_list - pa_context_get_client_info_list - pa_context_get_module_info_list - pa_context_get_server_info - pa_context_get_sink_info_list - pa_context_get_sink_input_info_list - pa_context_get_source_info_list + - pa_context_get_source_output_info_list - pa_context_new_with_proplist + - pa_ext_device_restore_read_formats_all + - pa_ext_device_restore_set_subscribe_cb - pa_stream_drain - pa_stream_flush - pa_stream_prebuf @@ -3270,11 +3276,15 @@ wrappedpulse: - iFpppV: - pa_proplist_setf - pFpipp: + - pa_ext_device_restore_subscribe - pa_stream_cork - pFpupp: + - pa_context_get_card_info_by_index + - pa_context_get_client_info - pa_context_get_sink_info_by_index - pa_context_get_sink_input_info - pa_context_get_source_info_by_index + - pa_context_get_source_output_info - pa_context_subscribe - pa_context_unload_module - pa_stream_update_sample_rate @@ -3288,23 +3298,33 @@ wrappedpulse: - pa_stream_proplist_remove - pa_stream_set_buffer_attr - pa_stream_set_name +- pFpiupp: + - pa_ext_device_restore_read_formats - pFpippp: - pa_context_proplist_update - pa_stream_proplist_update - pFpuipp: - pa_context_set_sink_input_mute + - pa_context_set_sink_mute_by_index - pa_context_set_source_mute_by_index - pFpuupp: - pa_context_move_sink_input_by_index + - pa_context_move_source_output_by_index - pFpuppp: + - pa_context_set_card_profile_by_index - pa_context_set_sink_input_volume + - pa_context_set_sink_port_by_index - pa_context_set_sink_volume_by_index + - pa_context_set_source_port_by_index - pa_context_set_source_volume_by_index - pFppppp: - pa_context_load_module + - pa_context_set_sink_port_by_name - pa_context_set_source_volume_by_name - iFppLpIi: - pa_stream_write +- pFpiuCppp: + - pa_ext_device_restore_save_formats wrappedpulsesimple: wrappedsdl1: - vFp: diff --git a/src/wrapped/generated/wrappedpulsetypes.h b/src/wrapped/generated/wrappedpulsetypes.h index b157003b..9c1680ae 100644 --- a/src/wrapped/generated/wrappedpulsetypes.h +++ b/src/wrapped/generated/wrappedpulsetypes.h @@ -24,12 +24,14 @@ typedef int64_t (*iFpppV_t)(void*, void*, void*, ...); typedef void* (*pFpipp_t)(void*, int64_t, void*, void*); typedef void* (*pFpupp_t)(void*, uint64_t, void*, void*); typedef void* (*pFpppp_t)(void*, void*, void*, void*); +typedef void* (*pFpiupp_t)(void*, int64_t, uint64_t, void*, void*); typedef void* (*pFpippp_t)(void*, int64_t, void*, void*, void*); typedef void* (*pFpuipp_t)(void*, uint64_t, int64_t, void*, void*); typedef void* (*pFpuupp_t)(void*, uint64_t, uint64_t, void*, void*); typedef void* (*pFpuppp_t)(void*, uint64_t, void*, void*, void*); typedef void* (*pFppppp_t)(void*, void*, void*, void*, void*); typedef int64_t (*iFppLpIi_t)(void*, void*, uintptr_t, void*, int64_t, int64_t); +typedef void* (*pFpiuCppp_t)(void*, int64_t, uint64_t, uint8_t, void*, void*, void*); #define SUPER() ADDED_FUNCTIONS() \ GO(pa_mainloop_free, vFp_t) \ @@ -57,13 +59,17 @@ typedef int64_t (*iFppLpIi_t)(void*, void*, uintptr_t, void*, int64_t, int64_t); GO(pa_signal_new, pFipp_t) \ GO(pa_context_drain, pFppp_t) \ GO(pa_context_exit_daemon, pFppp_t) \ + GO(pa_context_get_card_info_list, pFppp_t) \ GO(pa_context_get_client_info_list, pFppp_t) \ GO(pa_context_get_module_info_list, pFppp_t) \ GO(pa_context_get_server_info, pFppp_t) \ GO(pa_context_get_sink_info_list, pFppp_t) \ GO(pa_context_get_sink_input_info_list, pFppp_t) \ GO(pa_context_get_source_info_list, pFppp_t) \ + GO(pa_context_get_source_output_info_list, pFppp_t) \ GO(pa_context_new_with_proplist, pFppp_t) \ + GO(pa_ext_device_restore_read_formats_all, pFppp_t) \ + GO(pa_ext_device_restore_set_subscribe_cb, pFppp_t) \ GO(pa_stream_drain, pFppp_t) \ GO(pa_stream_flush, pFppp_t) \ GO(pa_stream_prebuf, pFppp_t) \ @@ -71,10 +77,14 @@ typedef int64_t (*iFppLpIi_t)(void*, void*, uintptr_t, void*, int64_t, int64_t); GO(pa_stream_update_timing_info, pFppp_t) \ GO(pa_context_connect, iFppip_t) \ GO(pa_proplist_setf, iFpppV_t) \ + GO(pa_ext_device_restore_subscribe, pFpipp_t) \ GO(pa_stream_cork, pFpipp_t) \ + GO(pa_context_get_card_info_by_index, pFpupp_t) \ + GO(pa_context_get_client_info, pFpupp_t) \ GO(pa_context_get_sink_info_by_index, pFpupp_t) \ GO(pa_context_get_sink_input_info, pFpupp_t) \ GO(pa_context_get_source_info_by_index, pFpupp_t) \ + GO(pa_context_get_source_output_info, pFpupp_t) \ GO(pa_context_subscribe, pFpupp_t) \ GO(pa_context_unload_module, pFpupp_t) \ GO(pa_stream_update_sample_rate, pFpupp_t) \ @@ -87,16 +97,24 @@ typedef int64_t (*iFppLpIi_t)(void*, void*, uintptr_t, void*, int64_t, int64_t); GO(pa_stream_proplist_remove, pFpppp_t) \ GO(pa_stream_set_buffer_attr, pFpppp_t) \ GO(pa_stream_set_name, pFpppp_t) \ + GO(pa_ext_device_restore_read_formats, pFpiupp_t) \ GO(pa_context_proplist_update, pFpippp_t) \ GO(pa_stream_proplist_update, pFpippp_t) \ GO(pa_context_set_sink_input_mute, pFpuipp_t) \ + GO(pa_context_set_sink_mute_by_index, pFpuipp_t) \ GO(pa_context_set_source_mute_by_index, pFpuipp_t) \ GO(pa_context_move_sink_input_by_index, pFpuupp_t) \ + GO(pa_context_move_source_output_by_index, pFpuupp_t) \ + GO(pa_context_set_card_profile_by_index, pFpuppp_t) \ GO(pa_context_set_sink_input_volume, pFpuppp_t) \ + GO(pa_context_set_sink_port_by_index, pFpuppp_t) \ GO(pa_context_set_sink_volume_by_index, pFpuppp_t) \ + GO(pa_context_set_source_port_by_index, pFpuppp_t) \ GO(pa_context_set_source_volume_by_index, pFpuppp_t) \ GO(pa_context_load_module, pFppppp_t) \ + GO(pa_context_set_sink_port_by_name, pFppppp_t) \ GO(pa_context_set_source_volume_by_name, pFppppp_t) \ - GO(pa_stream_write, iFppLpIi_t) + GO(pa_stream_write, iFppLpIi_t) \ + GO(pa_ext_device_restore_save_formats, pFpiuCppp_t) #endif // __wrappedpulseTYPES_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 21ea9e0e..693f0388 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -1472,6 +1472,7 @@ typedef uintptr_t (*LFEppppi_t)(x64emu_t*, void*, void*, void*, void*, int64_t); typedef uintptr_t (*LFpipipi_t)(void*, int64_t, void*, int64_t, void*, int64_t); typedef uintptr_t (*LFpLippp_t)(void*, uintptr_t, int64_t, void*, void*, void*); typedef uintptr_t (*LFSpLiip_t)(void*, void*, uintptr_t, int64_t, int64_t, void*); +typedef void* (*pFEpiupp_t)(x64emu_t*, void*, int64_t, uint64_t, void*, void*); typedef void* (*pFEpippp_t)(x64emu_t*, void*, int64_t, void*, void*, void*); typedef void* (*pFEpuipp_t)(x64emu_t*, void*, uint64_t, int64_t, void*, void*); typedef void* (*pFEpuupp_t)(x64emu_t*, void*, uint64_t, uint64_t, void*, void*); @@ -1785,6 +1786,7 @@ typedef uint64_t (*uFppuuuppi_t)(void*, void*, uint64_t, uint64_t, uint64_t, voi typedef uint64_t (*uFppuppppp_t)(void*, void*, uint64_t, void*, void*, void*, void*, void*); typedef uintptr_t (*LFELpLpLpi_t)(x64emu_t*, uintptr_t, void*, uintptr_t, void*, uintptr_t, void*, int64_t); typedef uintptr_t (*LFEpiupppp_t)(x64emu_t*, void*, int64_t, uint64_t, void*, void*, void*, void*); +typedef void* (*pFEpiuCppp_t)(x64emu_t*, void*, int64_t, uint64_t, uint8_t, void*, void*, void*); typedef void* (*pFEppLiiip_t)(x64emu_t*, void*, void*, uintptr_t, int64_t, int64_t, int64_t, void*); typedef void* (*pFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint64_t, int64_t, void*, void*); typedef void* (*pFEpppppiV_t)(x64emu_t*, void*, void*, void*, void*, void*, int64_t, void*); @@ -3514,6 +3516,7 @@ void LFEppppi(x64emu_t *emu, uintptr_t fcn) { LFEppppi_t fn = (LFEppppi_t)fcn; R void LFpipipi(x64emu_t *emu, uintptr_t fcn) { LFpipipi_t fn = (LFpipipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); } void LFpLippp(x64emu_t *emu, uintptr_t fcn) { LFpLippp_t fn = (LFpLippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void LFSpLiip(x64emu_t *emu, uintptr_t fcn) { LFSpLiip_t fn = (LFSpLiip_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); } +void pFEpiupp(x64emu_t *emu, uintptr_t fcn) { pFEpiupp_t fn = (pFEpiupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFEpippp(x64emu_t *emu, uintptr_t fcn) { pFEpippp_t fn = (pFEpippp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFEpuipp(x64emu_t *emu, uintptr_t fcn) { pFEpuipp_t fn = (pFEpuipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFEpuupp(x64emu_t *emu, uintptr_t fcn) { pFEpuupp_t fn = (pFEpuupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -3827,6 +3830,7 @@ void uFppuuuppi(x64emu_t *emu, uintptr_t fcn) { uFppuuuppi_t fn = (uFppuuuppi_t) void uFppuppppp(x64emu_t *emu, uintptr_t fcn) { uFppuppppp_t fn = (uFppuppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void LFELpLpLpi(x64emu_t *emu, uintptr_t fcn) { LFELpLpLpi_t fn = (LFELpLpLpi_t)fcn; R_RAX=(uintptr_t)fn(emu, (uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); } void LFEpiupppp(x64emu_t *emu, uintptr_t fcn) { LFEpiupppp_t fn = (LFEpiupppp_t)fcn; R_RAX=(uintptr_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)); } +void pFEpiuCppp(x64emu_t *emu, uintptr_t fcn) { pFEpiuCppp_t fn = (pFEpiuCppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint8_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void pFEppLiiip(x64emu_t *emu, uintptr_t fcn) { pFEppLiiip_t fn = (pFEppLiiip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void pFEpppuipV(x64emu_t *emu, uintptr_t fcn) { pFEpppuipV_t fn = (pFEpppuipV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); } void pFEpppppiV(x64emu_t *emu, uintptr_t fcn) { pFEpppppiV_t fn = (pFEpppppiV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, (void*)(R_RSP + 8)); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index be6b603b..8ac3a7de 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -1471,6 +1471,7 @@ void LFEppppi(x64emu_t *emu, uintptr_t fnc); void LFpipipi(x64emu_t *emu, uintptr_t fnc); void LFpLippp(x64emu_t *emu, uintptr_t fnc); void LFSpLiip(x64emu_t *emu, uintptr_t fnc); +void pFEpiupp(x64emu_t *emu, uintptr_t fnc); void pFEpippp(x64emu_t *emu, uintptr_t fnc); void pFEpuipp(x64emu_t *emu, uintptr_t fnc); void pFEpuupp(x64emu_t *emu, uintptr_t fnc); @@ -1784,6 +1785,7 @@ void uFppuuuppi(x64emu_t *emu, uintptr_t fnc); void uFppuppppp(x64emu_t *emu, uintptr_t fnc); void LFELpLpLpi(x64emu_t *emu, uintptr_t fnc); void LFEpiupppp(x64emu_t *emu, uintptr_t fnc); +void pFEpiuCppp(x64emu_t *emu, uintptr_t fnc); void pFEppLiiip(x64emu_t *emu, uintptr_t fnc); void pFEpppuipV(x64emu_t *emu, uintptr_t fnc); void pFEpppppiV(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedpulse.c b/src/wrapped/wrappedpulse.c index 6be4f1aa..9e45b8ad 100755 --- a/src/wrapped/wrappedpulse.c +++ b/src/wrapped/wrappedpulse.c @@ -39,27 +39,9 @@ typedef struct my_pa_mainloop_api_s { void* quit; } my_pa_mainloop_api_t; -typedef void (*vFp_t)(void*); -typedef void* (*pFp_t)(void*); -typedef int (*iFp_t)(void*); typedef void (*vFpi_t)(void*, int32_t); -typedef void* (*pFpp_t)(void*, void*); -typedef void (*vFpp_t)(void*, void*); typedef int (*iFppp_t)(void*, void*, void*); -typedef void* (*pFipp_t)(int32_t, void*, void*); -typedef void* (*pFppp_t)(void*, void*, void*); -typedef void (*vFppp_t)(void*, void*, void*); -typedef void* (*pFpipp_t)(void*, int32_t, void*, void*); -typedef int (*iFppip_t)(void*, void*, int, void*); -typedef void* (*pFpppp_t)(void*, void*, void*, void*); -typedef void* (*pFpupp_t)(void*, uint32_t, void*, void*); typedef void* (*pFpiipp_t)(void*, int32_t, int32_t, void*, void*); -typedef void* (*pFppppp_t)(void*, void*, void*, void*, void*); -typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*); -typedef void* (*pFpuipp_t)(void*, uint32_t, int, void*, void*); -typedef void* (*pFpuppp_t)(void*, uint32_t, void*, void*, void*); -typedef void* (*pFpuupp_t)(void*, uint32_t, uint32_t, void*, void*); -typedef int (*iFppLpIi_t)(void*, void*, size_t, void*, int64_t, int32_t); #if 0 #ifdef NOALIGN @@ -70,76 +52,10 @@ typedef void (*vFipippV_t)(int, void*, int, void*, void*, void*); GO(pa_log_level_meta, vFipippV_t) #endif -#define SUPER() \ - GO(pa_mainloop_free, vFp_t) \ - GO(pa_mainloop_get_api, pFp_t) \ - GO(pa_threaded_mainloop_free, vFp_t) \ - GO(pa_threaded_mainloop_get_api, pFp_t) \ - GO(pa_signal_init, iFp_t) \ - GO(pa_signal_new, pFipp_t) \ - GO(pa_signal_set_destroy, vFpp_t) \ - GO(pa_context_new, pFpp_t) \ - GO(pa_context_new_with_proplist, pFppp_t) \ - GO(pa_context_get_state, iFp_t) \ - GO(pa_context_exit_daemon, pFppp_t) \ - GO(pa_context_set_state_callback, vFppp_t) \ - GO(pa_context_set_default_sink, pFpppp_t) \ - GO(pa_context_set_default_source, pFpppp_t) \ - GO(pa_context_move_sink_input_by_index, pFpuupp_t) \ - GO(pa_context_get_module_info_list, pFppp_t) \ - GO(pa_context_get_client_info_list, pFppp_t) \ - GO(pa_context_get_server_info, pFppp_t) \ - GO(pa_context_get_sink_input_info, pFpupp_t)\ - GO(pa_context_get_sink_input_info_list, pFppp_t) \ - GO(pa_context_get_sink_info_list, pFppp_t) \ - GO(pa_context_get_sink_info_by_name, pFpppp_t) \ - GO(pa_context_set_sink_input_mute, pFpuipp_t) \ - GO(pa_context_set_sink_input_volume, pFpuppp_t) \ - GO(pa_context_get_source_info_list, pFppp_t)\ - GO(pa_context_get_source_info_by_index, pFpupp_t) \ - GO(pa_context_get_sink_info_by_index, pFpupp_t) \ - GO(pa_context_set_sink_volume_by_index, pFpuppp_t) \ - GO(pa_context_set_source_volume_by_index, pFpuppp_t)\ - GO(pa_context_set_source_mute_by_index, pFpuipp_t) \ - GO(pa_context_unload_module, pFpupp_t) \ - GO(pa_context_load_module, pFppppp_t) \ - GO(pa_context_connect, iFppip_t) \ - GO(pa_context_subscribe, pFpupp_t) \ - GO(pa_context_set_subscribe_callback, vFppp_t) \ - GO(pa_context_drain, pFppp_t) \ - GO(pa_context_proplist_remove, pFpppp_t) \ - GO(pa_context_proplist_update, pFpippp_t) \ - GO(pa_context_set_event_callback, vFppp_t) \ - GO(pa_context_set_name, pFpppp_t) \ - GO(pa_context_set_source_volume_by_name, pFppppp_t) \ - GO(pa_context_get_source_info_by_name, pFpppp_t) \ - GO(pa_stream_get_state, iFp_t) \ - GO(pa_stream_drain, pFppp_t) \ - GO(pa_stream_flush, pFppp_t) \ - GO(pa_stream_set_latency_update_callback, vFppp_t) \ - GO(pa_stream_set_read_callback, vFppp_t) \ - GO(pa_stream_set_state_callback, vFppp_t) \ - GO(pa_stream_write, iFppLpIi_t) \ - GO(pa_stream_update_timing_info, pFppp_t) \ - GO(pa_stream_prebuf, pFppp_t) \ - GO(pa_stream_proplist_remove, pFpppp_t) \ - GO(pa_stream_proplist_update, pFpippp_t) \ - GO(pa_stream_set_buffer_attr, pFpppp_t) \ - GO(pa_stream_set_buffer_attr_callback, vFppp_t) \ - GO(pa_stream_set_event_callback, vFppp_t) \ - GO(pa_stream_set_moved_callback, vFppp_t) \ - GO(pa_stream_set_name, pFpppp_t) \ - GO(pa_stream_set_overflow_callback, vFppp_t)\ - GO(pa_stream_set_started_callback, vFppp_t) \ - GO(pa_stream_set_suspended_callback, vFppp_t) \ - GO(pa_stream_set_underflow_callback, vFppp_t) \ - GO(pa_stream_set_write_callback, vFppp_t) \ - GO(pa_stream_trigger, pFppp_t) \ - GO(pa_stream_update_sample_rate, pFpupp_t) \ - GO(pa_stream_cork, pFpipp_t) \ - GO(pa_proplist_setf, iFppp_t) \ - GO(pa_mainloop_set_poll_func, vFppp_t) +#define ADDED_FUNCTIONS() \ + +#include "generated/wrappedpulsetypes.h" typedef struct pulse_my_s { // functions @@ -752,6 +668,94 @@ static void* find_stream_request_Fct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for pulse audio stream_request callback\n"); return NULL; } +// device_restore_read_device_formats +#define GO(A) \ +static uintptr_t my_device_restore_read_device_formats_fct_##A = 0; \ +static void my_device_restore_read_device_formats_##A(void* a, void* b, int c, void* d) \ +{ \ + RunFunction(my_context, my_device_restore_read_device_formats_fct_##A, 4, a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_device_restore_read_device_formats_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_device_restore_read_device_formats_fct_##A == (uintptr_t)fct) return my_device_restore_read_device_formats_##A; + SUPER() + #undef GO + #define GO(A) if(my_device_restore_read_device_formats_fct_##A == 0) {my_device_restore_read_device_formats_fct_##A = (uintptr_t)fct; return my_device_restore_read_device_formats_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for pulse audio device_restore_read_device_formats callback\n"); + return NULL; +} +// card_info +#define GO(A) \ +static uintptr_t my_card_info_fct_##A = 0; \ +static void my_card_info_##A(void* a, void* b, int c, void* d) \ +{ \ + RunFunction(my_context, my_card_info_fct_##A, 4, a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_card_info_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_card_info_fct_##A == (uintptr_t)fct) return my_card_info_##A; + SUPER() + #undef GO + #define GO(A) if(my_card_info_fct_##A == 0) {my_card_info_fct_##A = (uintptr_t)fct; return my_card_info_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for pulse audio card_info callback\n"); + return NULL; +} +// source_output_info +#define GO(A) \ +static uintptr_t my_source_output_info_fct_##A = 0; \ +static void my_source_output_info_##A(void* a, void* b, int c, void* d) \ +{ \ + RunFunction(my_context, my_source_output_info_fct_##A, 4, a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_source_output_info_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_source_output_info_fct_##A == (uintptr_t)fct) return my_source_output_info_##A; + SUPER() + #undef GO + #define GO(A) if(my_source_output_info_fct_##A == 0) {my_source_output_info_fct_##A = (uintptr_t)fct; return my_source_output_info_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for pulse audio source_output_info callback\n"); + return NULL; +} +// device_restore_subscribe +#define GO(A) \ +static uintptr_t my_device_restore_subscribe_fct_##A = 0; \ +static void my_device_restore_subscribe_##A(void* a, int b, uint32_t c, void* d) \ +{ \ + RunFunction(my_context, my_device_restore_subscribe_fct_##A, 4, a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_device_restore_subscribe_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_device_restore_subscribe_fct_##A == (uintptr_t)fct) return my_device_restore_subscribe_##A; + SUPER() + #undef GO + #define GO(A) if(my_device_restore_subscribe_fct_##A == 0) {my_device_restore_subscribe_fct_##A = (uintptr_t)fct; return my_device_restore_subscribe_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for pulse audio device_restore_subscribe callback\n"); + return NULL; +} #undef SUPER @@ -1495,6 +1499,101 @@ EXPORT void my_pa_log_level_meta(x64emu_t* emu, int level, void* file, int line, } #endif +EXPORT void* my_pa_ext_device_restore_save_formats(x64emu_t* emu, void* c, int t, uint32_t idx, uint8_t n, void* f, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_ext_device_restore_save_formats(c, t, idx, n, f, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_ext_device_restore_read_formats(x64emu_t* emu, void* c, int t, uint32_t idx, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_ext_device_restore_read_formats(c, t, idx, find_device_restore_read_device_formats_Fct(cb), data); +} + +EXPORT void* my_pa_context_set_source_port_by_index(x64emu_t* emu, void* c, uint32_t idx, void* p, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_set_source_port_by_index(c, idx, p, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_set_card_profile_by_index(x64emu_t* emu, void* c, uint32_t idx, void* p, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_set_card_profile_by_index(c, idx, p, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_set_sink_port_by_index(x64emu_t* emu, void* c, uint32_t idx, void* p, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_set_sink_port_by_index(c, idx, p, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_get_card_info_list(x64emu_t* emu, void* c, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_get_card_info_list(c, find_card_info_Fct(cb), data); +} + +EXPORT void* my_pa_context_get_source_output_info_list(x64emu_t* emu, void* c, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_get_source_output_info_list(c, find_source_output_info_Fct(cb), data); +} + +EXPORT void* my_pa_ext_device_restore_read_formats_all(x64emu_t* emu, void* c, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_ext_device_restore_read_formats_all(c, find_device_restore_read_device_formats_Fct(cb), data); +} + +EXPORT void* my_pa_ext_device_restore_set_subscribe_cb(x64emu_t* emu, void* c, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_ext_device_restore_set_subscribe_cb(c, find_device_restore_subscribe_Fct(cb), data); +} + +EXPORT void* my_pa_ext_device_restore_subscribe(x64emu_t* emu, void* c, int e, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_ext_device_restore_subscribe(c, e, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_set_sink_mute_by_index(x64emu_t* emu, void* c, uint32_t idx, int m, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_set_sink_mute_by_index(c, idx, m, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_set_sink_port_by_name(x64emu_t* emu, void* c, void* n, void* p, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_set_sink_port_by_name(c, n, p, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_move_source_output_by_index(x64emu_t* emu, void* c, uint32_t idx, uint32_t s, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_move_source_output_by_index(c, idx, s, find_success_context_Fct(cb), data); +} + +EXPORT void* my_pa_context_get_card_info_by_index(x64emu_t* emu, void* c, uint32_t idx, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_get_card_info_by_index(c, idx, find_card_info_Fct(cb), data); +} + +EXPORT void* my_pa_context_get_client_info(x64emu_t* emu, void* c, uint32_t idx, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_get_client_info(c, idx, find_client_info_Fct(cb), data); +} + +EXPORT void* my_pa_context_get_source_output_info(x64emu_t* emu, void* c, uint32_t idx, void* cb, void* data) +{ + pulse_my_t* my = (pulse_my_t*)emu->context->pulse->priv.w.p2; + return my->pa_context_get_source_output_info(c, idx, find_source_output_info_Fct(cb), data); +} #define PRE_INIT \ if(box64_nopulse) \ return -1; diff --git a/src/wrapped/wrappedpulse_private.h b/src/wrapped/wrappedpulse_private.h index 223d5e6e..9bc75bd5 100755 --- a/src/wrapped/wrappedpulse_private.h +++ b/src/wrapped/wrappedpulse_private.h @@ -33,10 +33,10 @@ GOM(pa_context_exit_daemon, pFEppp) //GO(pa_context_get_autoload_info_by_index, //GO(pa_context_get_autoload_info_by_name, //GO(pa_context_get_autoload_info_list, -//GO(pa_context_get_card_info_by_index, +GOM(pa_context_get_card_info_by_index, pFEpupp) //GO(pa_context_get_card_info_by_name, -//GO(pa_context_get_card_info_list, -//GO(pa_context_get_client_info, +GOM(pa_context_get_card_info_list, pFEppp) +GOM(pa_context_get_client_info, pFEpupp) GOM(pa_context_get_client_info_list, pFEppp) GO(pa_context_get_index, uFp) //GO(pa_context_get_module_info, @@ -56,8 +56,8 @@ GOM(pa_context_get_sink_input_info_list, pFEppp) GOM(pa_context_get_source_info_by_index, pFEpupp) GOM(pa_context_get_source_info_by_name, pFEpppp) GOM(pa_context_get_source_info_list, pFEppp) -//GO(pa_context_get_source_output_info, -//GO(pa_context_get_source_output_info_list, +GOM(pa_context_get_source_output_info, pFEpupp) +GOM(pa_context_get_source_output_info_list, pFEppp) GO(pa_context_get_state, iFp) GO(pa_context_is_local, iFp) GO(pa_context_is_pending, iFp) @@ -67,7 +67,7 @@ GO(pa_context_is_pending, iFp) GOM(pa_context_load_module, pFEppppp) GOM(pa_context_move_sink_input_by_index, pFEpuupp) //GO(pa_context_move_sink_input_by_name, -//GO(pa_context_move_source_output_by_index, +GOM(pa_context_move_source_output_by_index, pFEpuupp) //GO(pa_context_move_source_output_by_name, GOM(pa_context_new, pFEpp) GOM(pa_context_new_with_proplist, pFEppp) @@ -79,7 +79,7 @@ GO(pa_context_ref, pFp) //GO(pa_context_remove_autoload_by_index, //GO(pa_context_remove_autoload_by_name, //GO(pa_context_remove_sample, -//GO(pa_context_set_card_profile_by_index, +GOM(pa_context_set_card_profile_by_index, pFEpuppp) //GO(pa_context_set_card_profile_by_name, GOM(pa_context_set_default_sink, pFEpppp) GOM(pa_context_set_default_source, pFEpppp) @@ -87,12 +87,15 @@ GOM(pa_context_set_event_callback, vFEppp) GOM(pa_context_set_name, pFEpppp) GOM(pa_context_set_sink_input_mute, pFEpuipp) GOM(pa_context_set_sink_input_volume, pFEpuppp) -//GO(pa_context_set_sink_mute_by_index, +GOM(pa_context_set_sink_mute_by_index, pFEpuipp) //GO(pa_context_set_sink_mute_by_name, +GOM(pa_context_set_sink_port_by_index, pFEpuppp) +GOM(pa_context_set_sink_port_by_name, pFEppppp) GOM(pa_context_set_sink_volume_by_index, pFEpuppp) //GO(pa_context_set_sink_volume_by_name, GOM(pa_context_set_source_mute_by_index, pFEpuipp) //GO(pa_context_set_source_mute_by_name, +GOM(pa_context_set_source_port_by_index, pFEpuppp) GOM(pa_context_set_source_volume_by_index, pFEpuppp) GOM(pa_context_set_source_volume_by_name, pFEppppp) GOM(pa_context_set_state_callback, vFEppp) @@ -121,12 +124,18 @@ GO(pa_cvolume_set_balance, pFppf) GO(pa_cvolume_set_fade, pFppf) GO(pa_cvolume_snprint, pFplp) GO(pa_cvolume_valid, iFp) +GOM(pa_ext_device_restore_read_formats, pFEpiupp) +GOM(pa_ext_device_restore_read_formats_all, pFEppp) +GOM(pa_ext_device_restore_save_formats, pFEpiuCppp) +GOM(pa_ext_device_restore_set_subscribe_cb, pFEppp) +GOM(pa_ext_device_restore_subscribe, pFEpipp) //GO(pa_ext_stream_restore_delete, //GO(pa_ext_stream_restore_read, //GO(pa_ext_stream_restore_set_subscribe_cb, //GO(pa_ext_stream_restore_subscribe, //GO(pa_ext_stream_restore_test, //GO(pa_ext_stream_restore_write, +GO(pa_format_info_new, pFv) GO(pa_frame_size, LFp) GO(pa_get_binary_name, pFpL) GO(pa_get_fqdn, pFpL) |