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