diff --git a/Cargo.toml b/Cargo.toml index d7a2c1c..7c9f635 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ windows-sys = { version = ">= 0.60, <= 0.61", features = ["Win32_Devices_Usb", " [target.'cfg(target_os="macos")'.dependencies] core-foundation = "0.10.1" core-foundation-sys = "0.8.4" -io-kit-sys = "0.4.0" +io-kit-sys = "0.5.0" [target.'cfg(any(target_os="linux", target_os="android", target_os="windows", target_os="macos"))'.dependencies] blocking = { version = "1.6.1", optional = true } diff --git a/src/platform/macos_iokit/device.rs b/src/platform/macos_iokit/device.rs index ab4809c..9f20f39 100644 --- a/src/platform/macos_iokit/device.rs +++ b/src/platform/macos_iokit/device.rs @@ -147,7 +147,7 @@ impl MacDevice { pub(crate) fn configuration_descriptors( &self, - ) -> impl Iterator { + ) -> impl Iterator> { self.config_descriptors .iter() .map(|d| ConfigurationDescriptor::new_unchecked(&d[..])) @@ -343,7 +343,7 @@ impl MacDevice { let res = unsafe { call_iokit_function!( self.device.raw, - DeviceRequestAsyncTO(&mut req, transfer_callback, ptr as *mut c_void) + DeviceRequestAsyncTO(&mut req, Some(transfer_callback), ptr as *mut c_void) ) }; @@ -564,7 +564,7 @@ impl MacEndpoint { self.inner.pipe_ref, buf_ptr as *mut c_void, req_len, - transfer_callback, + Some(transfer_callback), ptr as *mut c_void ) ), @@ -574,7 +574,7 @@ impl MacEndpoint { self.inner.pipe_ref, buf_ptr as *mut c_void, req_len, - transfer_callback, + Some(transfer_callback), ptr as *mut c_void ) ), diff --git a/src/platform/macos_iokit/hotplug.rs b/src/platform/macos_iokit/hotplug.rs index f9e5f53..d43ab89 100644 --- a/src/platform/macos_iokit/hotplug.rs +++ b/src/platform/macos_iokit/hotplug.rs @@ -154,7 +154,7 @@ fn register_notification( let mut iter = 0; let r = IOServiceAddMatchingNotification( port.0, - event as *mut c_char, + event as *const c_char, ManuallyDrop::new(dictionary.clone()).as_concrete_TypeRef(), callback, waker.0 as *mut c_void,