Lines Matching refs:opts
173 const struct bpf_map_create_opts *opts) in bpf_map_create() argument
183 if (!OPTS_VALID(opts, bpf_map_create_opts)) in bpf_map_create()
193 attr.btf_fd = OPTS_GET(opts, btf_fd, 0); in bpf_map_create()
194 attr.btf_key_type_id = OPTS_GET(opts, btf_key_type_id, 0); in bpf_map_create()
195 attr.btf_value_type_id = OPTS_GET(opts, btf_value_type_id, 0); in bpf_map_create()
196 attr.btf_vmlinux_value_type_id = OPTS_GET(opts, btf_vmlinux_value_type_id, 0); in bpf_map_create()
197 attr.value_type_btf_obj_fd = OPTS_GET(opts, value_type_btf_obj_fd, 0); in bpf_map_create()
199 attr.inner_map_fd = OPTS_GET(opts, inner_map_fd, 0); in bpf_map_create()
200 attr.map_flags = OPTS_GET(opts, map_flags, 0); in bpf_map_create()
201 attr.map_extra = OPTS_GET(opts, map_extra, 0); in bpf_map_create()
202 attr.numa_node = OPTS_GET(opts, numa_node, 0); in bpf_map_create()
203 attr.map_ifindex = OPTS_GET(opts, map_ifindex, 0); in bpf_map_create()
205 attr.map_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_map_create()
239 struct bpf_prog_load_opts *opts) in bpf_prog_load() argument
252 if (!OPTS_VALID(opts, bpf_prog_load_opts)) in bpf_prog_load()
255 attempts = OPTS_GET(opts, attempts, 0); in bpf_prog_load()
264 attr.expected_attach_type = OPTS_GET(opts, expected_attach_type, 0); in bpf_prog_load()
266 attr.prog_btf_fd = OPTS_GET(opts, prog_btf_fd, 0); in bpf_prog_load()
267 attr.prog_flags = OPTS_GET(opts, prog_flags, 0); in bpf_prog_load()
268 attr.prog_ifindex = OPTS_GET(opts, prog_ifindex, 0); in bpf_prog_load()
269 attr.kern_version = OPTS_GET(opts, kern_version, 0); in bpf_prog_load()
270 attr.prog_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_prog_load()
282 attach_prog_fd = OPTS_GET(opts, attach_prog_fd, 0); in bpf_prog_load()
283 attach_btf_obj_fd = OPTS_GET(opts, attach_btf_obj_fd, 0); in bpf_prog_load()
288 attr.attach_btf_id = OPTS_GET(opts, attach_btf_id, 0); in bpf_prog_load()
294 log_buf = OPTS_GET(opts, log_buf, NULL); in bpf_prog_load()
295 log_size = OPTS_GET(opts, log_size, 0); in bpf_prog_load()
296 log_level = OPTS_GET(opts, log_level, 0); in bpf_prog_load()
301 func_info_rec_size = OPTS_GET(opts, func_info_rec_size, 0); in bpf_prog_load()
302 func_info = OPTS_GET(opts, func_info, NULL); in bpf_prog_load()
305 attr.func_info_cnt = OPTS_GET(opts, func_info_cnt, 0); in bpf_prog_load()
307 line_info_rec_size = OPTS_GET(opts, line_info_rec_size, 0); in bpf_prog_load()
308 line_info = OPTS_GET(opts, line_info, NULL); in bpf_prog_load()
311 attr.line_info_cnt = OPTS_GET(opts, line_info_cnt, 0); in bpf_prog_load()
313 attr.fd_array = ptr_to_u64(OPTS_GET(opts, fd_array, NULL)); in bpf_prog_load()
322 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
363 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
378 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
526 const struct bpf_map_batch_opts *opts) in bpf_map_batch_common() argument
532 if (!OPTS_VALID(opts, bpf_map_batch_opts)) in bpf_map_batch_common()
542 attr.batch.elem_flags = OPTS_GET(opts, elem_flags, 0); in bpf_map_batch_common()
543 attr.batch.flags = OPTS_GET(opts, flags, 0); in bpf_map_batch_common()
552 const struct bpf_map_batch_opts *opts) in bpf_map_delete_batch() argument
555 NULL, (void *)keys, NULL, count, opts); in bpf_map_delete_batch()
560 const struct bpf_map_batch_opts *opts) in bpf_map_lookup_batch() argument
563 out_batch, keys, values, count, opts); in bpf_map_lookup_batch()
568 const struct bpf_map_batch_opts *opts) in bpf_map_lookup_and_delete_batch() argument
572 count, opts); in bpf_map_lookup_and_delete_batch()
576 const struct bpf_map_batch_opts *opts) in bpf_map_update_batch() argument
579 (void *)keys, (void *)values, count, opts); in bpf_map_update_batch()
582 int bpf_obj_pin_opts(int fd, const char *pathname, const struct bpf_obj_pin_opts *opts) in bpf_obj_pin_opts() argument
588 if (!OPTS_VALID(opts, bpf_obj_pin_opts)) in bpf_obj_pin_opts()
592 attr.path_fd = OPTS_GET(opts, path_fd, 0); in bpf_obj_pin_opts()
594 attr.file_flags = OPTS_GET(opts, file_flags, 0); in bpf_obj_pin_opts()
611 int bpf_obj_get_opts(const char *pathname, const struct bpf_obj_get_opts *opts) in bpf_obj_get_opts() argument
617 if (!OPTS_VALID(opts, bpf_obj_get_opts)) in bpf_obj_get_opts()
621 attr.path_fd = OPTS_GET(opts, path_fd, 0); in bpf_obj_get_opts()
623 attr.file_flags = OPTS_GET(opts, file_flags, 0); in bpf_obj_get_opts()
632 DECLARE_LIBBPF_OPTS(bpf_prog_attach_opts, opts, in bpf_prog_attach()
636 return bpf_prog_attach_opts(prog_fd, target_fd, type, &opts); in bpf_prog_attach()
640 const struct bpf_prog_attach_opts *opts) in bpf_prog_attach_opts() argument
647 if (!OPTS_VALID(opts, bpf_prog_attach_opts)) in bpf_prog_attach_opts()
650 relative_id = OPTS_GET(opts, relative_id, 0); in bpf_prog_attach_opts()
651 relative_fd = OPTS_GET(opts, relative_fd, 0); in bpf_prog_attach_opts()
652 flags = OPTS_GET(opts, flags, 0); in bpf_prog_attach_opts()
662 attr.replace_bpf_fd = OPTS_GET(opts, replace_fd, 0); in bpf_prog_attach_opts()
663 attr.expected_revision = OPTS_GET(opts, expected_revision, 0); in bpf_prog_attach_opts()
678 const struct bpf_prog_detach_opts *opts) in bpf_prog_detach_opts() argument
685 if (!OPTS_VALID(opts, bpf_prog_detach_opts)) in bpf_prog_detach_opts()
688 relative_id = OPTS_GET(opts, relative_id, 0); in bpf_prog_detach_opts()
689 relative_fd = OPTS_GET(opts, relative_fd, 0); in bpf_prog_detach_opts()
690 flags = OPTS_GET(opts, flags, 0); in bpf_prog_detach_opts()
700 attr.expected_revision = OPTS_GET(opts, expected_revision, 0); in bpf_prog_detach_opts()
726 const struct bpf_link_create_opts *opts) in bpf_link_create() argument
733 if (!OPTS_VALID(opts, bpf_link_create_opts)) in bpf_link_create()
736 iter_info_len = OPTS_GET(opts, iter_info_len, 0); in bpf_link_create()
737 target_btf_id = OPTS_GET(opts, target_btf_id, 0); in bpf_link_create()
743 if (!OPTS_ZEROED(opts, target_btf_id)) in bpf_link_create()
751 attr.link_create.flags = OPTS_GET(opts, flags, 0); in bpf_link_create()
760 attr.link_create.iter_info = ptr_to_u64(OPTS_GET(opts, iter_info, (void *)0)); in bpf_link_create()
764 attr.link_create.perf_event.bpf_cookie = OPTS_GET(opts, perf_event.bpf_cookie, 0); in bpf_link_create()
765 if (!OPTS_ZEROED(opts, perf_event)) in bpf_link_create()
770 attr.link_create.kprobe_multi.flags = OPTS_GET(opts, kprobe_multi.flags, 0); in bpf_link_create()
771 attr.link_create.kprobe_multi.cnt = OPTS_GET(opts, kprobe_multi.cnt, 0); in bpf_link_create()
772 attr.link_create.kprobe_multi.syms = ptr_to_u64(OPTS_GET(opts, kprobe_multi.syms, 0)); in bpf_link_create()
773 attr.link_create.kprobe_multi.addrs = ptr_to_u64(OPTS_GET(opts, kprobe_multi.addrs, 0)); in bpf_link_create()
774 attr.link_create.kprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, kprobe_multi.cookies, 0)); in bpf_link_create()
775 if (!OPTS_ZEROED(opts, kprobe_multi)) in bpf_link_create()
779 attr.link_create.uprobe_multi.flags = OPTS_GET(opts, uprobe_multi.flags, 0); in bpf_link_create()
780 attr.link_create.uprobe_multi.cnt = OPTS_GET(opts, uprobe_multi.cnt, 0); in bpf_link_create()
781 attr.link_create.uprobe_multi.path = ptr_to_u64(OPTS_GET(opts, uprobe_multi.path, 0)); in bpf_link_create()
782 attr.link_create.uprobe_multi.offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.offsets, 0)); in bpf_link_create()
783 …attr.link_create.uprobe_multi.ref_ctr_offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.ref_ctr_off… in bpf_link_create()
784 attr.link_create.uprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, uprobe_multi.cookies, 0)); in bpf_link_create()
785 attr.link_create.uprobe_multi.pid = OPTS_GET(opts, uprobe_multi.pid, 0); in bpf_link_create()
786 if (!OPTS_ZEROED(opts, uprobe_multi)) in bpf_link_create()
794 attr.link_create.tracing.cookie = OPTS_GET(opts, tracing.cookie, 0); in bpf_link_create()
795 if (!OPTS_ZEROED(opts, tracing)) in bpf_link_create()
799 attr.link_create.netfilter.pf = OPTS_GET(opts, netfilter.pf, 0); in bpf_link_create()
800 attr.link_create.netfilter.hooknum = OPTS_GET(opts, netfilter.hooknum, 0); in bpf_link_create()
801 attr.link_create.netfilter.priority = OPTS_GET(opts, netfilter.priority, 0); in bpf_link_create()
802 attr.link_create.netfilter.flags = OPTS_GET(opts, netfilter.flags, 0); in bpf_link_create()
803 if (!OPTS_ZEROED(opts, netfilter)) in bpf_link_create()
808 relative_fd = OPTS_GET(opts, tcx.relative_fd, 0); in bpf_link_create()
809 relative_id = OPTS_GET(opts, tcx.relative_id, 0); in bpf_link_create()
818 attr.link_create.tcx.expected_revision = OPTS_GET(opts, tcx.expected_revision, 0); in bpf_link_create()
819 if (!OPTS_ZEROED(opts, tcx)) in bpf_link_create()
824 relative_fd = OPTS_GET(opts, netkit.relative_fd, 0); in bpf_link_create()
825 relative_id = OPTS_GET(opts, netkit.relative_id, 0); in bpf_link_create()
834 attr.link_create.netkit.expected_revision = OPTS_GET(opts, netkit.expected_revision, 0); in bpf_link_create()
835 if (!OPTS_ZEROED(opts, netkit)) in bpf_link_create()
839 if (!OPTS_ZEROED(opts, flags)) in bpf_link_create()
859 if (!OPTS_ZEROED(opts, sz)) in bpf_link_create()
892 const struct bpf_link_update_opts *opts) in bpf_link_update() argument
898 if (!OPTS_VALID(opts, bpf_link_update_opts)) in bpf_link_update()
901 if (OPTS_GET(opts, old_prog_fd, 0) && OPTS_GET(opts, old_map_fd, 0)) in bpf_link_update()
907 attr.link_update.flags = OPTS_GET(opts, flags, 0); in bpf_link_update()
908 if (OPTS_GET(opts, old_prog_fd, 0)) in bpf_link_update()
909 attr.link_update.old_prog_fd = OPTS_GET(opts, old_prog_fd, 0); in bpf_link_update()
910 else if (OPTS_GET(opts, old_map_fd, 0)) in bpf_link_update()
911 attr.link_update.old_map_fd = OPTS_GET(opts, old_map_fd, 0); in bpf_link_update()
931 struct bpf_prog_query_opts *opts) in bpf_prog_query_opts() argument
937 if (!OPTS_VALID(opts, bpf_prog_query_opts)) in bpf_prog_query_opts()
943 attr.query.query_flags = OPTS_GET(opts, query_flags, 0); in bpf_prog_query_opts()
944 attr.query.count = OPTS_GET(opts, count, 0); in bpf_prog_query_opts()
945 attr.query.prog_ids = ptr_to_u64(OPTS_GET(opts, prog_ids, NULL)); in bpf_prog_query_opts()
946 attr.query.link_ids = ptr_to_u64(OPTS_GET(opts, link_ids, NULL)); in bpf_prog_query_opts()
947 attr.query.prog_attach_flags = ptr_to_u64(OPTS_GET(opts, prog_attach_flags, NULL)); in bpf_prog_query_opts()
948 attr.query.link_attach_flags = ptr_to_u64(OPTS_GET(opts, link_attach_flags, NULL)); in bpf_prog_query_opts()
952 OPTS_SET(opts, attach_flags, attr.query.attach_flags); in bpf_prog_query_opts()
953 OPTS_SET(opts, revision, attr.query.revision); in bpf_prog_query_opts()
954 OPTS_SET(opts, count, attr.query.count); in bpf_prog_query_opts()
962 LIBBPF_OPTS(bpf_prog_query_opts, opts); in bpf_prog_query()
965 opts.query_flags = query_flags; in bpf_prog_query()
966 opts.prog_ids = prog_ids; in bpf_prog_query()
967 opts.prog_cnt = *prog_cnt; in bpf_prog_query()
969 ret = bpf_prog_query_opts(target_fd, type, &opts); in bpf_prog_query()
972 *attach_flags = opts.attach_flags; in bpf_prog_query()
973 *prog_cnt = opts.prog_cnt; in bpf_prog_query()
978 int bpf_prog_test_run_opts(int prog_fd, struct bpf_test_run_opts *opts) in bpf_prog_test_run_opts() argument
984 if (!OPTS_VALID(opts, bpf_test_run_opts)) in bpf_prog_test_run_opts()
989 attr.test.batch_size = OPTS_GET(opts, batch_size, 0); in bpf_prog_test_run_opts()
990 attr.test.cpu = OPTS_GET(opts, cpu, 0); in bpf_prog_test_run_opts()
991 attr.test.flags = OPTS_GET(opts, flags, 0); in bpf_prog_test_run_opts()
992 attr.test.repeat = OPTS_GET(opts, repeat, 0); in bpf_prog_test_run_opts()
993 attr.test.duration = OPTS_GET(opts, duration, 0); in bpf_prog_test_run_opts()
994 attr.test.ctx_size_in = OPTS_GET(opts, ctx_size_in, 0); in bpf_prog_test_run_opts()
995 attr.test.ctx_size_out = OPTS_GET(opts, ctx_size_out, 0); in bpf_prog_test_run_opts()
996 attr.test.data_size_in = OPTS_GET(opts, data_size_in, 0); in bpf_prog_test_run_opts()
997 attr.test.data_size_out = OPTS_GET(opts, data_size_out, 0); in bpf_prog_test_run_opts()
998 attr.test.ctx_in = ptr_to_u64(OPTS_GET(opts, ctx_in, NULL)); in bpf_prog_test_run_opts()
999 attr.test.ctx_out = ptr_to_u64(OPTS_GET(opts, ctx_out, NULL)); in bpf_prog_test_run_opts()
1000 attr.test.data_in = ptr_to_u64(OPTS_GET(opts, data_in, NULL)); in bpf_prog_test_run_opts()
1001 attr.test.data_out = ptr_to_u64(OPTS_GET(opts, data_out, NULL)); in bpf_prog_test_run_opts()
1005 OPTS_SET(opts, data_size_out, attr.test.data_size_out); in bpf_prog_test_run_opts()
1006 OPTS_SET(opts, ctx_size_out, attr.test.ctx_size_out); in bpf_prog_test_run_opts()
1007 OPTS_SET(opts, duration, attr.test.duration); in bpf_prog_test_run_opts()
1008 OPTS_SET(opts, retval, attr.test.retval); in bpf_prog_test_run_opts()
1050 const struct bpf_get_fd_by_id_opts *opts) in bpf_prog_get_fd_by_id_opts() argument
1056 if (!OPTS_VALID(opts, bpf_get_fd_by_id_opts)) in bpf_prog_get_fd_by_id_opts()
1061 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_prog_get_fd_by_id_opts()
1073 const struct bpf_get_fd_by_id_opts *opts) in bpf_map_get_fd_by_id_opts() argument
1079 if (!OPTS_VALID(opts, bpf_get_fd_by_id_opts)) in bpf_map_get_fd_by_id_opts()
1084 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_map_get_fd_by_id_opts()
1096 const struct bpf_get_fd_by_id_opts *opts) in bpf_btf_get_fd_by_id_opts() argument
1102 if (!OPTS_VALID(opts, bpf_get_fd_by_id_opts)) in bpf_btf_get_fd_by_id_opts()
1107 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_btf_get_fd_by_id_opts()
1119 const struct bpf_get_fd_by_id_opts *opts) in bpf_link_get_fd_by_id_opts() argument
1125 if (!OPTS_VALID(opts, bpf_get_fd_by_id_opts)) in bpf_link_get_fd_by_id_opts()
1130 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_link_get_fd_by_id_opts()
1178 int bpf_raw_tracepoint_open_opts(int prog_fd, struct bpf_raw_tp_opts *opts) in bpf_raw_tracepoint_open_opts() argument
1184 if (!OPTS_VALID(opts, bpf_raw_tp_opts)) in bpf_raw_tracepoint_open_opts()
1189 attr.raw_tracepoint.name = ptr_to_u64(OPTS_GET(opts, tp_name, NULL)); in bpf_raw_tracepoint_open_opts()
1190 attr.raw_tracepoint.cookie = OPTS_GET(opts, cookie, 0); in bpf_raw_tracepoint_open_opts()
1198 LIBBPF_OPTS(bpf_raw_tp_opts, opts, .tp_name = name); in bpf_raw_tracepoint_open()
1200 return bpf_raw_tracepoint_open_opts(prog_fd, &opts); in bpf_raw_tracepoint_open()
1203 int bpf_btf_load(const void *btf_data, size_t btf_size, struct bpf_btf_load_opts *opts) in bpf_btf_load() argument
1216 if (!OPTS_VALID(opts, bpf_btf_load_opts)) in bpf_btf_load()
1219 log_buf = OPTS_GET(opts, log_buf, NULL); in bpf_btf_load()
1220 log_size = OPTS_GET(opts, log_size, 0); in bpf_btf_load()
1221 log_level = OPTS_GET(opts, log_level, 0); in bpf_btf_load()
1231 attr.btf_flags = OPTS_GET(opts, btf_flags, 0); in bpf_btf_load()
1232 attr.btf_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_btf_load()
1253 OPTS_SET(opts, log_true_size, attr.btf_log_true_size); in bpf_btf_load()
1297 const struct bpf_prog_bind_opts *opts) in bpf_prog_bind_map() argument
1303 if (!OPTS_VALID(opts, bpf_prog_bind_opts)) in bpf_prog_bind_map()
1309 attr.prog_bind_map.flags = OPTS_GET(opts, flags, 0); in bpf_prog_bind_map()
1315 int bpf_token_create(int bpffs_fd, struct bpf_token_create_opts *opts) in bpf_token_create() argument
1321 if (!OPTS_VALID(opts, bpf_token_create_opts)) in bpf_token_create()
1326 attr.token_create.flags = OPTS_GET(opts, flags, 0); in bpf_token_create()