bpf_gen
void bpf_gen__init(struct bpf_gen *gen, int log_level, int nr_progs, int nr_maps);
int bpf_gen__finish(struct bpf_gen *gen, int nr_progs, int nr_maps);
void bpf_gen__free(struct bpf_gen *gen);
void bpf_gen__load_btf(struct bpf_gen *gen, const void *raw_data, __u32 raw_size);
void bpf_gen__map_create(struct bpf_gen *gen,
void bpf_gen__prog_load(struct bpf_gen *gen,
void bpf_gen__map_update_elem(struct bpf_gen *gen, int map_idx, void *value, __u32 value_size);
void bpf_gen__map_freeze(struct bpf_gen *gen, int map_idx);
void bpf_gen__record_attach_target(struct bpf_gen *gen, const char *name, enum bpf_attach_type type);
void bpf_gen__record_extern(struct bpf_gen *gen, const char *name, bool is_weak,
void bpf_gen__record_relo_core(struct bpf_gen *gen, const struct bpf_core_relo *core_relo);
void bpf_gen__populate_outer_map(struct bpf_gen *gen, int outer_map_idx, int key, int inner_map_idx);
static void cleanup_core_relo(struct bpf_gen *gen)
static void cleanup_relos(struct bpf_gen *gen, int insns)
static void info_blob_bswap(struct bpf_gen *gen, int func_info, int line_info,
static void emit2(struct bpf_gen *gen, struct bpf_insn insn1, struct bpf_insn insn2)
void bpf_gen__prog_load(struct bpf_gen *gen,
static int add_data(struct bpf_gen *gen, const void *data, __u32 size);
static void emit_sys_close_blob(struct bpf_gen *gen, int blob_off);
static void emit_signature_match(struct bpf_gen *gen);
void bpf_gen__init(struct bpf_gen *gen, int log_level, int nr_progs, int nr_maps)
void bpf_gen__map_update_elem(struct bpf_gen *gen, int map_idx, void *pvalue,
void bpf_gen__populate_outer_map(struct bpf_gen *gen, int outer_map_idx, int slot,
void bpf_gen__map_freeze(struct bpf_gen *gen, int map_idx)
static int add_data(struct bpf_gen *gen, const void *data, __u32 size)
static int add_map_fd(struct bpf_gen *gen)
static int add_kfunc_btf_fd(struct bpf_gen *gen)
static void emit_rel_store(struct bpf_gen *gen, int off, int data)
static void move_blob2blob(struct bpf_gen *gen, int off, int size, int blob_off)
static void move_blob2ctx(struct bpf_gen *gen, int ctx_off, int size, int blob_off)
static void move_ctx2blob(struct bpf_gen *gen, int off, int size, int ctx_off,
static void move_stack2blob(struct bpf_gen *gen, int off, int size, int stack_off)
static void move_stack2ctx(struct bpf_gen *gen, int ctx_off, int size, int stack_off)
static void emit_sys_bpf(struct bpf_gen *gen, int cmd, int attr, int attr_size)
static void emit_check_err(struct bpf_gen *gen)
static void emit_debug(struct bpf_gen *gen, int reg1, int reg2,
static void debug_regs(struct bpf_gen *gen, int reg1, int reg2, const char *fmt, ...)
static void debug_ret(struct bpf_gen *gen, const char *fmt, ...)
static void __emit_sys_close(struct bpf_gen *gen)
static void emit_sys_close_stack(struct bpf_gen *gen, int stack_off)
static void emit_sys_close_blob(struct bpf_gen *gen, int blob_off)
static void compute_sha_update_offsets(struct bpf_gen *gen);
int bpf_gen__finish(struct bpf_gen *gen, int nr_progs, int nr_maps)
void bpf_gen__free(struct bpf_gen *gen)
static int blob_fd_array_off(struct bpf_gen *gen, int index)
static void compute_sha_update_offsets(struct bpf_gen *gen)
void bpf_gen__load_btf(struct bpf_gen *gen, const void *btf_raw_data,
static int realloc_insn_buf(struct bpf_gen *gen, __u32 size)
void bpf_gen__map_create(struct bpf_gen *gen,
static void emit_signature_match(struct bpf_gen *gen)
void bpf_gen__record_attach_target(struct bpf_gen *gen, const char *attach_name,
static void emit_find_attach_target(struct bpf_gen *gen)
void bpf_gen__record_extern(struct bpf_gen *gen, const char *name, bool is_weak,
static struct ksym_desc *get_ksym_desc(struct bpf_gen *gen, struct ksym_relo_desc *relo)
static void emit_bpf_find_by_name_kind(struct bpf_gen *gen, struct ksym_relo_desc *relo)
static int realloc_data_buf(struct bpf_gen *gen, __u32 size)
static void emit_bpf_kallsyms_lookup_name(struct bpf_gen *gen, struct ksym_relo_desc *relo)
static void emit_relo_kfunc_btf(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insn)
static void emit_ksym_relo_log(struct bpf_gen *gen, struct ksym_relo_desc *relo,
static void emit_relo_ksym_typeless(struct bpf_gen *gen,
static __u32 src_reg_mask(struct bpf_gen *gen)
static void emit_relo_ksym_btf(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insn)
void bpf_gen__record_relo_core(struct bpf_gen *gen,
static void emit_relo(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insns)
static void emit(struct bpf_gen *gen, struct bpf_insn insn)
static void emit_relos(struct bpf_gen *gen, int insns)
struct bpf_gen *gen_loader;
struct bpf_gen *gen;