syscall_bpfel.go
Go Source File · 144 lines
// Code generated by bpf2go; DO NOT EDIT.//go:build 386 || amd64 || arm || arm64 || loong64 || mips64le || mipsle || ppc64le || riscv64
package collector
import ( "bytes" _ "embed" "fmt" "io"
"github.com/cilium/ebpf")
type syscallScKey struct { Pid uint32 Nr uint32}
type syscallScStart struct { Ts uint64 Nr uint32 Pad uint32}
type syscallScStat struct { Count uint64 TotalNs uint64 MaxNs uint64 Comm [16]int8}
// loadSyscall returns the embedded CollectionSpec for syscall.func loadSyscall() (*ebpf.CollectionSpec, error) { reader := bytes.NewReader(_SyscallBytes) spec, err := ebpf.LoadCollectionSpecFromReader(reader) if err != nil { return nil, fmt.Errorf("can't load syscall: %w", err) }
return spec, err}
// loadSyscallObjects loads syscall and converts it into a struct.//// The following types are suitable as obj argument://// *syscallObjects// *syscallPrograms// *syscallMaps//// See ebpf.CollectionSpec.LoadAndAssign documentation for details.func loadSyscallObjects(obj interface{}, opts *ebpf.CollectionOptions) error { spec, err := loadSyscall() if err != nil { return err }
return spec.LoadAndAssign(obj, opts)}
// syscallSpecs contains maps and programs before they are loaded into the kernel.//// It can be passed ebpf.CollectionSpec.Assign.type syscallSpecs struct { syscallProgramSpecs syscallMapSpecs}
// syscallSpecs contains programs before they are loaded into the kernel.//// It can be passed ebpf.CollectionSpec.Assign.type syscallProgramSpecs struct { HandleEnter *ebpf.ProgramSpec `ebpf:"handle_enter"` HandleExit *ebpf.ProgramSpec `ebpf:"handle_exit"`}
// syscallMapSpecs contains maps before they are loaded into the kernel.//// It can be passed ebpf.CollectionSpec.Assign.type syscallMapSpecs struct { Start *ebpf.MapSpec `ebpf:"start"` SyscallStats *ebpf.MapSpec `ebpf:"syscall_stats"`}
// syscallObjects contains all objects after they have been loaded into the kernel.//// It can be passed to loadSyscallObjects or ebpf.CollectionSpec.LoadAndAssign.type syscallObjects struct { syscallPrograms syscallMaps}
func (o *syscallObjects) Close() error { return _SyscallClose( &o.syscallPrograms, &o.syscallMaps, )}
// syscallMaps contains all maps after they have been loaded into the kernel.//// It can be passed to loadSyscallObjects or ebpf.CollectionSpec.LoadAndAssign.type syscallMaps struct { Start *ebpf.Map `ebpf:"start"` SyscallStats *ebpf.Map `ebpf:"syscall_stats"`}
func (m *syscallMaps) Close() error { return _SyscallClose( m.Start, m.SyscallStats, )}
// syscallPrograms contains all programs after they have been loaded into the kernel.//// It can be passed to loadSyscallObjects or ebpf.CollectionSpec.LoadAndAssign.type syscallPrograms struct { HandleEnter *ebpf.Program `ebpf:"handle_enter"` HandleExit *ebpf.Program `ebpf:"handle_exit"`}
func (p *syscallPrograms) Close() error { return _SyscallClose( p.HandleEnter, p.HandleExit, )}
func _SyscallClose(closers ...io.Closer) error { for _, closer := range closers { if err := closer.Close(); err != nil { return err } } return nil}
// Do not access this directly.////go:embed syscall_bpfel.ovar _SyscallBytes []byte





