inspektor-gadget
141 строка · 3.4 Кб
1// Code generated by bpf2go; DO NOT EDIT.
2//go:build 386 || amd64
3
4package socketenricher
5
6import (
7"bytes"
8_ "embed"
9"fmt"
10"io"
11
12"github.com/cilium/ebpf"
13)
14
15type socketsiterSocketsKey struct {
16Netns uint32
17Family uint16
18Proto uint16
19Port uint16
20_ [2]byte
21}
22
23type socketsiterSocketsValue struct {
24Mntns uint64
25PidTgid uint64
26UidGid uint64
27Task [16]int8
28Sock uint64
29DeletionTimestamp uint64
30Ipv6only int8
31_ [7]byte
32}
33
34// loadSocketsiter returns the embedded CollectionSpec for socketsiter.
35func loadSocketsiter() (*ebpf.CollectionSpec, error) {
36reader := bytes.NewReader(_SocketsiterBytes)
37spec, err := ebpf.LoadCollectionSpecFromReader(reader)
38if err != nil {
39return nil, fmt.Errorf("can't load socketsiter: %w", err)
40}
41
42return spec, err
43}
44
45// loadSocketsiterObjects loads socketsiter and converts it into a struct.
46//
47// The following types are suitable as obj argument:
48//
49// *socketsiterObjects
50// *socketsiterPrograms
51// *socketsiterMaps
52//
53// See ebpf.CollectionSpec.LoadAndAssign documentation for details.
54func loadSocketsiterObjects(obj interface{}, opts *ebpf.CollectionOptions) error {
55spec, err := loadSocketsiter()
56if err != nil {
57return err
58}
59
60return spec.LoadAndAssign(obj, opts)
61}
62
63// socketsiterSpecs contains maps and programs before they are loaded into the kernel.
64//
65// It can be passed ebpf.CollectionSpec.Assign.
66type socketsiterSpecs struct {
67socketsiterProgramSpecs
68socketsiterMapSpecs
69}
70
71// socketsiterSpecs contains programs before they are loaded into the kernel.
72//
73// It can be passed ebpf.CollectionSpec.Assign.
74type socketsiterProgramSpecs struct {
75IgSkCleanup *ebpf.ProgramSpec `ebpf:"ig_sk_cleanup"`
76IgSocketsIt *ebpf.ProgramSpec `ebpf:"ig_sockets_it"`
77}
78
79// socketsiterMapSpecs contains maps before they are loaded into the kernel.
80//
81// It can be passed ebpf.CollectionSpec.Assign.
82type socketsiterMapSpecs struct {
83GadgetSockets *ebpf.MapSpec `ebpf:"gadget_sockets"`
84}
85
86// socketsiterObjects contains all objects after they have been loaded into the kernel.
87//
88// It can be passed to loadSocketsiterObjects or ebpf.CollectionSpec.LoadAndAssign.
89type socketsiterObjects struct {
90socketsiterPrograms
91socketsiterMaps
92}
93
94func (o *socketsiterObjects) Close() error {
95return _SocketsiterClose(
96&o.socketsiterPrograms,
97&o.socketsiterMaps,
98)
99}
100
101// socketsiterMaps contains all maps after they have been loaded into the kernel.
102//
103// It can be passed to loadSocketsiterObjects or ebpf.CollectionSpec.LoadAndAssign.
104type socketsiterMaps struct {
105GadgetSockets *ebpf.Map `ebpf:"gadget_sockets"`
106}
107
108func (m *socketsiterMaps) Close() error {
109return _SocketsiterClose(
110m.GadgetSockets,
111)
112}
113
114// socketsiterPrograms contains all programs after they have been loaded into the kernel.
115//
116// It can be passed to loadSocketsiterObjects or ebpf.CollectionSpec.LoadAndAssign.
117type socketsiterPrograms struct {
118IgSkCleanup *ebpf.Program `ebpf:"ig_sk_cleanup"`
119IgSocketsIt *ebpf.Program `ebpf:"ig_sockets_it"`
120}
121
122func (p *socketsiterPrograms) Close() error {
123return _SocketsiterClose(
124p.IgSkCleanup,
125p.IgSocketsIt,
126)
127}
128
129func _SocketsiterClose(closers ...io.Closer) error {
130for _, closer := range closers {
131if err := closer.Close(); err != nil {
132return err
133}
134}
135return nil
136}
137
138// Do not access this directly.
139//
140//go:embed socketsiter_bpfel_x86.o
141var _SocketsiterBytes []byte
142