+# spider route broadcasts
+#
+
+my $_last_time;
+my $_last_occurs;
+
+sub _gen_time
+{
+ if (!$_last_time || $_last_time != $main::systime) {
+ $_last_time = $main::systime;
+ $_last_occurs = 0;
+ return $_last_time;
+ } else {
+ $_last_occurs++;
+ return sprintf "$_last_time.%02d", $_last_occurs;
+ }
+}
+
+sub _gen_pc92
+{
+ my $sort = shift;
+ my $ext = $sort eq 'C';
+ my $s = "PC92^" . _encode_pc92_call($main::me, $ext) . "^" . _gen_time . "^$sort";
+ for (@_) {
+ $s .= "^" . _encode_pc92_call($_, $ext);
+ }
+ return $s . '^H99^';
+}
+
+# add a local one
+sub pc92a
+{
+ return _gen_pc92('A', @_);
+}
+
+# delete a local one
+sub pc92d
+{
+ return _gen_pc92('D', @_);
+}
+
+# send a config
+sub pc92c
+{
+ return _gen_pc92('C', @_);
+}
+