RCS file: header.h,v Working file: header.h head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 2 description: Decleared all the header files that are useful for the program. Also decleared the structure of req_client which includes operator and operands. Gave the prototypes for the invoke_process_client1(). Gave the prototype for invoke_process_client2(). Gave the prototype for invoke_process_client3(). ---------------------------- revision 1.2 locked by: root; date: 2015/04/15 11:15:39; author: root; state: Exp; lines: +0 -1 Also decleared the union semun which includes a value. Gave the prototype for wait operation i.e semaphore_p(). Gave the prototype for signal operation i.e semaphore_v(). Gave the prototype for destroying the semaphore i.e del_semvalue(). ---------------------------- revision 1.1 date: 2015/04/15 11:14:54; author: root; state: Exp; Initial revision ============================================================================= RCS file: req_add.c,v Working file: req_add.c head: 1.3 branch: locks: strict root: 1.3 access list: symbolic names: keyword substitution: kv total revisions: 3; selected revisions: 3 description: This is requesting client(req_client) requesting for add operation. Created a FIFO between req_add and server. We have created this FIFO in O_WRONLY mode . Req_add wrote the request structure to the server. Also used semaphore wait function i.e semaphore_p(). ---------------------------- revision 1.3 locked by: root; date: 2015/04/15 11:39:10; author: root; state: Exp; lines: +1 -0 Created another FIFO in O_RDONLY mode . Accepted the result through FIFO. ---------------------------- revision 1.2 date: 2015/04/15 11:32:54; author: root; state: Exp; lines: +0 -1 Now we have used the semaphore signal function i.e semaphore_v(). ---------------------------- revision 1.1 date: 2015/04/15 11:31:18; author: root; state: Exp; Initial revision ============================================================================= RCS file: req_sub.c,v Working file: req_sub.c head: 1.3 branch: locks: strict root: 1.3 access list: symbolic names: keyword substitution: kv total revisions: 3; selected revisions: 3 description: This is requesting client requesting for subtract operation. Created a FIFO between req_sub and server. We have created this FIFO in O_WRONLY mode . Req_sub wrote the request structure to the server. Also use semaphore wait operation i.e semaphore_p(). ---------------------------- revision 1.3 locked by: root; date: 2015/04/15 11:50:28; author: root; state: Exp; lines: +1 -0 Created another FIFO in O_WRONLY mode . Accepting the result from the server. ---------------------------- revision 1.2 date: 2015/04/15 11:49:02; author: root; state: Exp; lines: +37 -0 Also used semaphore signal operation i.e semaphore_v(). ---------------------------- revision 1.1 date: 2015/04/15 11:47:51; author: root; state: Exp; Initial revision ============================================================================= RCS file: req_mul.c,v Working file: req_mul.c head: 1.3 branch: locks: strict root: 1.3 access list: symbolic names: keyword substitution: kv total revisions: 3; selected revisions: 3 description: This is requesting client requesting for multiplication operation. Created a FIFO between req_mul and server. We have created the FIFO in O_WRONLY mode . Also used semaphore wait operation i.e semaphore_p(). ---------------------------- revision 1.3 locked by: root; date: 2015/04/15 12:00:12; author: root; state: Exp; lines: +1 -0 Created another FIFO in O_RDONLY mode . Accepting the result from server through FIFO . ---------------------------- revision 1.2 date: 2015/04/15 11:56:25; author: root; state: Exp; lines: +1 -0 Also use semaphore signal operation i.e semaphore_v(). ---------------------------- revision 1.1 date: 2015/04/15 11:55:57; author: root; state: Exp; Initial revision ============================================================================= RCS file: adder.c,v Working file: adder.c head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 2 description: This is processing client i.e adder.c Accepting the request structure send by the server. Performing the addition operation. ---------------------------- revision 1.2 locked by: root; date: 2015/04/15 12:42:06; author: root; state: Exp; lines: +1 -0 Performed the operation and computed the result. Send back the result to the server through pipes. also used kill()signal. ---------------------------- revision 1.1 date: 2015/04/15 12:41:16; author: root; state: Exp; Initial revision ============================================================================= RCS file: subtractor.c,v Working file: subtractor.c head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 2 description: This is processing client performing subtraction operation. Accepting the request structure from the server. Performing the subtraction operation. ---------------------------- revision 1.2 locked by: root; date: 2015/04/15 12:48:29; author: root; state: Exp; lines: +1 -0 Performed the operation and computed the result. send back the result to the server. ---------------------------- revision 1.1 date: 2015/04/15 12:47:26; author: root; state: Exp; Initial revision ============================================================================= RCS file: multiplier.c,v Working file: multiplier.c head: 1.2 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 2 description: This is processing client performing multiplication operation. Accepting the request structure from server. Performing the multiplication operation. ---------------------------- revision 1.2 date: 2015/04/15 12:56:24; author: root; state: Exp; lines: +1 -0 Performed the operation and computed the result. send the result back to the server. ---------------------------- revision 1.1 date: 2015/04/15 12:55:40; author: root; state: Exp; Initial revision ============================================================================= RCS file: server.c,v Working file: server.c head: 1.4 branch: locks: strict root: 1.4 access list: symbolic names: keyword substitution: kv total revisions: 4; selected revisions: 4 description: Open the FIFO in O_RDONLY mode . And accepted the request structure from 3 clients. Created fork(). invoke_process client1() and send the request structure to the respective pro_client i.e adder invoke_process_client2() and send the request structure to the respective pro_client i.e subtractor. invoke_process_client3() and send the request structure to the respective pro_client i.e multiplier.#[A Also we have used the signal handler and signal handler functions . We have created a pipe between server and pro_clients. ---------------------------- revision 1.4 locked by: root; date: 2015/04/15 12:30:06; author: root; state: Exp; lines: +1 -0 Created another FIFO between server and req_clients in O_WRONLY mode . Also send back the result to the req_clients through FIFO. ---------------------------- revision 1.3 date: 2015/04/15 12:24:55; author: root; state: Exp; lines: +1 -0 Sending the request structure to the pro_clients through pipes. Accepting the result send by the pro_clients through pipes. ---------------------------- revision 1.2 date: 2015/04/15 12:20:30; author: root; state: Exp; lines: +1 -0 also used the semget() for creating sem_id . and also used the semctl() for initialising the semaphore. ---------------------------- revision 1.1 date: 2015/04/15 12:19:32; author: root; state: Exp; Initial revision =============================================================================