home *** CD-ROM | disk | FTP | other *** search
- #!/bin/bash
- #
- # p80211/wlan hotplug policy agent.
- #
- # wlan hotplug params include:
- #
- # ACTION=%s [register|remove|shutdown|startup|suspend|resume]
- # INTERFACE=%s
- # NSDNAME=%s
- #
-
- cd /etc/hotplug
- . hotplug.functions
-
- #DEBUG=yes export DEBUG
-
- if [ "$INTERFACE" = "" ]; then
- mesg Bad WLAN invocation: \$INTERFACE is not set
- exit 1
- fi
-
- if [ "$NSDNAME" = "" ]; then
- mesg Bad WLAN invocation: \$NSDNAME is not set
- exit 1
- fi
-
- debug_mesg WLAN $ACTION on $INTERFACE \($NSDNAME\)
-
- if [ "$NSDNAME" = "prism2_cs" ] ; then
- mesg "WLAN Hotplug bypassed for pcmcia"
- exit 0
- fi
-
- # load up the shared scripts
- if [ ! -f /etc/wlan/shared ] ; then
- mesg "/etc/wlan/shared not present, aborting"
- exit 1
- fi
-
- ECHO=mesg
- . /etc/wlan/shared
-
- case $ACTION in
- 'register'|'resume')
- debug_mesg WLAN $INTERFACE registered.
- wlan_bring_it_up $INTERFACE
- if [ $? = 0 ] ; then
- mesg WLAN $INTERFACE brought up successfully.
- if [ -x /etc/wlan/pre-ifup ] ; then
- # pre-ifup is presumed to call ifup if it
- # wants to...it may choose to skip it.
- mesg "WLAN bringing up layer 3+ with /etc/wlan/pre-ifup"
- /etc/wlan/pre-ifup $INTERFACE
- else
- mesg "WLAN bringing up layer 3+ with /sbin/ifup"
- /sbin/ifup $INTERFACE
- fi
- else
- mesg WLAN Could not bring up $INTERFACE
- fi
- # eventually invoke net.agent on $INTERFACE w/ REGISTER
- ;;
- 'remove'|'suspend')
- debug_mesg WLAN $INTERFACE removed.
- ;;
- 'startup')
- # kick off wland.
- debug_mesg WLAN p80211 starting!
- start_wland
- ;;
- 'shutdown')
- debug_mesg WLAN p80211 shutting down!
- stop_wland
- ;;
- *)
- debug_mesg WLAN $ACTION event not supported
- exit 1 ;;
-
- esac
-