mirror of
https://github.com/varun-r-mallya/pylibbpf.git
synced 2026-02-12 08:00:55 +00:00
Add basic class along with exception and attach
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
29
src/core/bpf_program.h
Normal file
29
src/core/bpf_program.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef PYLIBBPF_BPF_PROGRAM_H
|
||||
#define PYLIBBPF_BPF_PROGRAM_H
|
||||
|
||||
#include "libbpf.h"
|
||||
#include <pybind11/stl.h>
|
||||
#include <string>
|
||||
|
||||
namespace py = pybind11;
|
||||
|
||||
class BpfProgram {
|
||||
private:
|
||||
struct bpf_object* obj_;
|
||||
struct bpf_program* prog_;
|
||||
struct bpf_link* link_;
|
||||
std::string object_path_;
|
||||
std::string program_name_;
|
||||
|
||||
public:
|
||||
explicit BpfProgram(const std::string& object_path, const std::string& program_name = "");
|
||||
~BpfProgram();
|
||||
|
||||
bool load();
|
||||
bool attach();
|
||||
|
||||
bool is_loaded() const { return obj_ != nullptr; }
|
||||
bool is_attached() const { return link_ != nullptr; }
|
||||
};
|
||||
|
||||
#endif //PYLIBBPF_BPF_PROGRAM_H
|
||||
Reference in New Issue
Block a user