diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 3 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibusb1types.h | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 3 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibusb1.c | 6 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibusb1_private.h | 24 |
6 files changed, 35 insertions, 4 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 3a278d68..e645143c 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -1044,6 +1044,7 @@ #() iFpwww #() iFpwpp #() iFpiii +#() iFpiiC #() iFpiiu #() iFpiid #() iFpiiL @@ -4959,6 +4960,8 @@ wrappedlibtinfo6: - tputs wrappedlibunistring2: wrappedlibusb1: +- vFp: + - libusb_free_transfer - iFp: - libusb_cancel_transfer - libusb_submit_transfer diff --git a/src/wrapped/generated/wrappedlibusb1types.h b/src/wrapped/generated/wrappedlibusb1types.h index 55ff29e3..19e07b65 100644 --- a/src/wrapped/generated/wrappedlibusb1types.h +++ b/src/wrapped/generated/wrappedlibusb1types.h @@ -11,11 +11,13 @@ #define ADDED_FUNCTIONS() #endif +typedef void (*vFp_t)(void*); typedef int32_t (*iFp_t)(void*); typedef void* (*pFi_t)(int32_t); typedef int32_t (*iFpiiiiippp_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, void*, void*); #define SUPER() ADDED_FUNCTIONS() \ + GO(libusb_free_transfer, vFp_t) \ GO(libusb_cancel_transfer, iFp_t) \ GO(libusb_submit_transfer, iFp_t) \ GO(libusb_alloc_transfer, pFi_t) \ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index be9c7b13..b727db47 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -1075,6 +1075,7 @@ typedef int32_t (*iFLppp_t)(uintptr_t, void*, void*, void*); typedef int32_t (*iFpwww_t)(void*, int16_t, int16_t, int16_t); typedef int32_t (*iFpwpp_t)(void*, int16_t, void*, void*); typedef int32_t (*iFpiii_t)(void*, int32_t, int32_t, int32_t); +typedef int32_t (*iFpiiC_t)(void*, int32_t, int32_t, uint8_t); typedef int32_t (*iFpiiu_t)(void*, int32_t, int32_t, uint32_t); typedef int32_t (*iFpiid_t)(void*, int32_t, int32_t, double); typedef int32_t (*iFpiiL_t)(void*, int32_t, int32_t, uintptr_t); @@ -4281,6 +4282,7 @@ void iFLppp(x64emu_t *emu, uintptr_t fcn) { iFLppp_t fn = (iFLppp_t)fcn; R_RAX=( void iFpwww(x64emu_t *emu, uintptr_t fcn) { iFpwww_t fn = (iFpwww_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (int16_t)R_RDX, (int16_t)R_RCX); } void iFpwpp(x64emu_t *emu, uintptr_t fcn) { iFpwpp_t fn = (iFpwpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFpiii(x64emu_t *emu, uintptr_t fcn) { iFpiii_t fn = (iFpiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } +void iFpiiC(x64emu_t *emu, uintptr_t fcn) { iFpiiC_t fn = (iFpiiC_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint8_t)R_RCX); } void iFpiiu(x64emu_t *emu, uintptr_t fcn) { iFpiiu_t fn = (iFpiiu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } void iFpiid(x64emu_t *emu, uintptr_t fcn) { iFpiid_t fn = (iFpiid_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[0].d[0]); } void iFpiiL(x64emu_t *emu, uintptr_t fcn) { iFpiiL_t fn = (iFpiiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } @@ -7283,6 +7285,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpwww) return 1; if (fun == &iFpwpp) return 1; if (fun == &iFpiii) return 1; + if (fun == &iFpiiC) return 1; if (fun == &iFpiiu) return 1; if (fun == &iFpiid) return 2; if (fun == &iFpiiL) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index f74191a2..74bbbe90 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -1082,6 +1082,7 @@ void iFLppp(x64emu_t *emu, uintptr_t fnc); void iFpwww(x64emu_t *emu, uintptr_t fnc); void iFpwpp(x64emu_t *emu, uintptr_t fnc); void iFpiii(x64emu_t *emu, uintptr_t fnc); +void iFpiiC(x64emu_t *emu, uintptr_t fnc); void iFpiiu(x64emu_t *emu, uintptr_t fnc); void iFpiid(x64emu_t *emu, uintptr_t fnc); void iFpiiL(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibusb1.c b/src/wrapped/wrappedlibusb1.c index 77010dc3..7e6211d3 100644 --- a/src/wrapped/wrappedlibusb1.c +++ b/src/wrapped/wrappedlibusb1.c @@ -152,4 +152,10 @@ EXPORT int my_libusb_cancel_transfer(x64emu_t* emu, my_libusb_transfer_t* t) return my->libusb_cancel_transfer(t); } +EXPORT void my_libusb_free_transfer(x64emu_t* emu, my_libusb_transfer_t* t) +{ + t->callback = findtransfertFct(t->callback); + my->libusb_free_transfer(t); +} + #include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibusb1_private.h b/src/wrapped/wrappedlibusb1_private.h index 6aa06dbf..4f295bb3 100644 --- a/src/wrapped/wrappedlibusb1_private.h +++ b/src/wrapped/wrappedlibusb1_private.h @@ -1,7 +1,8 @@ #if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) -#error meh! +#error Meh... #endif +GO(libusb_alloc_streams, iFpupi) GOM(libusb_alloc_transfer, pFEi) GO(libusb_attach_kernel_driver, iFpi) GO(libusb_bulk_transfer, iFpCpipu) @@ -11,6 +12,8 @@ GO(libusb_clear_halt, iFpC) GO(libusb_close, vFp) GO(libusb_control_transfer, iFpCCWWpWu) GO(libusb_detach_kernel_driver, iFpi) +GO(libusb_dev_mem_alloc, pFpL) +GO(libusb_dev_mem_free, iFppL) GO(libusb_error_name, pFi) GO(libusb_event_handler_active, iFp) GO(libusb_event_handling_ok, iFp) @@ -19,11 +22,16 @@ GO(libusb_free_bos_descriptor, vFp) GO(libusb_free_config_descriptor, vFp) GO(libusb_free_container_id_descriptor, vFp) GO(libusb_free_device_list, vFpi) +GO(libusb_free_interface_association_descriptors, vFp) +GO(libusb_free_platform_descriptor, vFp) +GO(libusb_free_pollfds, vFp) GO(libusb_free_ss_endpoint_companion_descriptor, vFp) -GO(libusb_free_ss_usb_device_capability_descriptor, iFppp) -GO(libusb_free_transfer, vFp) +GO(libusb_free_ss_usb_device_capability_descriptor, vFp) +GO(libusb_free_streams, iFppi) +GOM(libusb_free_transfer, vFp) GO(libusb_free_usb_2_0_extension_descriptor, vFp) GO(libusb_get_active_config_descriptor, iFpp) +GO(libusb_get_active_interface_association_descriptors, iFpp) GO(libusb_get_bos_descriptor, iFpp) GO(libusb_get_bus_number, CFp) GO(libusb_get_config_descriptor, iFpCp) @@ -35,10 +43,13 @@ GO(libusb_get_device_address, CFp) GO(libusb_get_device_descriptor, iFpp) GO(libusb_get_device_list, lFpp) GO(libusb_get_device_speed, iFp) +GO(libusb_get_interface_association_descriptors, iFpCp) +GO(libusb_get_max_alt_packet_size, iFpiiC) GO(libusb_get_max_iso_packet_size, iFpC) GO(libusb_get_max_packet_size, iFpC) GO(libusb_get_next_timeout, iFpp) GO(libusb_get_parent, pFp) +GO(libusb_get_platform_descriptor, iFppp) GO(libusb_get_pollfds, pFp) GO(libusb_get_port_number, CFp) GO(libusb_get_port_numbers, iFppi) @@ -55,10 +66,12 @@ GO(libusb_handle_events_timeout, iFpp) GO(libusb_handle_events_timeout_completed, iFppp) GO(libusb_has_capability, iFu) GO(libusb_hotplug_deregister_callback, vFpi) +GO(libusb_hotplug_get_user_data, pFpi) GOM(libusb_hotplug_register_callback, iFEpiiiiippp) GO(libusb_init, iFp) +//GOM(libusb_init_context, iFppi) +GO(libusb_interrupt_event_handler, vFp) GO(libusb_interrupt_transfer, iFpCpipu) -GO(libusb_interrupt_event_handler, iFp) // since 1.0.21 (API_VERSION > 0x01000105) GO(libusb_kernel_driver_active, iFpi) GO(libusb_lock_events, vFp) GO(libusb_lock_event_waiters, vFp) @@ -73,6 +86,8 @@ GO(libusb_set_configuration, iFpi) GO(libusb_set_debug, vFpi) GO(libusb_set_interface_alt_setting, iFpii) GO(libusb_setlocale, iFp) +//GOM(libusb_set_log_cb, vFppi) +//GO(libusb_set_option, iFpuV) //GOM(libusb_set_pollfd_notifiers, vFpppp) GO(libusb_strerror, pFi) GOM(libusb_submit_transfer, iFEp) @@ -83,3 +98,4 @@ GO(libusb_unlock_events, vFp) GO(libusb_unlock_event_waiters, vFp) GO(libusb_unref_device, vFp) GO(libusb_wait_for_event, iFpp) +GO(libusb_wrap_sys_device, iFplp) |