| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | /* | 
 |  * 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 | 
 | #include <errno.h> | 
 |  | 
 | 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 */ |