diff options
Diffstat (limited to 'system/pcsc-lite/rc.pcscd')
-rw-r--r-- | system/pcsc-lite/rc.pcscd | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/system/pcsc-lite/rc.pcscd b/system/pcsc-lite/rc.pcscd new file mode 100644 index 0000000000000..480414de621b5 --- /dev/null +++ b/system/pcsc-lite/rc.pcscd @@ -0,0 +1,55 @@ +#!/bin/sh +# +# Start/Stop/Restart the PC/SC-lite smart card daemon. +# +# pcscd should be started after pcmcia and shut down +# before it for smooth experience with PCMCIA readers. +# + +PIDFILE=/var/run/pcscd.pid +PCSCD_OPTS="" + +# Start +pcscd_start() { + if [ -x /usr/sbin/pcscd ]; then + if [ -e "$PIDFILE" ]; then + echo "PC/SC-lite daemon already started!" + else + echo "Starting PC/SC-lite smart card daemon..." + /usr/sbin/update-reader.conf + /usr/sbin/pcscd $PCSCD_OPTS + fi + fi +} + +# Stop +pcscd_stop() { + echo "Stopping PC/SC-lite smart card daemon..." + if [ -e "$PIDFILE" ]; then + kill $(cat $PIDFILE) + rm -f $PIDFILE + fi + # Just in case: + killall pcscd 1>&2 >/dev/null +} + +# Restart +pcscd_restart() { + pcscd_stop + sleep 3 + pcscd_start +} + +case "$1" in +'start') + pcscd_start + ;; +'stop') + pcscd_stop + ;; +'restart') + pcscd_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac |