1/* 2 ccid_usb.h: USB access routines using the libusb library 3 Copyright (C) 2003-2004 Ludovic Rousseau 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public License 16 along with this library; if not, write to the Free Software Foundation, 17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18*/ 19 20/* 21 * $Id: ccid_usb.h 4346 2009-07-28 13:39:37Z rousseau $ 22 */ 23 24#ifndef __CCID_USB_H__ 25#define __CCID_USB_H__ 26status_t OpenUSB(unsigned int reader_index, int channel); 27 28status_t OpenUSBByName(unsigned int reader_index, /*@null@*/ char *device); 29 30status_t WriteUSB(unsigned int reader_index, unsigned int length, 31 unsigned char *Buffer); 32 33status_t ReadUSB(unsigned int reader_index, unsigned int *length, 34 /*@out@*/ unsigned char *Buffer); 35 36status_t CloseUSB(unsigned int reader_index); 37 38#if defined (__USB_H__) || defined (_SYS_USB_LIBUSB_USB_H) 39/*@null@*/ struct usb_interface *get_ccid_usb_interface( 40 struct usb_device *dev, int *num); 41#endif 42 43int ControlUSB(int reader_index, int requesttype, int request, int value, 44 unsigned char *bytes, unsigned int size); 45 46int InterruptRead(int reader_index, int timeout); 47#endif 48