1d71fa5c9SAlexei Starovoitov /* SPDX-License-Identifier: GPL-2.0 */ 2d71fa5c9SAlexei Starovoitov #ifndef _BPF_PRELOAD_H 3d71fa5c9SAlexei Starovoitov #define _BPF_PRELOAD_H 4d71fa5c9SAlexei Starovoitov 5*cb80ddc6SAlexei Starovoitov struct bpf_preload_info { 6*cb80ddc6SAlexei Starovoitov char link_name[16]; 7*cb80ddc6SAlexei Starovoitov struct bpf_link *link; 8*cb80ddc6SAlexei Starovoitov }; 9d71fa5c9SAlexei Starovoitov 10d71fa5c9SAlexei Starovoitov struct bpf_preload_ops { 11d71fa5c9SAlexei Starovoitov int (*preload)(struct bpf_preload_info *); 12d71fa5c9SAlexei Starovoitov struct module *owner; 13d71fa5c9SAlexei Starovoitov }; 14d71fa5c9SAlexei Starovoitov extern struct bpf_preload_ops *bpf_preload_ops; 15d71fa5c9SAlexei Starovoitov #define BPF_PRELOAD_LINKS 2 16d71fa5c9SAlexei Starovoitov #endif 17