libusb-glue.h revision 2d411dbbac42bec217126c9bf97f6bef9977c484
1eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij/* 2eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij * mtp-utils.h 3eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij * XNJB 4eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij * 5eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij * Created by Richard Low on 24/12/2005. 6eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij * 7eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij */ 8eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij 9eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#include "mtp.h" 10eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#include <usb.h> 1115e344f57021b532da574b73aa74d1de3d6cdc73Linus Walleij#include "libmtp.h" 12eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij 13eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#define USB_BULK_READ usb_bulk_read 14eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#define USB_BULK_WRITE usb_bulk_write 15eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij 162d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij/** 172d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij * Internal USB struct (TODO: discard for device struct?) 182d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij */ 192d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleijtypedef struct _PTP_USB PTP_USB; 202d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleijstruct _PTP_USB { 212d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij usb_dev_handle* handle; 222d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij int inep; 232d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij int outep; 242d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij int intep; 252d411dbbac42bec217126c9bf97f6bef9977c484Linus Walleij}; 26eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij 27eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleijint open_device (int busn, int devn, short force, PTP_USB *ptp_usb, PTPParams *params, struct usb_device **dev); 28eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleijvoid close_device (PTP_USB *ptp_usb, PTPParams *params, uint8_t interfaceNumber); 29eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleijuint16_t connect_first_device(PTPParams *params, PTP_USB *ptp_usb, uint8_t *interfaceNumber); 30eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij 31eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij/* connect_first_device return codes */ 32eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#define PTP_CD_RC_CONNECTED 0 33eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#define PTP_CD_RC_NO_DEVICES 1 34eb8c6fe031f5ba155cabcbfabcc235acffbc2fbLinus Walleij#define PTP_CD_RC_ERROR_CONNECTING 2 35