I don't see any reason to restrict pc/sc to linux only. It's important to
be able to configure the name of the smartcard device. One way to do this
is to try /dev/smartcard first, and if that fails, then try the OS dependent
device names.
Another example of linux dependency that I've seen a few times is the port
speed setting code. This is bad:
t.c_cflag = B9600;
This is good:
cfsetispeed(&t, B9600);
cfsetospeed(&t, B9600);
***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************