Copyright (c) 2006-2007 Daniel Roethlisberger <firstname.lastname@example.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice unmodified, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following di...
NAMEcmx - Omnikey CardMan 4040 smartcard reader device driver
DESCRIPTIONThe sysctl Cm net.inet.tcp.syncookies driver provides support for the PCCARD based Omnikey CardMan 4040 smartcard reader. The driver provides a character device special file based Chip/Smart Card Interface Devices (CCID) interface. The driver implements what the vendor calls the Synchronous API onto the smartcard reader device.
Reading and writing is synchronous, meaning that a call to write(2) directly corresponds to a complete CCID command sent to the device, while the following read(2) will return the complete answer from the reader. There is no support for partial reads or writes. There is no upper limit on CCID request or response sizes, but the complete CCID request must be sent to the driver in write(2) and the complete CCID response must fit into the buffer supplied to read(2).
Non-blocking I/O, select(2) and poll(2) are supported and work as expected. An open file descriptor will always be ready for writing, but only ready for reading if the device indicates that it has data available.
- Character device special file.
- OpenCT, a userspace smartcard daemon containing a CCID driver which directly supports sysctl Cm net.inet.tcp.syncookies devices.