#!/usr/bin/perl
use IPC::SysV qw(IPC_CREAT S_IRWXU ftok);
use IPC::Msg;

# Die folgenden Konstanten kennzeichnen die Message-Queue im System.
# RENDEZVOUS muss der Name einer _existierenden_ Datei sein!
# Nur die unteren 8 Bits von RVID sind wichtig und muessen !=0 sein!
# ftok(RENDEZVOUS, RVID) erzeugt einen immer identischen Schluessel,
# so lange die Datei RENDEZVOUS nicht neu angelegt wurde.

use constant RENDEZVOUS => "/etc";
use constant RVID       => 121;


sub plmsg_newqueue{

  # Erzeugt eine Message-Queue mit dem Namen RENDEZVOUS,
  # wenn sie noch nicht vorher existiert hat.
  use vars qw($msg);
  my $msg = new IPC::Msg(ftok(RENDEZVOUS, RVID), S_IRWXU | IPC_CREAT);

}

sub plmsg_send{
  my $msg = new IPC::Msg(ftok(RENDEZVOUS, RVID), 0);

  # Fuelle die Message-Queue mit @MESSAGES
  #   Wir verwenden dazu die Methode snd().
  #   Typ jeder Nachricht: long, gefolgt von einem String.
#  for ($i=0; $i < $#MESSAGES; $i+=2) {
    my ($prio, $text)=(1,"player started");# = @MESSAGES[$i,$i+1];
    
    $msg->snd($prio, $text, 0);
#  }
}


print "start\n";
print "create queue and wait...\n";
plmsg_newqueue();
sleep 10;
print "send message\n";
plmsg_send();
print "end\n";

