inspektor-gadget
1// Code generated by bpf2go; DO NOT EDIT.
2//go:build arm64
3
4package tracer5
6import (7"bytes"8_ "embed"9"fmt"10"io"11
12"github.com/cilium/ebpf"13)
14
15type oomkillDataT struct {16Fpid uint3217Fuid uint3218Fgid uint3219Tpid uint3220Pages uint6421MountNsId uint6422Timestamp uint6423Fcomm [16]uint824Tcomm [16]uint825}
26
27// loadOomkill returns the embedded CollectionSpec for oomkill.
28func loadOomkill() (*ebpf.CollectionSpec, error) {29reader := bytes.NewReader(_OomkillBytes)30spec, err := ebpf.LoadCollectionSpecFromReader(reader)31if err != nil {32return nil, fmt.Errorf("can't load oomkill: %w", err)33}34
35return spec, err36}
37
38// loadOomkillObjects loads oomkill and converts it into a struct.
39//
40// The following types are suitable as obj argument:
41//
42// *oomkillObjects
43// *oomkillPrograms
44// *oomkillMaps
45//
46// See ebpf.CollectionSpec.LoadAndAssign documentation for details.
47func loadOomkillObjects(obj interface{}, opts *ebpf.CollectionOptions) error {48spec, err := loadOomkill()49if err != nil {50return err51}52
53return spec.LoadAndAssign(obj, opts)54}
55
56// oomkillSpecs contains maps and programs before they are loaded into the kernel.
57//
58// It can be passed ebpf.CollectionSpec.Assign.
59type oomkillSpecs struct {60oomkillProgramSpecs
61oomkillMapSpecs
62}
63
64// oomkillSpecs contains programs before they are loaded into the kernel.
65//
66// It can be passed ebpf.CollectionSpec.Assign.
67type oomkillProgramSpecs struct {68IgOomKill *ebpf.ProgramSpec `ebpf:"ig_oom_kill"`69}
70
71// oomkillMapSpecs contains maps before they are loaded into the kernel.
72//
73// It can be passed ebpf.CollectionSpec.Assign.
74type oomkillMapSpecs struct {75Events *ebpf.MapSpec `ebpf:"events"`76GadgetMntnsFilterMap *ebpf.MapSpec `ebpf:"gadget_mntns_filter_map"`77}
78
79// oomkillObjects contains all objects after they have been loaded into the kernel.
80//
81// It can be passed to loadOomkillObjects or ebpf.CollectionSpec.LoadAndAssign.
82type oomkillObjects struct {83oomkillPrograms
84oomkillMaps
85}
86
87func (o *oomkillObjects) Close() error {88return _OomkillClose(89&o.oomkillPrograms,90&o.oomkillMaps,91)92}
93
94// oomkillMaps contains all maps after they have been loaded into the kernel.
95//
96// It can be passed to loadOomkillObjects or ebpf.CollectionSpec.LoadAndAssign.
97type oomkillMaps struct {98Events *ebpf.Map `ebpf:"events"`99GadgetMntnsFilterMap *ebpf.Map `ebpf:"gadget_mntns_filter_map"`100}
101
102func (m *oomkillMaps) Close() error {103return _OomkillClose(104m.Events,105m.GadgetMntnsFilterMap,106)107}
108
109// oomkillPrograms contains all programs after they have been loaded into the kernel.
110//
111// It can be passed to loadOomkillObjects or ebpf.CollectionSpec.LoadAndAssign.
112type oomkillPrograms struct {113IgOomKill *ebpf.Program `ebpf:"ig_oom_kill"`114}
115
116func (p *oomkillPrograms) Close() error {117return _OomkillClose(118p.IgOomKill,119)120}
121
122func _OomkillClose(closers ...io.Closer) error {123for _, closer := range closers {124if err := closer.Close(); err != nil {125return err126}127}128return nil129}
130
131// Do not access this directly.
132//
133//go:embed oomkill_bpfel_arm64.o
134var _OomkillBytes []byte135