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