mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
5b497af42f
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of version 2 of the gnu general public license as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 64 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190529141901.894819585@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
41 lines
1.0 KiB
C
41 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
|
|
* Copyright (c) 2016 Facebook
|
|
*/
|
|
|
|
#ifndef __BPF_DISASM_H__
|
|
#define __BPF_DISASM_H__
|
|
|
|
#include <linux/bpf.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/stringify.h>
|
|
#ifndef __KERNEL__
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#endif
|
|
|
|
extern const char *const bpf_alu_string[16];
|
|
extern const char *const bpf_class_string[8];
|
|
|
|
const char *func_id_name(int id);
|
|
|
|
typedef __printf(2, 3) void (*bpf_insn_print_t)(void *private_data,
|
|
const char *, ...);
|
|
typedef const char *(*bpf_insn_revmap_call_t)(void *private_data,
|
|
const struct bpf_insn *insn);
|
|
typedef const char *(*bpf_insn_print_imm_t)(void *private_data,
|
|
const struct bpf_insn *insn,
|
|
__u64 full_imm);
|
|
|
|
struct bpf_insn_cbs {
|
|
bpf_insn_print_t cb_print;
|
|
bpf_insn_revmap_call_t cb_call;
|
|
bpf_insn_print_imm_t cb_imm;
|
|
void *private_data;
|
|
};
|
|
|
|
void print_bpf_insn(const struct bpf_insn_cbs *cbs,
|
|
const struct bpf_insn *insn,
|
|
bool allow_ptr_leaks);
|
|
#endif
|