aboutsummaryrefslogtreecommitdiff
path: root/dpid/dpidc
blob: 88b887cb8b3bc971a343a4a246323a17a25d48c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl -w
# Author: Ferdi Franceschini
#
# dpid control program
# Currently allows
# register: Tells dpid to register all available dpis
# stop: Stops dpid.

use strict;
use IO::Socket::UNIX;

# Get socket directory name
open(DSD, "<$ENV{HOME}/.dillo/dpi_socket_dir");
my $dir = <DSD>;
close(DSD);

my $socket = IO::Socket::UNIX->new(Peer => "$dir/dpid.srs", Type => SOCK_STREAM, Timeout => 1000 ) or die "new: $@";

$socket->autoflush(1);

my %dpi_command = ( 
        "register" => "<dpi cmd='register_all' '>",
        "stop" => "<dpi cmd='DpiBye' '>",
        );

if ( exists($dpi_command{$ARGV[0]}) ) {
        print $socket $dpi_command{$ARGV[0]};
} else {
        close($socket);
        print "Usage: dpidc register|stop\n";
}