void serverprog_1(char *host) { CLIENT *clnt; int *result_1; char get_1_arg; int *result_2; char put_1_arg; #ifndef DEBUG clnt = clnt_create (host, SERVERPROG, SERVERPROTO, "udp"); if (clnt == NULL) { clnt_pcreateerror (host); exit (1); } #endif /* DEBUG */ result_1 = get_1(&get_1_arg, clnt); if (result_1 == (int *) NULL) { clnt_perror (clnt, "call failed"); } result_2 = put_1(&put_1_arg, clnt); if (result_2 == (int *) NULL) { clnt_perror (clnt, "call failed"); } #ifndef DEBUG clnt_destroy (clnt); #endif /* DEBUG */ }
void rpccracker_1(char *host) { CLIENT *clnt; enum clnt_stat retval_1; void *result_1; message get_1_arg; #ifndef DEBUG clnt = clnt_create (host, rpcCracker, CAVERLEE4PRES, "udp"); if (clnt == NULL) { clnt_pcreateerror (host); exit (1); } #endif /* DEBUG */ retval_1 = get_1(&get_1_arg, &result_1, clnt); if (retval_1 != RPC_SUCCESS) { clnt_perror (clnt, "call failed"); } #ifndef DEBUG clnt_destroy (clnt); #endif /* DEBUG */ }
void keyval_prog_1(char *host) { CLIENT *clnt; enum clnt_stat retval_1; bool_t result_1; row put_1_arg; enum clnt_stat retval_2; char *result_2; int get_1_arg; enum clnt_stat retval_3; bool_t result_3; int delete_1_arg; #ifndef DEBUG clnt = clnt_create (host, KEYVAL_PROG, KEYVAL_VERS, "udp"); if (clnt == NULL) { clnt_pcreateerror (host); exit (1); } #endif /* DEBUG */ char *INIT[7] = {"0:Monday", "1:Tuesday", "2:Wednesday", "3:Thursday", "4:Friday", "5:Saturday", "6:Sunday"}; init_keyval_store(clnt, INIT); while(true){ char cmd[50]; printf("Enter Command\n-------\nGET:<key>\nPUT:<key>:<value>\nDELETE:<key>\n------\n"); scanf("%s",cmd); printf("-------\n"); char tokens [3][26]; char *delim = ":"; char *token; token =strtok(cmd,delim); int count = 0; while(token != NULL){ if(count == 3){ printf("Invalid Input\n"); break; } // printf("%s\n",token); strcpy(tokens[count],token); count++; token = strtok(NULL, delim); } if(count == 3 && token != NULL)break; if(strcmp(tokens[0], "PUT")== 0){ put_1_arg.key = atoi(tokens[1]); strcpy(put_1_arg.value, tokens[2]); retval_1 = put_1(&put_1_arg, &result_1, clnt); if (retval_1 != RPC_SUCCESS) { clnt_perror (clnt, "call failed"); } if(result_1 == TRUE){ printf("PUT SUCCESS\n"); }else{ printf("PUT FAILED\n"); } } else if(strcmp(tokens[0], "GET")== 0){ result_2 = (char *)malloc(sizeof(char)*26); get_1_arg = atoi(tokens[1]); retval_2 = get_1(&get_1_arg, &result_2, clnt); if (retval_2 != RPC_SUCCESS) { clnt_perror (clnt, "call failed"); } printf("GET:%d => %s\n", get_1_arg, result_2); } else if(strcmp(tokens[0], "DELETE")== 0){ delete_1_arg = atoi(tokens[1]); retval_3 = delete_1(&delete_1_arg, &result_3, clnt); if (retval_3 != RPC_SUCCESS) { clnt_perror (clnt, "call failed"); } if(result_3 == TRUE){ printf("DELETE SUCCESS\n"); }else{ printf("DELETE FAILED\n"); } } else{ printf("Unrecognized Command\n"); } } #ifndef DEBUG clnt_destroy (clnt); #endif /* DEBUG */ }