P2P: wpa_cli action calls for P2P group started/removed events
This commit is contained in:
parent
57faa1cee8
commit
42f0101b4d
2 changed files with 60 additions and 0 deletions
56
wpa_supplicant/examples/p2p-action.sh
Executable file
56
wpa_supplicant/examples/p2p-action.sh
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
IFNAME=$1
|
||||||
|
CMD=$2
|
||||||
|
|
||||||
|
kill_daemon() {
|
||||||
|
NAME=$1
|
||||||
|
PF=$2
|
||||||
|
|
||||||
|
if [ ! -r $PF ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
PID=`cat $PF`
|
||||||
|
if [ $PID -gt 0 ]; then
|
||||||
|
if ps $PID | grep -q $NAME; then
|
||||||
|
kill $PID
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm $PF
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$CMD" = "P2P-GROUP-STARTED" ]; then
|
||||||
|
GIFNAME=$3
|
||||||
|
if [ "$4" = "GO" ]; then
|
||||||
|
kill_daemon dhclient /var/run/dhclient-$GIFNAME.pid
|
||||||
|
rm /var/run/dhclient.leases-$GIFNAME
|
||||||
|
kill_daemon dnsmasq /var/run/dnsmasq.pid-$GIFNAME
|
||||||
|
ifconfig $GIFNAME 192.168.42.1 up
|
||||||
|
dnsmasq -x /var/run/dnsmasq.pid-$GIFNAME \
|
||||||
|
-i $GIFNAME \
|
||||||
|
-F192.168.42.11,192.168.42.99
|
||||||
|
fi
|
||||||
|
if [ "$4" = "client" ]; then
|
||||||
|
kill_daemon dhclient /var/run/dhclient-$GIFNAME.pid
|
||||||
|
rm /var/run/dhclient.leases-$GIFNAME
|
||||||
|
kill_daemon dnsmasq /var/run/dnsmasq.pid-$GIFNAME
|
||||||
|
dhclient -pf /var/run/dhclient-$GIFNAME.pid \
|
||||||
|
-lf /var/run/dhclient.leases-$GIFNAME \
|
||||||
|
-nw \
|
||||||
|
$GIFNAME
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$CMD" = "P2P-GROUP-REMOVED" ]; then
|
||||||
|
GIFNAME=$3
|
||||||
|
if [ "$4" = "GO" ]; then
|
||||||
|
kill_daemon dnsmasq /var/run/dnsmasq.pid-$GIFNAME
|
||||||
|
ifconfig $GIFNAME 0.0.0.0
|
||||||
|
fi
|
||||||
|
if [ "$4" = "client" ]; then
|
||||||
|
kill_daemon dhclient /var/run/dhclient-$GIFNAME.pid
|
||||||
|
rm /var/run/dhclient.leases-$GIFNAME
|
||||||
|
ifconfig $GIFNAME 0.0.0.0
|
||||||
|
fi
|
||||||
|
fi
|
|
@ -2544,6 +2544,10 @@ static void wpa_cli_action_process(const char *msg)
|
||||||
wpa_cli_connected = 0;
|
wpa_cli_connected = 0;
|
||||||
wpa_cli_exec(action_file, ctrl_ifname, "DISCONNECTED");
|
wpa_cli_exec(action_file, ctrl_ifname, "DISCONNECTED");
|
||||||
}
|
}
|
||||||
|
} else if (str_match(pos, P2P_EVENT_GROUP_STARTED)) {
|
||||||
|
wpa_cli_exec(action_file, ctrl_ifname, pos);
|
||||||
|
} else if (str_match(pos, P2P_EVENT_GROUP_REMOVED)) {
|
||||||
|
wpa_cli_exec(action_file, ctrl_ifname, pos);
|
||||||
} else if (str_match(pos, WPA_EVENT_TERMINATING)) {
|
} else if (str_match(pos, WPA_EVENT_TERMINATING)) {
|
||||||
printf("wpa_supplicant is terminating - stop monitoring\n");
|
printf("wpa_supplicant is terminating - stop monitoring\n");
|
||||||
wpa_cli_quit = 1;
|
wpa_cli_quit = 1;
|
||||||
|
|
Loading…
Reference in a new issue