inspektor-gadget
168 строк · 4.6 Кб
1// Code generated by bpf2go; DO NOT EDIT.
2//go:build 386 || amd64
3
4package socketenricher5
6import (7"bytes"8_ "embed"9"fmt"10"io"11
12"github.com/cilium/ebpf"13)
14
15type socketenricherSocketsKey struct {16Netns uint3217Family uint1618Proto uint1619Port uint1620_ [2]byte21}
22
23type socketenricherSocketsValue struct {24Mntns uint6425PidTgid uint6426UidGid uint6427Task [16]int828Sock uint6429DeletionTimestamp uint6430Ipv6only int831_ [7]byte32}
33
34// loadSocketenricher returns the embedded CollectionSpec for socketenricher.
35func loadSocketenricher() (*ebpf.CollectionSpec, error) {36reader := bytes.NewReader(_SocketenricherBytes)37spec, err := ebpf.LoadCollectionSpecFromReader(reader)38if err != nil {39return nil, fmt.Errorf("can't load socketenricher: %w", err)40}41
42return spec, err43}
44
45// loadSocketenricherObjects loads socketenricher and converts it into a struct.
46//
47// The following types are suitable as obj argument:
48//
49// *socketenricherObjects
50// *socketenricherPrograms
51// *socketenricherMaps
52//
53// See ebpf.CollectionSpec.LoadAndAssign documentation for details.
54func loadSocketenricherObjects(obj interface{}, opts *ebpf.CollectionOptions) error {55spec, err := loadSocketenricher()56if err != nil {57return err58}59
60return spec.LoadAndAssign(obj, opts)61}
62
63// socketenricherSpecs contains maps and programs before they are loaded into the kernel.
64//
65// It can be passed ebpf.CollectionSpec.Assign.
66type socketenricherSpecs struct {67socketenricherProgramSpecs
68socketenricherMapSpecs
69}
70
71// socketenricherSpecs contains programs before they are loaded into the kernel.
72//
73// It can be passed ebpf.CollectionSpec.Assign.
74type socketenricherProgramSpecs struct {75IgBindIpv4E *ebpf.ProgramSpec `ebpf:"ig_bind_ipv4_e"`76IgBindIpv4X *ebpf.ProgramSpec `ebpf:"ig_bind_ipv4_x"`77IgBindIpv6E *ebpf.ProgramSpec `ebpf:"ig_bind_ipv6_e"`78IgBindIpv6X *ebpf.ProgramSpec `ebpf:"ig_bind_ipv6_x"`79IgFreeIpv4E *ebpf.ProgramSpec `ebpf:"ig_free_ipv4_e"`80IgFreeIpv6E *ebpf.ProgramSpec `ebpf:"ig_free_ipv6_e"`81IgTcpCoE *ebpf.ProgramSpec `ebpf:"ig_tcp_co_e"`82IgTcpCoX *ebpf.ProgramSpec `ebpf:"ig_tcp_co_x"`83IgUdp6Sendmsg *ebpf.ProgramSpec `ebpf:"ig_udp6_sendmsg"`84IgUdpSendmsg *ebpf.ProgramSpec `ebpf:"ig_udp_sendmsg"`85}
86
87// socketenricherMapSpecs contains maps before they are loaded into the kernel.
88//
89// It can be passed ebpf.CollectionSpec.Assign.
90type socketenricherMapSpecs struct {91GadgetSockets *ebpf.MapSpec `ebpf:"gadget_sockets"`92Start *ebpf.MapSpec `ebpf:"start"`93}
94
95// socketenricherObjects contains all objects after they have been loaded into the kernel.
96//
97// It can be passed to loadSocketenricherObjects or ebpf.CollectionSpec.LoadAndAssign.
98type socketenricherObjects struct {99socketenricherPrograms
100socketenricherMaps
101}
102
103func (o *socketenricherObjects) Close() error {104return _SocketenricherClose(105&o.socketenricherPrograms,106&o.socketenricherMaps,107)108}
109
110// socketenricherMaps contains all maps after they have been loaded into the kernel.
111//
112// It can be passed to loadSocketenricherObjects or ebpf.CollectionSpec.LoadAndAssign.
113type socketenricherMaps struct {114GadgetSockets *ebpf.Map `ebpf:"gadget_sockets"`115Start *ebpf.Map `ebpf:"start"`116}
117
118func (m *socketenricherMaps) Close() error {119return _SocketenricherClose(120m.GadgetSockets,121m.Start,122)123}
124
125// socketenricherPrograms contains all programs after they have been loaded into the kernel.
126//
127// It can be passed to loadSocketenricherObjects or ebpf.CollectionSpec.LoadAndAssign.
128type socketenricherPrograms struct {129IgBindIpv4E *ebpf.Program `ebpf:"ig_bind_ipv4_e"`130IgBindIpv4X *ebpf.Program `ebpf:"ig_bind_ipv4_x"`131IgBindIpv6E *ebpf.Program `ebpf:"ig_bind_ipv6_e"`132IgBindIpv6X *ebpf.Program `ebpf:"ig_bind_ipv6_x"`133IgFreeIpv4E *ebpf.Program `ebpf:"ig_free_ipv4_e"`134IgFreeIpv6E *ebpf.Program `ebpf:"ig_free_ipv6_e"`135IgTcpCoE *ebpf.Program `ebpf:"ig_tcp_co_e"`136IgTcpCoX *ebpf.Program `ebpf:"ig_tcp_co_x"`137IgUdp6Sendmsg *ebpf.Program `ebpf:"ig_udp6_sendmsg"`138IgUdpSendmsg *ebpf.Program `ebpf:"ig_udp_sendmsg"`139}
140
141func (p *socketenricherPrograms) Close() error {142return _SocketenricherClose(143p.IgBindIpv4E,144p.IgBindIpv4X,145p.IgBindIpv6E,146p.IgBindIpv6X,147p.IgFreeIpv4E,148p.IgFreeIpv6E,149p.IgTcpCoE,150p.IgTcpCoX,151p.IgUdp6Sendmsg,152p.IgUdpSendmsg,153)154}
155
156func _SocketenricherClose(closers ...io.Closer) error {157for _, closer := range closers {158if err := closer.Close(); err != nil {159return err160}161}162return nil163}
164
165// Do not access this directly.
166//
167//go:embed socketenricher_bpfel_x86.o
168var _SocketenricherBytes []byte169