* (context accesses, allowed helpers, etc).
                 */
                __u32           expected_attach_type;
+               __u32           prog_btf_fd;    /* fd pointing to BTF type data */
+               __u32           func_info_rec_size;     /* userspace bpf_func_info size */
+               __aligned_u64   func_info;      /* func info */
+               __u32           func_info_cnt;  /* number of bpf_func_info records */
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
        __u32 nr_jited_func_lens;
        __aligned_u64 jited_ksyms;
        __aligned_u64 jited_func_lens;
+       __u32 btf_id;
+       __u32 func_info_rec_size;
+       __aligned_u64 func_info;
+       __u32 func_info_cnt;
 } __attribute__((aligned(8)));
 
 struct bpf_map_info {
        };
 };
 
+struct bpf_func_info {
+       __u32   insn_offset;
+       __u32   type_id;
+};
+
 #endif /* _UAPI__LINUX_BPF_H__ */