Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <errno.h>
- #include <fcntl.h>
- struct Server
- {
- int l; // stores number of vowels
- int m; // stores number of vowels
- int n; // stores number of vowels
- char charbuff1[7]; // buffer holds a character
- char outchar1[8]; // server puts string here
- char charbuff2[7]; // buffer holds a character
- char outchar2[8]; // server puts string here
- char charbuff3[7]; // buffer holds a character
- char outchar3[8]; // server puts string here
- }
- inst;
- main (void)
- {
- memset(inst.charbuff1,0,7);
- memset(inst.outchar1,0,8);
- memset(inst.charbuff2,0,7);
- memset(inst.outchar2,0,8);
- memset(inst.charbuff3,0,7);
- memset(inst.outchar3,0,8);
- struct Server;
- int i;
- int fda; // to read from client
- int fdb; // to write to client
- /* Create the fifos and open them */
- if ((mkfifo("FIFO1",0666)<0 && errno != EEXIST))
- {
- perror("cant create FIFO1");
- exit(-1);
- }
- if ((mkfifo("FIFO2",0666)<0 && errno != EEXIST))
- {
- perror("cant create FIFO2");
- exit(-1);
- }
- if((fda=open("FIFO1", O_RDONLY))<0)
- printf("cant open fifo to write");
- if((fdb=open("FIFO2", O_WRONLY))<0)
- printf("cant open fifo to read");
- read(fda, &inst, sizeof(inst)); //read the struct from client
- for( i = 0; i<6; i++) //for loop to write the first string from charbuff array to outchar array
- {
- inst.outchar1[i] = inst.charbuff1[i];
- inst.outchar1[6] = 0;
- }
- printf("\nServer: first string is: %s", inst.outchar1);
- inst.l = 0;
- for( i = 0; i<6; i++) //for loop to check for non-lowercase characters
- {
- if(inst.outchar1[i] < 'a' && inst.outchar1[i] > 'z') //if a character isn't lowercase, set l to 9
- {
- inst.l = 9;
- break;
- }
- else if(inst.outchar1[i] = 'a' || 'e' || 'i' || 'o' || 'u') //if a character is a vowel, increment l by 1
- {
- inst.l++;
- }
- else //if a character is a lowercase consonant, do nothing
- {
- inst.l;
- }
- }
- printf("\nServer: Checked for uppercase letters");
- if(inst.l = 9) //if an invalid character was encountered
- {
- printf("\nServer: There are uppercase letters");
- }
- else //if no invalid character was encountered
- {
- printf("\nServer: There are no uppercase letters");
- printf("\nServer: The humber of vowels are: %d", inst.l);
- }
- for( i = 0; i<6; i++) //for loop to write the second string from charbuff array to outchar array
- {
- inst.outchar2[i] = inst.charbuff2[i];
- inst.outchar2[6] = 0;
- }
- printf("\nServer: second string is: %s", inst.outchar2);
- inst.m = 0;
- for( i = 0; i<6; i++) //for loop to check for non-lowercase characters
- {
- if(inst.outchar1[i] < 'a' && inst.outchar1[i] > 'z') //if a character isn't lowercase, set m to 9
- {
- inst.m = 9;
- break;
- }
- else if(inst.outchar2[i] = 'a' || 'e' || 'i' || 'o' || 'u') //if a character is a vowel, increment m by 1
- {
- inst.m++;
- }
- else //if a character is a lowercase consonant, do nothing
- {
- inst.m;
- }
- }
- printf("\nServer: Checked for uppercase letters");
- if(inst.m = 9) //if an invalid character was encountered
- {
- printf("\nServer: There are uppercase letters");
- }
- else //if no invalid character was encountered
- {
- printf("\nServer: There are no uppercase letters");
- printf("\nServer: The humber of vowels are: %d", inst.m);
- }
- for( i = 0; i<6; i++) //for loop to write the third string from charbuff array to outchar array
- {
- inst.outchar3[i] = inst.charbuff3[i];
- inst.outchar3[6] = 0;
- }
- printf("\nServer: third string is: %s", inst.outchar3);
- inst.n = 0;
- for( i = 0; i<6; i++) //for loop to check for non-lowercase characters
- {
- if(inst.outchar1[i] < 'a' && inst.outchar1[i] > 'z') //if a character isn't lowercase, set n to 9
- {
- inst.n = 9;
- break;
- }
- else if(inst.outchar3[i] = 'a' || 'e' || 'i' || 'o' || 'u') //if a character is a vowel, increment n by 1
- {
- inst.n++;
- }
- else
- {
- inst.n; //if a character is a lowercase consonant, do nothing
- }
- }
- printf("\nServer: Checked for uppercase letters");
- if(inst.n = 9) //if an invalid character was encountered
- {
- printf("\nServer: There are uppercase letters");
- }
- else //if no invalid character was encountered
- {
- printf("\nServer: There are no uppercase letters");
- printf("\nServer: The humber of vowels are: %d", inst.n);
- }
- write(fdb, &inst, sizeof(inst));
- printf("\nServer: This says I am ready to close.\n ");
- close(fda);
- close(fdb);
- unlink("FIFO1");
- unlink("FIFO2");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement