X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtout.pm;h=0be2f0ea9d0672feb00ccbb67f261a9d13969bed;hb=84505457c5b3757715d97a63acd792b28fc1841a;hp=7857daa2b76ec9300ba2454f6e2d46dece01990c;hpb=0824a94355e5fb2b4c379bb013d66466725629f5;p=spider.git diff --git a/perl/DXProtout.pm b/perl/DXProtout.pm index 7857daa2..0be2f0ea 100644 --- a/perl/DXProtout.pm +++ b/perl/DXProtout.pm @@ -22,13 +22,12 @@ use strict; # All the PCxx generation routines # -# create a talk string (called $self->pc10(...) +# create a talk string ($from, $to, $via, $text) sub pc10 { - my ($self, $to, $via, $text) = @_; + my ($from, $to, $via, $text) = @_; my $user2 = $via ? $to : ' '; my $user1 = $via ? $via : $to; - my $from = $self->call(); $text = unpad($text); $text = ' ' if !$text; return "PC10^$from^$user1^$text^*^$user2^$main::mycall^~"; @@ -47,13 +46,13 @@ sub pc11 # create an announce message sub pc12 { - my ($self, $text, $tonode, $sysop, $wx) = @_; + my ($call, $text, $tonode, $sysop, $wx) = @_; my $hops = get_hops(12); $sysop = ' ' if !$sysop; $text = ' ' if !$text; $wx = '0' if !$wx; $tonode = '*' if !$tonode; - return "PC12^$self->{call}^$tonode^$text^$sysop^$main::mycall^$wx^$hops^~"; + return "PC12^$call^$tonode^$text^$sysop^$main::mycall^$wx^$hops^~"; } # @@ -129,8 +128,7 @@ sub pc20 # delete a node sub pc21 { - my ($ref, $reason) = @_; - my $call = $ref->call; + my ($call, $reason) = @_; my $hops = get_hops(21); $reason = "Gone." if !$reason; return "PC21^$call^$reason^$hops^"; @@ -153,6 +151,53 @@ sub pc24 return "PC24^$call^$flag^$hops^"; } +# message start (fromnode, tonode, to, from, t, private, subject, origin) +sub pc28 +{ + my ($fromnode, $tonode, $to, $from, $t, $private, $subject, $origin) = @_; + 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^~"; +} + +# message text (from and to node same way round as pc29) +sub pc29 +{ + my ($fromnode, $tonode, $stream, $text) = @_; + $text =~ s/\^//og; # remove ^ + return "PC29^$fromnode^$tonode^$stream^text^~"; +} + +# subject acknowledge (will have to and from node reversed to pc28) +sub pc30 +{ + my ($fromnode, $tonode, $stream) = @_; + return "PC30^$fromnode^$tonode^$stream^"; +} + +# acknowledge this tranche of lines (to and from nodes reversed to pc29 and pc28 +sub pc31 +{ + my ($fromnode, $tonode, $stream) = @_; + return "PC31^$fromnode^$tonode^$stream^"; +} + +# end of message from the sending end (pc28 node order) +sub pc32 +{ + my ($fromnode, $tonode, $stream) = @_; + return "PC32^$fromnode^$tonode^$stream^"; +} + +# acknowledge end of message from receiving end (opposite pc28 node order) +sub pc33 +{ + my ($fromnode, $tonode, $stream) = @_; + return "PC33^$fromnode^$tonode^$stream^"; +} + + # send all the DX clusters I reckon are connected sub pc38 {