int eltern_kind_pipe[2],
kind_eltern_pipe[2];

void INIT_SYNC(void)
{
  if(pipe(eltern_kind_pipe) < 0 || pipe(kind_eltern_pipe) < 0)
     EXIT("Fehler beim Initialisieren der Pipes........");
}

void bin_fertig_papa(pid_t pid)
{
  if(write(kind_eltern_pipe[1], "k", 1) !=1)
     EXIT("Fehler bei write..............");
}

void bin_fertig_kind(pid_t pid)
{
  if(write(eltern_kind_pipe[1], "e", 1) != 1)
     EXIT("Fehler bei write.......");
}

void warte_auf_papa(void)
{
  char zeichen;
  if(read(eltern_kind_pipe[0], &zeichen, 1) != 1)
     EXIT("Fehler bei read..........");
  if(zeichen!='e') /*Kind erwartet das Zeichen 'e' */
     EXIT("Fehler bei warte_auf_papa......");
}


void warte_auf_kind(void)
{
  char zeichen;
  if(read(kind_eltern_pipe[0], &zeichen, 1) != 1)
     EXIT("Fehler bei read..........");
  if(zeichen!='k') /*Eltern erwarten das Zeichen 'k' */
      EXIT("Fehler bei warte_auf_kind......");
}