#include #include #include #include #include #include "header.h" void box_RX(int transmit, int recieve); void box_TX(int transmit, int recieve); char buffer[128]; FILE* test; int main() { pid_t child; int TX[2]; int RX[2]; ssize_t rw_return; int pipe_return; assert((pipe_return = pipe(TX)) == 0); assert((pipe_return = pipe(RX)) == 0); if((child = fork()) == -1) { return -1; } else if(child == 0) { /* child RX side*/ rw_return = read(RX[1], buffer, 128); if(rw_return != -1) { perror("CHILD READ:"); } rw_return = write(TX[0], buffer, 128); assert(rw_return != -1); box_RX(TX[0], RX[1]); } else { fgets(buffer, 128, stdin); rw_return = write(RX[0], buffer, 128); assert(rw_return != -1); buffer[0] = '\0'; rw_return = read(TX[1], buffer, 128); assert(rw_return != -1); printf("%s", buffer); box_TX(RX[0], TX[1]); /* parent TX side*/ } return 0; } void box_RX(int transmit, int recieve) { } void box_TX(int transmit, int recieve) { }