#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>

#include "globals.h"

void
run_parent (pid_t child_pid);

void
run_child (pid_t parent_pid);


int
main (void)
{
  pid_t parent_pid = getpid ();
  pid_t child_pid;

  if (pipe (mypipe))
    {
      printf ("pipe a échoué\n");
      exit (EXIT_FAILURE);
    }

  pid_t fork_result = fork ();

  switch (fork_result)
  {
  case -1:
    fprintf (stderr, "fork failed\n");
    exit (EXIT_FAILURE);
  case 0: // fils
    child_pid = getpid ();
    run_child (parent_pid);
    break;
  default: // père
    child_pid = fork_result;
    run_parent (child_pid);
  } // switch

  return EXIT_SUCCESS;
}
