Tuesday, 8 November 2011

IPC USING UNNMAED PIPES



#include<sys/types.h>
        #include<stdio.h>
        #include<sys/stat.h>
        #include<unistd.h>
        #include<fcntl.h>
        main()
        {
        int id,desc,i,p[2];
        char buf[50];
pipe(p);
       
        id=fork();
        if(id==0)
        {
        char y[10]="child";
        printf("\n ipc using unnamed pipes (via systemcall)");
        //write(STDOUT_FILENO,y,5);
printf("\n child says");


        i=scanf("%s",buf);
        write(p[1] ,&i,sizeof(int));
        write(p[1],buf,i);
        }
        else
        {
               
                read(p[0],&i,sizeof(int));
                read(p[0],buf,i);
                printf("\n parent says: the data from pipe is:\n");
                write(STDOUT_FILENO,buf,i);
          }
printf("\n");
}                                                    

OUTPUT
./a.out

No comments:

Post a Comment