about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt3
-rw-r--r--src/wrapped/generated/wrappedlibusb1types.h2
-rw-r--r--src/wrapped/generated/wrapper.c3
-rw-r--r--src/wrapped/generated/wrapper.h1
-rw-r--r--src/wrapped/wrappedlibusb1.c6
-rw-r--r--src/wrapped/wrappedlibusb1_private.h24
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)