mods for new demand-dial structure
[ppp.git] / sunos4 / ppp.INSTALL
1 #!/bin/sh
2
3 # Script for loading, unloading, etc. ppp modules.
4
5 moddir=/usr/local/etc
6 etcppp=/etc/ppp
7
8 PATH=/usr/etc:/usr/bin
9
10 # Check that we're superuser
11 touch /tmp/su$$
12 if chown root /tmp/su$$ >/dev/null; then :
13 else
14     echo "$0: must be root."
15     rm -f /tmp/su$$
16     exit 1
17 fi
18 rm -f /tmp/su$$
19
20 case "$0" in
21 *ppp.INSTALL)
22     if [ ! -f ppp.INSTALL ]; then
23         echo "ppp.INSTALL: not found"
24         exit 1
25     fi
26     for n in INSTALL LOAD UNLOAD MKDEV RMDEV; do
27         if [ -h /dev/ppp.$n -o -f /dev/ppp.$n ]; then
28             rm /dev/ppp.$n
29         fi
30     done
31     cp ppp.INSTALL /dev
32     for n in LOAD UNLOAD MKDEV RMDEV; do
33         ln -s ppp.INSTALL /dev/ppp.$n
34     done
35     ;;
36
37 *ppp.LOAD)
38     if modstat | grep -w ppp >/dev/null; then
39         echo "ppp driver is already loaded."
40         exit 1
41     fi
42     if modstat | grep -w if_ppp >/dev/null; then
43         echo "if_ppp module already loaded: not reloading."
44     else
45         echo -n "if_ppp: "
46         modload $moddir/if_ppp_mod.o -sym -entry _if_ppp_vdcmd \
47             -o $etcppp/if_ppp_mod
48     fi
49     echo -n "ppp: "
50     modload $moddir/ppp_mod.o -sym -entry _ppp_vdcmd -exec /dev/ppp.MKDEV \
51         -o $etcppp/ppp_mod
52     echo -n "ppp_comp: "
53     modload $moddir/ppp_comp_mod.o -sym -entry _ppp_comp_vdcmd \
54         -o $etcppp/ppp_comp
55     echo -n "ppp_ahdl: "
56     modload $moddir/ppp_ahdl_mod.o -sym -entry _ppp_ahdlc_vdcmd \
57         -o $etcppp/ppp_ahdl
58     exit 0
59     ;;
60
61 *ppp.MKDEV)
62     # args: module number, type, b-major, c-major
63     if [ $# -ne 4 ]; then
64         echo "Usage: $0 module-id module-type b-major c-major"
65         exit 1
66     fi
67     if [ "$2" -ne "12345607" ]; then
68         echo "$0: $2: bad module type"
69         exit 1
70     fi
71     rm -f /dev/ppp
72     # we "just know" that 37 is the major number of the clone driver
73     mknod /dev/ppp c 37 $4
74     chmod 644 /dev/ppp
75     exit 0
76     ;;
77
78 *ppp.UNLOAD)
79     stat=0
80     if modstat | grep -w if_ppp >/dev/null; then
81         echo "$0: not unloading if_ppp module."
82     fi
83     for mod in ppp ppp_comp ppp_ahdl; do
84         id=`modstat | grep -w $mod | awk '{print $1}'`
85         if [ x$id = x ]; then
86             echo "$mod is not loaded."
87             stat = 1
88         else
89             modunload -id $id
90         fi
91     done
92     exit $stat
93     ;;
94
95 *ppp.RMDEV)
96     rm -f /dev/ppp
97     exit 0
98     ;;
99
100 *)
101     echo "Invocation names: ppp.INSTALL ppp.LOAD ppp.UNLOAD ppp.MKDEV ppp.RMDEV"
102     exit 1
103     ;;
104 esac