Lines Matching refs:argv

298 static char **parse_bytes(char **argv, const char *name, unsigned char *val,
304 if (is_prefix(*argv, "hex")) {
306 argv++;
309 while (i < n && argv[i]) {
310 val[i] = strtoul(argv[i], &endptr, base);
312 p_err("error parsing byte: %s", argv[i]);
323 return argv + i;
340 static int parse_elem(char **argv, struct bpf_map_info *info,
344 if (!*argv) {
351 if (is_prefix(*argv, "key")) {
360 argv = parse_bytes(argv + 1, "key", key, key_size);
361 if (!argv)
364 return parse_elem(argv, info, NULL, value, key_size, value_size,
366 } else if (is_prefix(*argv, "value")) {
377 argv++;
386 if (!argv[0] || !argv[1]) {
391 fd = map_parse_fd(&argc, &argv);
404 if (!argv[0] || !argv[1]) {
408 if (is_prefix(*argv, "id"))
412 fd = prog_parse_fd(&argc, &argv);
419 argv = parse_bytes(argv, "value", value, value_size);
420 if (!argv)
426 return parse_elem(argv, info, key, NULL, key_size, value_size,
428 } else if (is_prefix(*argv, "any") || is_prefix(*argv, "noexist") ||
429 is_prefix(*argv, "exist")) {
431 p_err("flags specified multiple times: %s", *argv);
435 if (is_prefix(*argv, "any"))
437 else if (is_prefix(*argv, "noexist"))
439 else if (is_prefix(*argv, "exist"))
442 return parse_elem(argv + 1, info, key, value, key_size,
446 p_err("expected key or value, got: %s", *argv);
629 static int do_show_subset(int argc, char **argv)
642 nb_fds = map_parse_fds(&argc, &argv, &fds);
673 static int do_show(int argc, char **argv)
693 return do_show_subset(argc, argv);
895 static int do_dump(int argc, char **argv)
912 nb_fds = map_parse_fds(&argc, &argv, &fds);
988 static int do_update(int argc, char **argv)
1000 fd = map_parse_fd_and_info(&argc, &argv, &info, &len);
1008 err = parse_elem(argv, &info, key, value, info.key_size,
1068 static int do_lookup(int argc, char **argv)
1079 fd = map_parse_fd_and_info(&argc, &argv, &info, &len);
1087 err = parse_elem(argv, &info, key, NULL, info.key_size, 0, NULL, NULL);
1119 static int do_getnext(int argc, char **argv)
1130 fd = map_parse_fd_and_info(&argc, &argv, &info, &len);
1143 err = parse_elem(argv, &info, key, NULL, info.key_size, 0,
1190 static int do_delete(int argc, char **argv)
1201 fd = map_parse_fd_and_info(&argc, &argv, &info, &len);
1212 err = parse_elem(argv, &info, key, NULL, info.key_size, 0, NULL, NULL);
1229 static int do_pin(int argc, char **argv)
1233 err = do_pin_any(argc, argv, map_parse_fd);
1239 static int do_create(int argc, char **argv)
1256 if (is_prefix(*argv, "type")) {
1264 map_type = map_type_from_str(*argv);
1266 p_err("unrecognized map type: %s", *argv);
1270 } else if (is_prefix(*argv, "name")) {
1273 } else if (is_prefix(*argv, "key")) {
1274 if (parse_u32_arg(&argc, &argv, &key_size,
1277 } else if (is_prefix(*argv, "value")) {
1278 if (parse_u32_arg(&argc, &argv, &value_size,
1281 } else if (is_prefix(*argv, "entries")) {
1282 if (parse_u32_arg(&argc, &argv, &max_entries,
1285 } else if (is_prefix(*argv, "flags")) {
1286 if (parse_u32_arg(&argc, &argv, &attr.map_flags,
1289 } else if (is_prefix(*argv, "dev")) {
1293 } else if (is_prefix(*argv, "offload_dev")) {
1302 attr.map_ifindex = if_nametoindex(*argv);
1305 *argv, strerror(errno));
1309 } else if (is_prefix(*argv, "inner_map")) {
1317 inner_map_fd = map_parse_fd_and_info(&argc, &argv,
1323 p_err("unknown arg %s", *argv);
1356 static int do_pop_dequeue(int argc, char **argv)
1367 fd = map_parse_fd_and_info(&argc, &argv, &info, &len);
1399 static int do_freeze(int argc, char **argv)
1406 fd = map_parse_fd(&argc, &argv);
1428 static int do_help(int argc, char **argv)
1470 bin_name, argv[-2]);
1496 int do_map(int argc, char **argv)
1498 return cmd_select(cmds, argc, argv, do_help);