diff options
author | Chris Dickens <christopher.a.dickens@gmail.com> | 2018-01-03 23:09:09 -0800 |
---|---|---|
committer | Chris Dickens <christopher.a.dickens@gmail.com> | 2018-01-03 23:27:33 -0800 |
commit | c4438b3c7b2e1db0be8d5fe5eab08756367135d6 (patch) | |
tree | fc627c4b30159749ef160883965f5d9d42801fbd /libusb/os/windows_winusb.h | |
parent | 886e3967685d270e24763839f1780546a351395c (diff) | |
download | libusb-c4438b3c7b2e1db0be8d5fe5eab08756367135d6.tar.gz |
Windows: Kill empty functions and switch to runtime checking
Instead of requiring each driver API to provide a complete set of
functions, some of which may be simple containers for returning an
unsupported error code, allow function pointers to be NULL and return
an error when a NULL pointer is encountered.
Also remove the unused sub_api parameter from the API init/exit
functions.
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
Diffstat (limited to 'libusb/os/windows_winusb.h')
-rw-r--r-- | libusb/os/windows_winusb.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libusb/os/windows_winusb.h b/libusb/os/windows_winusb.h index 3623b96..6a7a909 100644 --- a/libusb/os/windows_winusb.h +++ b/libusb/os/windows_winusb.h @@ -92,15 +92,13 @@ const GUID GUID_DEVINTERFACE_LIBUSB0_FILTER = {0xF9F3FF14, 0xAE21, 0x48A0, {0x8A #define SUB_API_WINUSB 2 #define SUB_API_MAX 3 -#define WINUSBX_DRV_NAMES {"libusbK", "libusb0", "WinUSB"} - struct windows_usb_api_backend { const uint8_t id; const char *designation; const char **driver_name_list; // Driver name, without .sys, e.g. "usbccgp" const uint8_t nb_driver_names; - int (*init)(int sub_api, struct libusb_context *ctx); - int (*exit)(int sub_api); + int (*init)(struct libusb_context *ctx); + void (*exit)(void); int (*open)(int sub_api, struct libusb_device_handle *dev_handle); void (*close)(int sub_api, struct libusb_device_handle *dev_handle); int (*configure_endpoints)(int sub_api, struct libusb_device_handle *dev_handle, int iface); @@ -120,8 +118,8 @@ struct windows_usb_api_backend { extern const struct windows_usb_api_backend usb_api_backend[USB_API_MAX]; #define PRINT_UNSUPPORTED_API(fname) \ - usbi_dbg("unsupported API call for '" \ - #fname "' (unrecognized device driver)"); \ + usbi_dbg("unsupported API call for '%s' " \ + "(unrecognized device driver)", #fname); \ return LIBUSB_ERROR_NOT_SUPPORTED; /* |