inspektor-gadget

Форк
0
/
auditseccomp_bpfel_x86.go 
134 строки · 3.3 Кб
1
// Code generated by bpf2go; DO NOT EDIT.
2
//go:build 386 || amd64
3

4
package tracer
5

6
import (
7
	"bytes"
8
	_ "embed"
9
	"fmt"
10
	"io"
11

12
	"github.com/cilium/ebpf"
13
)
14

15
type auditseccompEvent struct {
16
	Pid       uint64
17
	MntnsId   uint64
18
	Timestamp uint64
19
	Syscall   uint64
20
	Code      uint64
21
	Comm      [16]uint8
22
}
23

24
// loadAuditseccomp returns the embedded CollectionSpec for auditseccomp.
25
func loadAuditseccomp() (*ebpf.CollectionSpec, error) {
26
	reader := bytes.NewReader(_AuditseccompBytes)
27
	spec, err := ebpf.LoadCollectionSpecFromReader(reader)
28
	if err != nil {
29
		return nil, fmt.Errorf("can't load auditseccomp: %w", err)
30
	}
31

32
	return spec, err
33
}
34

35
// loadAuditseccompObjects loads auditseccomp and converts it into a struct.
36
//
37
// The following types are suitable as obj argument:
38
//
39
//	*auditseccompObjects
40
//	*auditseccompPrograms
41
//	*auditseccompMaps
42
//
43
// See ebpf.CollectionSpec.LoadAndAssign documentation for details.
44
func loadAuditseccompObjects(obj interface{}, opts *ebpf.CollectionOptions) error {
45
	spec, err := loadAuditseccomp()
46
	if err != nil {
47
		return err
48
	}
49

50
	return spec.LoadAndAssign(obj, opts)
51
}
52

53
// auditseccompSpecs contains maps and programs before they are loaded into the kernel.
54
//
55
// It can be passed ebpf.CollectionSpec.Assign.
56
type auditseccompSpecs struct {
57
	auditseccompProgramSpecs
58
	auditseccompMapSpecs
59
}
60

61
// auditseccompSpecs contains programs before they are loaded into the kernel.
62
//
63
// It can be passed ebpf.CollectionSpec.Assign.
64
type auditseccompProgramSpecs struct {
65
	IgAuditSecc *ebpf.ProgramSpec `ebpf:"ig_audit_secc"`
66
}
67

68
// auditseccompMapSpecs contains maps before they are loaded into the kernel.
69
//
70
// It can be passed ebpf.CollectionSpec.Assign.
71
type auditseccompMapSpecs struct {
72
	Events               *ebpf.MapSpec `ebpf:"events"`
73
	GadgetMntnsFilterMap *ebpf.MapSpec `ebpf:"gadget_mntns_filter_map"`
74
	TmpEvent             *ebpf.MapSpec `ebpf:"tmp_event"`
75
}
76

77
// auditseccompObjects contains all objects after they have been loaded into the kernel.
78
//
79
// It can be passed to loadAuditseccompObjects or ebpf.CollectionSpec.LoadAndAssign.
80
type auditseccompObjects struct {
81
	auditseccompPrograms
82
	auditseccompMaps
83
}
84

85
func (o *auditseccompObjects) Close() error {
86
	return _AuditseccompClose(
87
		&o.auditseccompPrograms,
88
		&o.auditseccompMaps,
89
	)
90
}
91

92
// auditseccompMaps contains all maps after they have been loaded into the kernel.
93
//
94
// It can be passed to loadAuditseccompObjects or ebpf.CollectionSpec.LoadAndAssign.
95
type auditseccompMaps struct {
96
	Events               *ebpf.Map `ebpf:"events"`
97
	GadgetMntnsFilterMap *ebpf.Map `ebpf:"gadget_mntns_filter_map"`
98
	TmpEvent             *ebpf.Map `ebpf:"tmp_event"`
99
}
100

101
func (m *auditseccompMaps) Close() error {
102
	return _AuditseccompClose(
103
		m.Events,
104
		m.GadgetMntnsFilterMap,
105
		m.TmpEvent,
106
	)
107
}
108

109
// auditseccompPrograms contains all programs after they have been loaded into the kernel.
110
//
111
// It can be passed to loadAuditseccompObjects or ebpf.CollectionSpec.LoadAndAssign.
112
type auditseccompPrograms struct {
113
	IgAuditSecc *ebpf.Program `ebpf:"ig_audit_secc"`
114
}
115

116
func (p *auditseccompPrograms) Close() error {
117
	return _AuditseccompClose(
118
		p.IgAuditSecc,
119
	)
120
}
121

122
func _AuditseccompClose(closers ...io.Closer) error {
123
	for _, closer := range closers {
124
		if err := closer.Close(); err != nil {
125
			return err
126
		}
127
	}
128
	return nil
129
}
130

131
// Do not access this directly.
132
//
133
//go:embed auditseccomp_bpfel_x86.o
134
var _AuditseccompBytes []byte
135

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.