X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtout.pm;h=fb86ee2e67273d996176fa31b8ae4b4ac54981ad;hb=ab568d677a2d2243eabee315b3e609c4ea4f73a0;hp=0be2f0ea9d0672feb00ccbb67f261a9d13969bed;hpb=84505457c5b3757715d97a63acd792b28fc1841a;p=spider.git diff --git a/perl/DXProtout.pm b/perl/DXProtout.pm index 0be2f0ea..fb86ee2e 100644 --- a/perl/DXProtout.pm +++ b/perl/DXProtout.pm @@ -15,6 +15,7 @@ package DXProt; use DXUtil; use DXM; +use Carp; use strict; @@ -86,13 +87,14 @@ sub pc17 { my ($self, $ref) = @_; my $hops = get_hops(17); - return "PC17^$self->{call}^$ref->{call}^$hops^"; + return "PC17^$ref->{call}^$self->{call}^$hops^"; } # Request init string sub pc18 { - return "PC18^wot a load of twaddle^$DXProt::myprot_version^~"; + my $info = DXCluster::cluster; + return "PC18^$info^$DXProt::myprot_version^~"; } # @@ -154,11 +156,12 @@ sub pc24 # message start (fromnode, tonode, to, from, t, private, subject, origin) sub pc28 { - my ($fromnode, $tonode, $to, $from, $t, $private, $subject, $origin) = @_; + my ($tonode, $fromnode, $to, $from, $t, $private, $subject, $origin, $rr) = @_; my $date = cldate($t); my $time = ztime($t); $private = $private ? '1' : '0'; - return "PC28^$fromnode^$tonode^$to^from^$date^$time^$private^$subject^ ^5^0^ ^$origin^~"; + $rr = $rr ? '1' : '0'; + return "PC28^$tonode^$fromnode^$to^$from^$date^$time^$private^$subject^ ^5^$rr^ ^$origin^~"; } # message text (from and to node same way round as pc29) @@ -166,7 +169,7 @@ sub pc29 { my ($fromnode, $tonode, $stream, $text) = @_; $text =~ s/\^//og; # remove ^ - return "PC29^$fromnode^$tonode^$stream^text^~"; + return "PC29^$fromnode^$tonode^$stream^$text^~"; } # subject acknowledge (will have to and from node reversed to pc28) @@ -197,6 +200,19 @@ sub pc33 return "PC33^$fromnode^$tonode^$stream^"; } +# remote cmd send +sub pc34 +{ + my($fromnode, $tonode, $msg) = @_; + return "PC34^$tonode^$fromnode^$msg^~"; +} + +# remote cmd reply +sub pc35 +{ + my($fromnode, $tonode, $msg) = @_; + return "PC35^$tonode^$fromnode^$msg^~"; +} # send all the DX clusters I reckon are connected sub pc38 @@ -214,17 +230,48 @@ sub pc38 # tell the local node to discconnect sub pc39 { - my ($ref, $reason) = @_; - my $call = $ref->call; - my $hops = get_hops(21); + my ($call, $reason) = @_; + my $hops = get_hops(39); $reason = "Gone." if !$reason; - return "PC39^$call^$reason^"; + return "PC39^$call^$reason^$hops^"; +} + +# cue up bulletin or file for transfer +sub pc40 +{ + my ($to, $from, $fn, $bull) = @_; + $bull = $bull ? '1' : '0'; + return "PC40^$to^$from^$fn^$bull^5^"; +} + +# user info +sub pc41 +{ + my ($call, $sort, $info) = @_; + my $hops = get_hops(41); + $sort = $sort ? "$sort" : '0'; + return "PC41^$call^$sort^$info^$hops^~"; +} + +# abort message +sub pc42 +{ + my ($fromnode, $tonode, $stream) = @_; + return "PC42^$fromnode^$tonode^$stream^"; +} + +# bull delete +sub pc49 +{ + my ($from, $subject) = @_; + my $hops = get_hops(49); + return "PC49^$from^$subject^$hops^~"; } # periodic update of users, plus keep link alive device (always H99) sub pc50 { - my $me = DXCluster->get($main::mycall); + my $me = DXCluster->get_exact($main::mycall); my $n = $me->users ? $me->users : '0'; return "PC50^$main::mycall^$n^H99^"; }