1234567891011121314151617181920212223242526272829303132333435 |
- /*
- * Copyright (C) 2015, He Kuang <hekuang@huawei.com>
- * Copyright (C) 2015, Huawei Inc.
- */
- #ifndef __BPF_PROLOGUE_H
- #define __BPF_PROLOGUE_H
- #include <linux/compiler.h>
- #include <linux/filter.h>
- #include "probe-event.h"
- #define BPF_PROLOGUE_MAX_ARGS 3
- #define BPF_PROLOGUE_START_ARG_REG BPF_REG_3
- #define BPF_PROLOGUE_FETCH_RESULT_REG BPF_REG_2
- #ifdef HAVE_BPF_PROLOGUE
- int bpf__gen_prologue(struct probe_trace_arg *args, int nargs,
- struct bpf_insn *new_prog, size_t *new_cnt,
- size_t cnt_space);
- #else
- static inline int
- bpf__gen_prologue(struct probe_trace_arg *args __maybe_unused,
- int nargs __maybe_unused,
- struct bpf_insn *new_prog __maybe_unused,
- size_t *new_cnt,
- size_t cnt_space __maybe_unused)
- {
- if (!new_cnt)
- return -EINVAL;
- *new_cnt = 0;
- return -ENOTSUP;
- }
- #endif
- #endif /* __BPF_PROLOGUE_H */
|