#!/bin/sh # # lircd Linux Infrared Remote Control daemon # # chkconfig: 2345 65 35 # description: LIRC is a package that allows you to decode and send \ # infra-red signals of many (but not all) commonly used \ # remote controls. # # processname: lircd # pidfile: /var/run/lirc/lircd.pid # config: /etc/lirc/lircd.conf # config: /etc/sysconfig/lircd # Source function library . /etc/rc.d/init.d/functions # Get service config [ -f /etc/sysconfig/lircd ] && . /etc/sysconfig/lircd start() { # Check if the service is already running? if [ -f /var/lock/subsys/lircd ]; then msg_already_running "Linux Infrared Remote Control daemon" return fi msg_starting "Linux Infrared Remote Control daemon" OPTIONS="" [ -n "$DRIVER" ] && OPTIONS="--driver=$DRIVER" [ -n "$DEVICE" ] && OPTIONS="$OPTIONS --device=$DEVICE" #Check if use serial port [ -n "$COM_PORT" ] && setserial $COM_PORT uart none MODULE_OPTIONS="" [ -n "$DRIVER_OPTS" ] && MODULE_OPTIONS="$DRIVER_OPTS" modprobe -s lirc $MODULE_OPTIONS > /dev/null 2>&1 ln -sf /tmp/.lircd /dev/lircd daemon lircd $OPTIONS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/lircd } stop() { # Stop daemons. if [ ! -f /var/lock/subsys/lircd ]; then msg_not_running "Linux Infrared Remote Control daemon" return fi msg_stopping "Linux Infrared Remote Control daemon" killproc lircd rm -f /dev/lircd rm -f /var/lock/subsys/lircd >/dev/null 2>&1 } restart() { test -f /var/lock/subsys/lircmd && RESTART_LIRCMD=yes test -n "$RESTART_LIRCMD" && /sbin/service lircmd stop stop start test -n "$RESTART_LIRCMD" && /sbin/service lircmd start } condrestart() { if [ ! -f /var/lock/subsys/lircd ]; then msg_not_running "Linux Infrared Remote Control daemon" RETVAL=$1 return fi restart } reload() { if [ ! -f /var/lock/subsys/lircd ]; then msg_not_running "Linux Infrared Remote Control daemon" RETVAL=7 return fi msg_reloading "Linux Infrared Remote Control daemon" killproc lircd -HUP RETVAL=$? } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) restart ;; try-restart) condrestart 0 ;; reload|force-reload) reload ;; status) status lircd exit $? ;; *) msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" exit 3 esac exit $RETVAL