Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (annotate) |
| Sticky Revision: |
get the iInterface string instead of just printing the string number
allow to list more than one CCID interface per USB device
explicitly cast result in void when not used (reported by the splint tool)
small code reformat
update Free Software Foundation mail address
libusb-compat returns a permission denied error on usb_open() when not run as root
do not try to parse devices with bInterfaceClass=0xFF by default (use command line argument -p for proprietary class)
remove duplicated code
display the enumerated USB devices and if they are or not a CCID/ICCD device also add some colors
log error messages on stderr instead of stdout
use an unsigned char [] buffer only for multi-bytes conversions. usb_* functions want a char [] buffer.
bInterfaceProtocol set to 0 is CCID
do not claim/release the device on Mac OS X
if usb_claim_interface() fails we ask the user to stop pcscd and retry
claim and release the interface
display "Can't find any CCID device. Maybe you must run parse as root?" if appropriate
if usb_control_msg() fails because the device is busy this is because pcscd has claimed the device already
use an unsigned char buffer[] to have unsigned multi-bytes convertions
bit 0x000800 of dwFeatures is undocumented but used by ICCD?
display the error message if usb_control_msg() fails
do not declare another buffer variable to avoid: declaration of ‘buffer’ shadows a previous local
parse bInterfaceProtocol field
parse bNumEndpoints field
typo: "busses" -> "buses" Thanks to Martin Paljak for the patch
add a missing \n in printf
remove unused argc and argv arguments
exit if the command is not run as root and getting iManufacturer fails
remove trailing spaces at end of lines
I used the MSB instead of LSB in parsing dwSynchProtocols
rewrite to scan the devices ourself instead of calling IFDHCreateChannel(). No need to have an updated Info.plist anymore.
if bNumDataRatesSupported is 0 we get the list size from what GET DATA RATES command returns idem for bNumClockSupported
do not request data rates if the reader reports it support a 0 length list. Idem for clocks.
print bNumClockSupported: as %d and not 0x%02X
check that we do not receive more data rates anc clock frequencies than the reader supports
parse wLcdLayout
parse bClassEnveloppe
pares bClassGetResponse
parse dwSynchProtocols
display the clock frequencies supported by the reader
move the display of supported data rates after printing bNumDataRatesSupported info
display the bit value of dwFeatures in the text message
test all the 4 bytes of dwFeatures against 0 and not just the first one
do not display the list returned by GET DATA RATES if the list size is not a multiple of 4 (n % 4 != 0)
display the supported data rates using the CCID command GET DATA RATES
typo: used "ICC" instead of "CCID"
use lun instead of channel as first argument to get_desc() and use the returned value to detect an error
display idVendor and idProduct
display USB bcdDevice field. Is it the device firmware release?
add support of "Character level exchange"
try to IFDHCloseChannel() only if we opened at least one reader
do not use OpenUSB/CloseUSB but IFDHCreateChannel/IFDHCloseChannel to use the ReaderIndex[] mechanism
rename PCSCLITE_MAX_READERS in CCID_DRIVER_MAX_READERS This value is not defined by pcsc-lite but is internal to the CCID driver. By default pcsc-lite supports the same number of readers (16).
explicitely cast the returned value as (void) if we don't use it
ccid_parse_interface_descriptor() is now static
make channel variable (unsigned int) instead of (int)
include <sys/types.h> so splint can parse the file
mark unused arguments as /*@unused@*/ for splint
reorganize header files
parse bPINSupport field
- use get_ccid_usb_interface() to also manage USB composite devices (keyboards) - continue parsing even if bDescriptorType == 0xFF (proprietary)
remore *device_name[] argument from get_desc()
add a test on the USB extra field length to avoid a crash and print an error message. This occurs when the reader is _not_ CCID and the CCID driver is used (wrong Info.plist for example).
continue parsing even if bInterfaceSubClass and bInterfaceProtocol are unsupported. This may be the case with non "real" CCID readers.
do not exit if the InterfaceClass is 0xFF (proprietary). It is the case with old readers manufactured before the final release of the CCID specs.
indent the output with one feature per line (and not on the same line separated by ,)
do not print garbage if we can't get the iManufacturer or iProduct fields
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| ViewVC Help | |
| Powered by ViewVC 1.1.5 |