Blame src/ccid_usb.h

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