#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

#define IN 0
#define OUT 1
#define MAXBUFFER 100

int main(){
   pid_t pid;
   //cria os descritores de entrada-0 e saida-1 
   int descritoresPipe[2];
   char buffer[MAXBUFFER];
   if(pipe(descritoresPipe)){
	return 1;
   }  	
   pid=fork();
   if(pid <0) return 1;
   else if(pid>0){   //pai escreve ou transmite - OUT
           //FECHA pipe de entrada, não precisa
           close(descritoresPipe[IN]); 	   
           write(descritoresPipe[OUT], "Oi filho, tudo bem?\n",12);
	       sleep(20);
           return 0;
        }
        else{ //filho lê
            //FECHA pipe de saída, não precisa
            close(descritoresPipe[OUT]);
            read(descritoresPipe[IN], buffer, MAXBUFFER);
            printf("%s", buffer);
	        sleep(20);
            return 0;	    
        }	   
}




