Ejemplo n.º 1
0
static void
parse_args(int argc, char **argv)
{
    int c;

    while (-1 != (c = getopt(argc, argv, "-d:w")))
    {
        switch(c)
        {
        case 'd':
            nr_mem_desc ++;
            mem_desc_list = realloc(mem_desc_list, nr_mem_desc * sizeof(mem_desc_t));

            if (parse_mem_desc(optarg, &mem_desc_list[nr_mem_desc - 1]) == -1)
            {
                printf("ERROR: invalid memory description: %s\n\n", optarg);
                print_help_exit(EXIT_FAILURE);
            }
            break;
        case 'w':
            periodical_write = true;
            break;
        default:
            print_help();
            exit(EXIT_FAILURE);
        }
    }
}
Ejemplo n.º 2
0
static void parse_arg_list(int argc, char *argv[]) {
	int i;
	for (i = 1; i < argc; ++i) {
		if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
			print_help_exit(argv[0]);
		} else if (!strcmp(argv[i], "-a") || !strcmp(argv[i], "--address"))	{	
			if (++i == argc) {
				fprintf(stderr, "IP is missing.\n");
				print_help_exit(argv[0]);
			}
			if (strcmp(argv[i], "ANY")) {
				server_address = inet_addr(argv[i]);
				if (server_address == INADDR_NONE) {
					fprintf(stderr, "IP is wrong.\n");
					print_help_exit(argv[0]);
				}
			}
		} else if (!strcmp(argv[i], "-p") || !strcmp(argv[i], "--port")) {
			if (++i == argc) {
				fprintf(stderr, "Port is missing.\n");
				print_help_exit(argv[0]);
			}
			server_port = atoi(argv[i]);
			if (server_port < 1024 && server_port != 80) {
				fprintf(stderr, "Port is out of valid range(=80 or >1023).\n");
				print_help_exit(argv[0]);
			}
		} else {
			fprintf(stderr, "Unknown argument: %s.\n", argv[i]);
			print_help_exit(argv[0]);
		}
	}
}
Ejemplo n.º 3
0
int
main(int argc, char **argv)
{
    int i;

    parse_args(argc, argv);

    if (nr_mem_desc == 0)
    {
        print_help_exit(EXIT_FAILURE);
    }

    for (i = 0; i < nr_mem_desc; i++)
    {
        mem_desc_t *desc = &mem_desc_list[i];
        printf("Memory allocation %d:\n", i);
        printf("  size   %ld byte\n", desc->size);
        printf("\n");

        do_memory_allocation(desc);
    }

    while (true)
    {
        sleep(60);

        if (! periodical_write) continue;
        for (i = 0; i < nr_mem_desc; i++)
        {
            mem_desc_t *desc = &mem_desc_list[i];
            memset(desc->ptr, 0x55, desc->size);
        }
    }

    return 0;
}