From d1e4372464591edf54899ed6088f1d5058cadeed Mon Sep 17 00:00:00 2001 From: Sean McBride Date: Wed, 3 Jan 2024 22:03:09 -0500 Subject: [PATCH] libusbi.h/darwin: Split recursive struct declarations, for C++ compat Closes #1461 --- libusb/libusbi.h | 10 ++++++---- libusb/os/darwin_usb.h | 16 +++++++++------- libusb/version_nano.h | 2 +- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/libusb/libusbi.h b/libusb/libusbi.h index 6d19a93..776b692 100644 --- a/libusb/libusbi.h +++ b/libusb/libusbi.h @@ -824,11 +824,13 @@ void usbi_signal_transfer_completion(struct usbi_transfer *itransfer); void usbi_connect_device(struct libusb_device *dev); void usbi_disconnect_device(struct libusb_device *dev); +struct usbi_event_source_data { + usbi_os_handle_t os_handle; + short poll_events; +}; + struct usbi_event_source { - struct usbi_event_source_data { - usbi_os_handle_t os_handle; - short poll_events; - } data; + struct usbi_event_source_data data; struct list_head list; }; diff --git a/libusb/os/darwin_usb.h b/libusb/os/darwin_usb.h index 86646bf..a128e49 100644 --- a/libusb/os/darwin_usb.h +++ b/libusb/os/darwin_usb.h @@ -125,17 +125,19 @@ struct darwin_device_priv { struct darwin_cached_device *dev; }; +struct darwin_interface { + usb_interface_t interface; + uint8_t num_endpoints; + CFRunLoopSourceRef cfSource; + uint64_t frames[256]; + uint8_t endpoint_addrs[USB_MAXENDPOINTS]; +}; + struct darwin_device_handle_priv { bool is_open; CFRunLoopSourceRef cfSource; - struct darwin_interface { - usb_interface_t interface; - uint8_t num_endpoints; - CFRunLoopSourceRef cfSource; - uint64_t frames[256]; - uint8_t endpoint_addrs[USB_MAXENDPOINTS]; - } interfaces[USB_MAXINTERFACES]; + struct darwin_interface interfaces[USB_MAXINTERFACES]; }; struct darwin_transfer_priv { diff --git a/libusb/version_nano.h b/libusb/version_nano.h index 7adf0a0..00ea920 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 11958 +#define LIBUSB_NANO 11959