mirror of
https://github.com/varun-r-mallya/Python-BPF.git
synced 2025-12-31 21:06:25 +00:00
Add struct example and decorator
This commit is contained in:
@ -1,9 +1,16 @@
|
||||
from pythonbpf import bpf, map, section, bpfglobal, compile
|
||||
from pythonbpf import bpf, map, struct, section, bpfglobal, compile
|
||||
from pythonbpf.helpers import ktime, pid
|
||||
from pythonbpf.maps import PerfEventArray
|
||||
|
||||
from ctypes import c_void_p, c_int64, c_int32, c_uint64
|
||||
|
||||
|
||||
@bpf
|
||||
@struct
|
||||
class data_t:
|
||||
pid: c_uint64
|
||||
ts: c_uint64
|
||||
|
||||
@bpf
|
||||
@map
|
||||
def events() -> PerfEventArray:
|
||||
|
||||
@ -9,11 +9,19 @@ def bpfglobal(func):
|
||||
func._is_bpfglobal = True
|
||||
return func
|
||||
|
||||
|
||||
def map(func):
|
||||
"""Decorator to mark a function as a BPF map."""
|
||||
func._is_map = True
|
||||
return func
|
||||
|
||||
|
||||
def struct(cls):
|
||||
"""Decorator to mark a class as a BPF struct."""
|
||||
cls._is_struct = True
|
||||
return cls
|
||||
|
||||
|
||||
def section(name: str):
|
||||
def wrapper(fn):
|
||||
fn._section = name
|
||||
|
||||
Reference in New Issue
Block a user