1*0d6140beSAndroid Build Coastguard Worker /* 2*0d6140beSAndroid Build Coastguard Worker * This file is part of the flashrom project. 3*0d6140beSAndroid Build Coastguard Worker * 4*0d6140beSAndroid Build Coastguard Worker * Copyright 2022 Google LLC 5*0d6140beSAndroid Build Coastguard Worker * 6*0d6140beSAndroid Build Coastguard Worker * This program is free software; you can redistribute it and/or modify 7*0d6140beSAndroid Build Coastguard Worker * it under the terms of the GNU General Public License as published by 8*0d6140beSAndroid Build Coastguard Worker * the Free Software Foundation; version 2 of the License. 9*0d6140beSAndroid Build Coastguard Worker * 10*0d6140beSAndroid Build Coastguard Worker * This program is distributed in the hope that it will be useful, 11*0d6140beSAndroid Build Coastguard Worker * but WITHOUT ANY WARRANTY; without even the implied warranty of 12*0d6140beSAndroid Build Coastguard Worker * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*0d6140beSAndroid Build Coastguard Worker * GNU General Public License for more details. 14*0d6140beSAndroid Build Coastguard Worker */ 15*0d6140beSAndroid Build Coastguard Worker 16*0d6140beSAndroid Build Coastguard Worker #ifndef LIBUSB_WRAPS_H 17*0d6140beSAndroid Build Coastguard Worker #define LIBUSB_WRAPS_H 18*0d6140beSAndroid Build Coastguard Worker 19*0d6140beSAndroid Build Coastguard Worker #include "usb_unittests.h" 20*0d6140beSAndroid Build Coastguard Worker 21*0d6140beSAndroid Build Coastguard Worker void *__wrap_usb_dev_get_by_vid_pid_number( 22*0d6140beSAndroid Build Coastguard Worker libusb_context *usb_ctx, uint16_t vid, uint16_t pid, unsigned int num); 23*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_init(libusb_context **ctx); 24*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_set_debug(libusb_context *ctx, int level); 25*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_set_option(libusb_context *ctx, int option, ...); 26*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_open(libusb_device *dev, libusb_device_handle **devh); 27*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_set_auto_detach_kernel_driver(libusb_device_handle *devh, int enable); 28*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_detach_kernel_driver(libusb_device_handle *dev_handle, int interface_number); 29*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_attach_kernel_driver(libusb_device_handle *dev_handle, int interface_number); 30*0d6140beSAndroid Build Coastguard Worker struct libusb_device_handle *__wrap_libusb_open_device_with_vid_pid( 31*0d6140beSAndroid Build Coastguard Worker libusb_context *ctx, uint16_t vendor_id, uint16_t product_id); 32*0d6140beSAndroid Build Coastguard Worker libusb_device *__wrap_libusb_get_device(libusb_device_handle *dev_handle); 33*0d6140beSAndroid Build Coastguard Worker ssize_t __wrap_libusb_get_device_list(libusb_context *ctx, libusb_device ***list); 34*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_free_device_list(libusb_device **list, int unref_devices); 35*0d6140beSAndroid Build Coastguard Worker uint8_t __wrap_libusb_get_bus_number(libusb_device *dev); 36*0d6140beSAndroid Build Coastguard Worker uint8_t __wrap_libusb_get_device_address(libusb_device *dev); 37*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_get_device_descriptor(libusb_device *dev, struct libusb_device_descriptor *desc); 38*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_get_config_descriptor( 39*0d6140beSAndroid Build Coastguard Worker libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config); 40*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_free_config_descriptor(struct libusb_config_descriptor *config); 41*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_get_configuration(libusb_device_handle *devh, int *config); 42*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_set_configuration(libusb_device_handle *devh, int config); 43*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_claim_interface(libusb_device_handle *devh, int interface_number); 44*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_control_transfer(libusb_device_handle *devh, uint8_t bmRequestType, 45*0d6140beSAndroid Build Coastguard Worker uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, 46*0d6140beSAndroid Build Coastguard Worker uint16_t wLength, unsigned int timeout); 47*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_release_interface(libusb_device_handle *devh, int interface_number); 48*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_close(libusb_device_handle *devh); 49*0d6140beSAndroid Build Coastguard Worker libusb_device *__wrap_libusb_ref_device(libusb_device *dev); 50*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_unref_device(libusb_device *dev); 51*0d6140beSAndroid Build Coastguard Worker struct libusb_transfer *__wrap_libusb_alloc_transfer(int iso_packets); 52*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_submit_transfer(struct libusb_transfer *transfer); 53*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_free_transfer(struct libusb_transfer *transfer); 54*0d6140beSAndroid Build Coastguard Worker int __wrap_libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv); 55*0d6140beSAndroid Build Coastguard Worker void __wrap_libusb_exit(libusb_context *ctx); 56*0d6140beSAndroid Build Coastguard Worker 57*0d6140beSAndroid Build Coastguard Worker #endif /* LIBUSB_WRAPS_H */ 58