#!/usr/bin/perl -w

require 5.000;
use lib '/usr/local/bin',"$ENV{HOME}/bin",'/usr/stud/loescher/bin';
use lib 'd:/bin','c:/mydos','c:/bin';
use slmini;
use English;


######################################################################
### Voreinstellungen
######################################################################

$version = '0.1';
$appname = 'USR-MessageModem-Check';
$smpctrl  = which('smpctrl')  || '/opt/xsmp/bin/smpctrl';
$mail     = which('mail')     || '/usr/bin/mail';

######################################################################
### Hauptprogramm
######################################################################

&Hilfe if ($ARGV[0]);

# printumlaute Kopf();

$SIG{ALRM} = sub
{
#  system("$killproc `which smpctrl` > /dev/null");
  die "Timeout! Modem reagiert nicht oder Lockfile!\n"
#  unlink /var/lock/LCK..modem;
};
alarm 30;

@status = `$smpctrl -i`;
foreach (@status)
{
  if (/^2 :/)
  {
    open(MAIL, "| $mail -s$appname root") || die "Kann Pipe nicht öffnen!\n";
    print MAIL "Es sind neue nachrichten im Modemspeicher!\n";
    print "Es sind neue Nachrichten im Modemspeicher!\n";
    close MAIL;
    exit;
  }
}
print "Keine neuen Nachrichten.\n";


######################################################################
### Unterprogramme
######################################################################

sub Kopf
{
  my $head = "$appname $version   -   von Stephan Löscher";
  return "\n$head\n" . '~' x length($head) . "\n";
}


sub Hilfe
{
  printumlaute
  Kopf().
"Syntax: $appname

Wenn im USR Message Modem neue Nachrichten gespeichert sind, dann wird eine
Benachrichtigung an Root geschickt.

";
exit;
}
