From b4d0a4988392941d1ff927a921b2f602ba7de7d4 Mon Sep 17 00:00:00 2001 From: Pragyansh Chaturvedi Date: Sun, 19 Oct 2025 21:26:20 +0530 Subject: [PATCH] Add struct_defs_ to BpfObject --- src/core/bpf_object.cpp | 5 +++-- src/core/bpf_object.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/core/bpf_object.cpp b/src/core/bpf_object.cpp index 9ae949a..1cb5eba 100644 --- a/src/core/bpf_object.cpp +++ b/src/core/bpf_object.cpp @@ -4,8 +4,9 @@ #include "bpf_program.h" #include -BpfObject::BpfObject(std::string object_path) - : obj_(nullptr), object_path_(std::move(object_path)), loaded_(false) {} +BpfObject::BpfObject(std::string object_path, py::dict structs) + : obj_(nullptr), object_path_(std::move(object_path)), loaded_(false), + struct_defs_(structs) {} BpfObject::~BpfObject() { // Clear caches first (order matters!) diff --git a/src/core/bpf_object.h b/src/core/bpf_object.h index 49fdb09..a66e73b 100644 --- a/src/core/bpf_object.h +++ b/src/core/bpf_object.h @@ -28,12 +28,13 @@ private: mutable std::unordered_map> maps_cache_; mutable std::unordered_map> prog_cache_; + py::dict struct_defs_; std::shared_ptr _get_or_create_program(struct bpf_program *prog); std::shared_ptr _get_or_create_map(struct bpf_map *map); public: - explicit BpfObject(std::string object_path); + explicit BpfObject(std::string object_path, py::dict structs = py::dict()); ~BpfObject(); // Disable copy, allow move