ppp/sunos4/ppp.INSTALL
1996-01-01 22:47:46 +00:00

105 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
# Script for loading, unloading, etc. ppp modules.
moddir=/usr/local/etc
etcppp=/etc/ppp
PATH=/usr/etc:/usr/bin
# Check that we're superuser
touch /tmp/su$$
if chown root /tmp/su$$ >/dev/null; then :
else
echo "$0: must be root."
rm -f /tmp/su$$
exit 1
fi
rm -f /tmp/su$$
case "$0" in
*ppp.INSTALL)
if [ ! -f ppp.INSTALL ]; then
echo "ppp.INSTALL: not found"
exit 1
fi
for n in INSTALL LOAD UNLOAD MKDEV RMDEV; do
if [ -h /dev/ppp.$n -o -f /dev/ppp.$n ]; then
rm /dev/ppp.$n
fi
done
cp ppp.INSTALL /dev
for n in LOAD UNLOAD MKDEV RMDEV; do
ln -s ppp.INSTALL /dev/ppp.$n
done
;;
*ppp.LOAD)
if modstat | grep -w ppp >/dev/null; then
echo "ppp driver is already loaded."
exit 1
fi
if modstat | grep -w if_ppp >/dev/null; then
echo "if_ppp module already loaded: not reloading."
else
echo -n "if_ppp: "
modload $moddir/if_ppp_mod.o -sym -entry _if_ppp_vdcmd \
-o $etcppp/if_ppp_mod
fi
echo -n "ppp: "
modload $moddir/ppp_mod.o -sym -entry _ppp_vdcmd -exec /dev/ppp.MKDEV \
-o $etcppp/ppp_mod
echo -n "ppp_comp: "
modload $moddir/ppp_comp_mod.o -sym -entry _ppp_comp_vdcmd \
-o $etcppp/ppp_comp
echo -n "ppp_ahdl: "
modload $moddir/ppp_ahdl_mod.o -sym -entry _ppp_ahdlc_vdcmd \
-o $etcppp/ppp_ahdl
exit 0
;;
*ppp.MKDEV)
# args: module number, type, b-major, c-major
if [ $# -ne 4 ]; then
echo "Usage: $0 module-id module-type b-major c-major"
exit 1
fi
if [ "$2" -ne "12345607" ]; then
echo "$0: $2: bad module type"
exit 1
fi
rm -f /dev/ppp
# we "just know" that 37 is the major number of the clone driver
mknod /dev/ppp c 37 $4
chmod 644 /dev/ppp
exit 0
;;
*ppp.UNLOAD)
stat=0
if modstat | grep -w if_ppp >/dev/null; then
echo "$0: not unloading if_ppp module."
fi
for mod in ppp ppp_comp ppp_ahdl; do
id=`modstat | grep -w $mod | awk '{print $1}'`
if [ x$id = x ]; then
echo "$mod is not loaded."
stat = 1
else
modunload -id $id
fi
done
exit $stat
;;
*ppp.RMDEV)
rm -f /dev/ppp
exit 0
;;
*)
echo "Invocation names: ppp.INSTALL ppp.LOAD ppp.UNLOAD ppp.MKDEV ppp.RMDEV"
exit 1
;;
esac