#!/bin/sh /etc/rc.common

START=99
STOP=10

USE_PROCD=1

start_service() {
    procd_open_instance

    # Start socat to create /dev/ttyIN and /dev/ttyOUT
    procd_set_param command \
        socat -d -d pty,link=/dev/ttySMD11IN,raw,echo=0,group=20,perm=660 \
                 pty,link=/dev/ttySMD11,raw,echo=1,group=20,perm=660
    procd_set_param respawn
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_close_instance

    # Start cat process for /dev/smd11 to /dev/ttySMD11IN
    procd_open_instance
    procd_set_param command sh -c "cat /dev/smd11 > /dev/ttySMD11IN"
    procd_set_param respawn
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_close_instance

    # Start cat process for /dev/ttySMD11IN to /dev/smd11
    procd_open_instance
    procd_set_param command sh -c "cat /dev/ttySMD11IN > /dev/smd11"
    procd_set_param respawn
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_close_instance
}

stop_service() {
    # procd will handle stopping all instances automatically
    echo "Stopping socat and cat instances."
}
