+ case 'h':
+ if (argc < i + 2) {
+ show_usage(argc, argv);
+ return -1;
+ }
+ init_hash_size = atol(argv[++i]);
+ break;
+ case 'm':
+ if (argc < i + 2) {
+ show_usage(argc, argv);
+ return -1;
+ }
+ min_hash_alloc_size = atol(argv[++i]);
+ break;
+ case 'n':
+ if (argc < i + 2) {
+ show_usage(argc, argv);
+ return -1;
+ }
+ max_hash_buckets_size = atol(argv[++i]);
+ break;
+ case 'u':
+ if (add_replace) {
+ printf("Please specify at most one of -s or -u.\n");
+ exit(-1);
+ }
+ add_unique = 1;
+ break;
+ case 's':
+ if (add_unique) {
+ printf("Please specify at most one of -s or -u.\n");
+ exit(-1);
+ }
+ add_replace = 1;
+ break;
+ case 'i':
+ add_only = 1;
+ break;
+ case 'k':
+ init_populate = atol(argv[++i]);
+ break;
+ case 'A':
+ opt_auto_resize = 1;
+ break;
+ case 'B':
+ if (argc < i + 2) {
+ show_usage(argc, argv);
+ return -1;
+ }
+ i++;
+ if (!strcmp("order", argv[i]))
+ memory_backend = &cds_lfht_mm_order;
+ else if (!strcmp("chunk", argv[i]))
+ memory_backend = &cds_lfht_mm_chunk;
+ else if (!strcmp("mmap", argv[i]))
+ memory_backend = &cds_lfht_mm_mmap;
+ else {
+ printf("Please specify memory backend with order|chunk|mmap.\n");
+ exit(-1);
+ }
+ break;
+ case 'R':
+ lookup_pool_offset = atol(argv[++i]);
+ break;
+ case 'S':
+ write_pool_offset = atol(argv[++i]);
+ break;
+ case 'T':
+ init_pool_offset = atol(argv[++i]);
+ break;
+ case 'M':
+ lookup_pool_size = atol(argv[++i]);
+ break;
+ case 'N':
+ write_pool_size = atol(argv[++i]);
+ break;
+ case 'O':
+ init_pool_size = atol(argv[++i]);
+ break;
+ case 'V':
+ validate_lookup = 1;
+ break;
+ case 'U':
+ test_choice = TEST_HASH_UNIQUE;
+ break;
+ case 'C':
+ nr_hash_chains = atol(argv[++i]);
+ break;