//get the ctrl enum from a ctrl enum int string_to_ctrl(char *s) { enum message_c_ctrl vals[NUMVALS] = {ADD, DELETE, UPDATE, VERIFY, LIST, FETCH, FETCH_FAIL, LOGIN, LOGOUT, REGISTER, B_QUERY, B_WITHDRAW, B_VERIFY}; for(int i = 0; i < NUMVALS; i++) { char *ctrl = ctrl_to_string(vals[i]); if(strcmp(ctrl,s) == 0) return vals[i]; free(ctrl); } return -1; }
static char *se_path(uint32_t se_idx, uint8_t ctrl_idx, uint8_t se_type, uint8_t ctrl_type) { char *ctrl, *type; ctrl = ctrl_to_string(ctrl_type); if (ctrl == NULL) return NULL; type = se_to_string(se_type); if (type == NULL) return NULL; return g_strdup_printf("%s/se/%s%d_%s_se%d", SEEL_PATH, ctrl, ctrl_idx, type, se_idx); }
//print a message void message_print_c(struct message_client* m) { if(m == NULL) { printf("PRINTING NULL MESSAGE\n"); return; } printf("MESSAGE:\n"); printf("\tTYPE: %s\n",ctrl_to_string(m->ctrl)); printf("\tNAME: "); if(m->name != NULL) printf("%s",m->name); else printf("NULL"); printf("\tPWORD: "); if(m->pword != NULL) printf("%s",m->pword); else printf("NULL"); printf("\t FILE PERM: %d\t FILE SIZE: %ld",m->file_perm, m->file_size); printf("\n"); }