int main() { initialize_user_list(); initialize_book_list(); int count, op = 1; while(op) { printf("\nMENU\n1.Inserir Usuario\n2.Inserir Livro\n3.Mostrar Usuario\n4.Mostrar Livros\nA5.Alugar\n6.Avancado"); scanf("%i", &op); switch (op) { case 1: insert_user(); break; case 2: //print_users(); break; case 3: print_users(); break; case 4: print_books(); break; case 5: rent(); case 6: print_avancado(); default: break; } } return 0; }
static void master_print() { printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf("Chatroom: %s \n",chatroom); print_users(chatroom); print_room(chatroom); printf(" \n > "); fflush(stdout); }
int main() { add_user(1, "Vinay"); add_user(2, "Sanjekar"); print_users(); add_product(1, "Macbook"); add_product(2, "iPad"); print_products(); }
int main (int argc, char *argv[]) { char in[10]; int id = 1; User *s; unsigned num_users; while (1) { printf ("1. add user\n"); printf ("2. find user\n"); printf ("3. delete user\n"); printf ("4. delete all users\n"); printf ("5. sort items by name\n"); printf ("6. sort items by id\n"); printf ("7. print users\n"); printf ("8. count users\n"); gets (in); switch (atoi (in)) { case 1: printf ("name?\n"); add_user (id++, gets (in)); break; case 2: printf ("id?\n"); s = find_user (atoi (gets (in))); printf ("user: %s\n", s ? s->name : "unknown"); break; case 3: printf ("id?\n"); s = find_user (atoi (gets (in))); if (s) delete_user (s); else printf ("id unknown\n"); break; case 4: delete_all (); break; case 5: sort_by_name (); break; case 6: sort_by_id (); break; case 7: print_users (); break; case 8: num_users = HASH_COUNT (users); printf ("there are %u users\n", num_users); break; } } }
//params: room_name void print_room(char* name){ room_node* target = find_room(name); if (target == NULL) return; printf("=== %s ===\n",name); print_users(target->users); print_msgs(target->msgs); }
int main (int argc, char *argv[]) { int i; for (i = 0; i < MAX_SIZE; i++) { struct user new_user; new_user.id = i; new_user.name = "Username"; new_user.email = "*****@*****.**"; if (add_user(new_user)) { printf("Error!\n"); } } print_users(); return 0; }
int main(int argc, char* argv[]) { user_list* servant_users; FILE* test_file = fopen(SERVANT_ACCOUNTS_FILE, "w"); servant_user* u1 = (servant_user*) malloc(sizeof(servant_user)); servant_user* u2 = (servant_user*) malloc(sizeof(servant_user)); servant_user* u3 = (servant_user*) malloc(sizeof(servant_user)); servant_user* u4 = (servant_user*) malloc(sizeof(servant_user)); servant_user* u5 = (servant_user*) malloc(sizeof(servant_user)); printf("Testing user management. Using ORDERED_LIST behavior.\n"); write_line(test_file, "user0:3d517fe6ebab7b8cfcf98db6259c8a59"); write_line(test_file, "user1:24c9e15e52afc47c225b757e7bee1f9d"); write_line(test_file, "user8:7e58d63b60197ceb55a1c487989a3720"); write_line(test_file, "user3:92877af70a45fd6a2ed7fe81e1236b78"); write_line(test_file, "user2:3f02ebe3d7929b091e3d8ccfde2f3bc6"); write_line(test_file, "user5:0a791842f52a0acfbb3a783378c066b8"); fclose(test_file); printf("Parsing test accounts file...\t"); parse_accounts_file(&servant_users, ORDERED_LIST); printf("done.\n"); print_users(servant_users); printf("Building some users...\n"); strncpy(u1->username, "user4", sizeof(u1->username) -1); u1->username[31] = '\0'; strncpy(u1->password, "7668f673d5669995175ef91b5d171945", sizeof(u1->password) - 1); u1->password[31] = '\0'; strncpy(u2->username, "user6", sizeof(u2->username) -1); u2->username[31] = '\0'; strncpy(u2->password, "affec3b64cf90492377a8114c86fc093", sizeof(u2->password) - 1); u2->password[31] = '\0'; strncpy(u3->username, "user10", sizeof(u3->username) -1); u3->username[31] = '\0'; strncpy(u3->password, "990d67a9f94696b1abe2dccf06900322", sizeof(u3->password) - 1); u3->password[31] = '\0'; strncpy(u4->username, "user7", sizeof(u4->username) -1); u4->username[31] = '\0'; strncpy(u4->password, "990d67a9f94696b1abe2dccf06900322", sizeof(u4->password) - 1); u4->password[31] = '\0'; strncpy(u5->username, "user9", sizeof(u5->username) -1); u5->username[31] = '\0'; strncpy(u5->password, "8808a13b854c2563da1a5f6cb2130868", sizeof(u5->password) - 1); u5->password[31] = '\0'; printf("Adding them...\n"); add(servant_users, u1); add(servant_users, u2); add(servant_users, u5); print_users(servant_users); print_if_has_user(servant_users, *u1); print_if_has_user(servant_users, *u2); print_if_has_user(servant_users, *u3); print_if_has_user(servant_users, *u4); print_if_has_user(servant_users, *u5); print_if_has_user_by_username(servant_users, "user0"); print_if_has_user_by_username(servant_users, "user1"); print_if_has_user_by_username(servant_users, "user8"); print_if_has_user_by_username(servant_users, "user2"); print_if_has_user_by_username(servant_users, "user3"); print_if_has_user_by_username(servant_users, "user5"); printf("\nRemoving some users...\n"); remove_user(servant_users, u1); remove_user(servant_users, u5); remove_user(servant_users, u3); print_users(servant_users); printf("\n\nUpdating accounts file...\t"); update_accounts_file(servant_users); printf("done.\n"); free(servant_users); remove(SERVANT_ACCOUNTS_FILE); printf("\n\nNow using UNORDERED_LIST behavior.\n"); test_file = fopen(SERVANT_ACCOUNTS_FILE, "w"); write_line(test_file, "user0:3d517fe6ebab7b8cfcf98db6259c8a59"); write_line(test_file, "user1:24c9e15e52afc47c225b757e7bee1f9d"); write_line(test_file, "user8:7e58d63b60197ceb55a1c487989a3720"); write_line(test_file, "user3:92877af70a45fd6a2ed7fe81e1236b78"); write_line(test_file, "user2:3f02ebe3d7929b091e3d8ccfde2f3bc6"); write_line(test_file, "user5:0a791842f52a0acfbb3a783378c066b8"); fclose(test_file); printf("Parsing test accounts file...\t"); parse_accounts_file(&servant_users, UNORDERED_LIST); printf("done.\n"); printf("Building some users...\n"); strncpy(u1->username, "user4", sizeof(u1->username) -1); u1->username[31] = '\0'; strncpy(u1->password, "7668f673d5669995175ef91b5d171945", sizeof(u1->password) - 1); u1->password[31] = '\0'; strncpy(u2->username, "user6", sizeof(u2->username) -1); u2->username[31] = '\0'; strncpy(u2->password, "affec3b64cf90492377a8114c86fc093", sizeof(u2->password) - 1); u2->password[31] = '\0'; strncpy(u3->username, "user10", sizeof(u3->username) -1); u3->username[31] = '\0'; strncpy(u3->password, "990d67a9f94696b1abe2dccf06900322", sizeof(u3->password) - 1); u3->password[31] = '\0'; strncpy(u4->username, "user7", sizeof(u4->username) -1); u4->username[31] = '\0'; strncpy(u4->password, "990d67a9f94696b1abe2dccf06900322", sizeof(u4->password) - 1); u4->password[31] = '\0'; strncpy(u5->username, "user9", sizeof(u5->username) -1); u5->username[31] = '\0'; strncpy(u5->password, "8808a13b854c2563da1a5f6cb2130868", sizeof(u5->password) - 1); u5->password[31] = '\0'; printf("Adding them...\n"); add(servant_users, u1); add(servant_users, u2); add(servant_users, u5); print_users(servant_users); print_if_has_user(servant_users, *u1); print_if_has_user(servant_users, *u2); print_if_has_user(servant_users, *u3); print_if_has_user(servant_users, *u4); print_if_has_user(servant_users, *u5); print_if_has_user_by_username(servant_users, "user0"); print_if_has_user_by_username(servant_users, "user1"); print_if_has_user_by_username(servant_users, "user8"); print_if_has_user_by_username(servant_users, "user2"); print_if_has_user_by_username(servant_users, "user3"); print_if_has_user_by_username(servant_users, "user5"); printf("\nRemoving some users...\n"); remove_user(servant_users, u1); remove_user(servant_users, u5); remove_user(servant_users, u3); print_users(servant_users); printf("\n\nUpdating accounts file...\t"); update_accounts_file(servant_users); printf("done.\n"); free(servant_users); remove(SERVANT_ACCOUNTS_FILE); printf("\n\nTests are done. No errors.\n"); return 0; }
static int res_pd_parse_cb(const struct nlmsghdr *nlh, void *data) { struct nlattr *tb[RDMA_NLDEV_ATTR_MAX] = {}; struct nlattr *nla_table, *nla_entry; struct rd *rd = data; const char *name; uint32_t idx; mnl_attr_parse(nlh, 0, rd_attr_cb, tb); if (!tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !tb[RDMA_NLDEV_ATTR_DEV_NAME] || !tb[RDMA_NLDEV_ATTR_RES_PD]) return MNL_CB_ERROR; name = mnl_attr_get_str(tb[RDMA_NLDEV_ATTR_DEV_NAME]); idx = mnl_attr_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]); nla_table = tb[RDMA_NLDEV_ATTR_RES_PD]; mnl_attr_for_each_nested(nla_entry, nla_table) { uint32_t local_dma_lkey = 0, unsafe_global_rkey = 0; struct nlattr *nla_line[RDMA_NLDEV_ATTR_MAX] = {}; char *comm = NULL; uint32_t pid = 0; uint64_t users; int err; err = mnl_attr_parse_nested(nla_entry, rd_attr_cb, nla_line); if (err != MNL_CB_OK) return MNL_CB_ERROR; if (!nla_line[RDMA_NLDEV_ATTR_RES_USECNT] || (!nla_line[RDMA_NLDEV_ATTR_RES_PID] && !nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME])) { return MNL_CB_ERROR; } if (nla_line[RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY]) local_dma_lkey = mnl_attr_get_u32( nla_line[RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY]); users = mnl_attr_get_u64(nla_line[RDMA_NLDEV_ATTR_RES_USECNT]); if (rd_check_is_filtered(rd, "users", users)) continue; if (nla_line[RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY]) unsafe_global_rkey = mnl_attr_get_u32( nla_line[RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY]); if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) { pid = mnl_attr_get_u32( nla_line[RDMA_NLDEV_ATTR_RES_PID]); comm = get_task_name(pid); } if (rd_check_is_filtered(rd, "pid", pid)) continue; if (nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME]) /* discard const from mnl_attr_get_str */ comm = (char *)mnl_attr_get_str( nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME]); if (rd->json_output) jsonw_start_array(rd->jw); print_dev(rd, idx, name); if (nla_line[RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY]) print_key(rd, "local_dma_lkey", local_dma_lkey); print_users(rd, users); if (nla_line[RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY]) print_key(rd, "unsafe_global_rkey", unsafe_global_rkey); print_pid(rd, pid); print_comm(rd, comm, nla_line); if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) free(comm); print_driver_table(rd, nla_line[RDMA_NLDEV_ATTR_DRIVER]); newline(rd); }
static int res_cq_parse_cb(const struct nlmsghdr *nlh, void *data) { struct nlattr *tb[RDMA_NLDEV_ATTR_MAX] = {}; struct nlattr *nla_table, *nla_entry; struct rd *rd = data; const char *name; uint32_t idx; mnl_attr_parse(nlh, 0, rd_attr_cb, tb); if (!tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !tb[RDMA_NLDEV_ATTR_DEV_NAME] || !tb[RDMA_NLDEV_ATTR_RES_CQ]) return MNL_CB_ERROR; name = mnl_attr_get_str(tb[RDMA_NLDEV_ATTR_DEV_NAME]); idx = mnl_attr_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]); nla_table = tb[RDMA_NLDEV_ATTR_RES_CQ]; mnl_attr_for_each_nested(nla_entry, nla_table) { struct nlattr *nla_line[RDMA_NLDEV_ATTR_MAX] = {}; char *comm = NULL; uint32_t pid = 0; uint8_t poll_ctx = 0; uint64_t users; uint32_t cqe; int err; err = mnl_attr_parse_nested(nla_entry, rd_attr_cb, nla_line); if (err != MNL_CB_OK) return MNL_CB_ERROR; if (!nla_line[RDMA_NLDEV_ATTR_RES_CQE] || !nla_line[RDMA_NLDEV_ATTR_RES_USECNT] || (!nla_line[RDMA_NLDEV_ATTR_RES_PID] && !nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME])) { return MNL_CB_ERROR; } cqe = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_CQE]); users = mnl_attr_get_u64(nla_line[RDMA_NLDEV_ATTR_RES_USECNT]); if (rd_check_is_filtered(rd, "users", users)) continue; if (nla_line[RDMA_NLDEV_ATTR_RES_POLL_CTX]) { poll_ctx = mnl_attr_get_u8( nla_line[RDMA_NLDEV_ATTR_RES_POLL_CTX]); if (rd_check_is_string_filtered(rd, "poll-ctx", poll_ctx_to_str(poll_ctx))) continue; } if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) { pid = mnl_attr_get_u32( nla_line[RDMA_NLDEV_ATTR_RES_PID]); comm = get_task_name(pid); } if (rd_check_is_filtered(rd, "pid", pid)) { free(comm); continue; } if (nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME]) /* discard const from mnl_attr_get_str */ comm = (char *)mnl_attr_get_str( nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME]); if (rd->json_output) jsonw_start_array(rd->jw); print_dev(rd, idx, name); print_cqe(rd, cqe); print_users(rd, users); if (nla_line[RDMA_NLDEV_ATTR_RES_POLL_CTX]) print_poll_ctx(rd, poll_ctx); print_pid(rd, pid); print_comm(rd, comm, nla_line); if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) free(comm); print_driver_table(rd, nla_line[RDMA_NLDEV_ATTR_DRIVER]); newline(rd); } return MNL_CB_OK; }
int main(int argc, char **argv) { char line[MAX_MESSAGE_LEN+1]; if (argc < 5) { printUsage(); } host = argv[1]; sport = argv[2]; user = argv[3]; password = argv[4]; printf("\nStarting talk-client %s %s %s %s\n", host, sport, user, password); // Convert port to number sscanf(sport, "%d", &port); //create gui // //entry.c - text fields, messages, password //panned.c - split pane //radio.c - radio buttons //timer.c - time and countdown add_user(); // Enter room enter_room(); printf("\nEntered room and starting message thread\n"); // Start message thread startGetMessageThread(); while (1) { printPrompt(); char * s = fgets(line,MAX_MESSAGE_LEN, stdin); if (s==NULL) { leave_room(); printf("talk-client exiting...\n"); exit(1); } if (!isatty(0)) { // If it is not a terminal, echo command as well printf("%s\n", line); } if (line[0]=='-') { // This is a command process it if (!strcmp(line,"-help")) { printHelp(); } else if (!strcmp(line,"-quit")) { printf("talk-client exiting...\n"); exit(1); } // Put other commands here else if (!strcmp(line,"-users")) { print_users(); } else if (!strcmp(line,"-who")) { print_users_in_room(); } else { printf("Wrong command\n"); } } else if (line[0]==0) { // Empty line. Print help printf("Type -help to print the available commands\n"); } else { // Send message char response[MAX_RESPONSE]; sendCommand(host,port,"SEND-MESSAGE", user, password, line, response); } } printf("TEST ENDS\n"); return 0; }