Exemple #1
0
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;
}
Exemple #2
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();
}
Exemple #4
0
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;
	}
    }
}
Exemple #5
0
//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);
}
Exemple #6
0
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;
}
Exemple #7
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;
}
Exemple #8
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);
	}
Exemple #9
0
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;
}
Exemple #10
0
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;
}