Blame src/ccid_usb.h

Packit 9f0df5
/*
Packit 9f0df5
    ccid_usb.h:  USB access routines using the libusb library
Packit 9f0df5
    Copyright (C) 2003-2010   Ludovic Rousseau
Packit 9f0df5
Packit 9f0df5
    This library is free software; you can redistribute it and/or
Packit 9f0df5
    modify it under the terms of the GNU Lesser General Public
Packit 9f0df5
    License as published by the Free Software Foundation; either
Packit 9f0df5
    version 2.1 of the License, or (at your option) any later version.
Packit 9f0df5
Packit 9f0df5
    This library is distributed in the hope that it will be useful,
Packit 9f0df5
    but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 9f0df5
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 9f0df5
    Lesser General Public License for more details.
Packit 9f0df5
Packit 9f0df5
	You should have received a copy of the GNU Lesser General Public License
Packit 9f0df5
	along with this library; if not, write to the Free Software Foundation,
Packit 9f0df5
	Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Packit 9f0df5
*/
Packit 9f0df5
Packit 9f0df5
#ifndef __CCID_USB_H__
Packit 9f0df5
#define __CCID_USB_H__
Packit 9f0df5
status_t OpenUSB(unsigned int reader_index, int channel);
Packit 9f0df5
Packit 9f0df5
status_t OpenUSBByName(unsigned int reader_index, /*@null@*/ char *device);
Packit 9f0df5
Packit 9f0df5
status_t WriteUSB(unsigned int reader_index, unsigned int length,
Packit 9f0df5
	unsigned char *Buffer);
Packit 9f0df5
Packit 9f0df5
status_t ReadUSB(unsigned int reader_index, unsigned int *length,
Packit 9f0df5
	/*@out@*/ unsigned char *Buffer);
Packit 9f0df5
Packit 9f0df5
status_t CloseUSB(unsigned int reader_index);
Packit 9f0df5
Packit 9f0df5
#include <libusb.h>
Packit 9f0df5
/*@null@*/ const struct libusb_interface *get_ccid_usb_interface(
Packit 9f0df5
	struct libusb_config_descriptor *desc, int *num);
Packit 9f0df5
Packit 9f0df5
const unsigned char *get_ccid_device_descriptor(const struct libusb_interface *usb_interface);
Packit 9f0df5
Packit 9f0df5
int ControlUSB(int reader_index, int requesttype, int request, int value,
Packit 9f0df5
	unsigned char *bytes, unsigned int size);
Packit 9f0df5
Packit 9f0df5
int InterruptRead(int reader_index, int timeout);
Packit 9f0df5
void InterruptStop(int reader_index);
Packit 9f0df5
#endif