123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- // Code generated by bpf2go; DO NOT EDIT.
- //go:build mips || mips64 || ppc64 || s390x
- package main
- import (
- "bytes"
- _ "embed"
- "fmt"
- "io"
- "github.com/cilium/ebpf"
- )
- // loadBpf returns the embedded CollectionSpec for bpf.
- func loadBpf() (*ebpf.CollectionSpec, error) {
- reader := bytes.NewReader(_BpfBytes)
- spec, err := ebpf.LoadCollectionSpecFromReader(reader)
- if err != nil {
- return nil, fmt.Errorf("can't load bpf: %w", err)
- }
- return spec, err
- }
- // loadBpfObjects loads bpf and converts it into a struct.
- //
- // The following types are suitable as obj argument:
- //
- // *bpfObjects
- // *bpfPrograms
- // *bpfMaps
- //
- // See ebpf.CollectionSpec.LoadAndAssign documentation for details.
- func loadBpfObjects(obj interface{}, opts *ebpf.CollectionOptions) error {
- spec, err := loadBpf()
- if err != nil {
- return err
- }
- return spec.LoadAndAssign(obj, opts)
- }
- // bpfSpecs contains maps and programs before they are loaded into the kernel.
- //
- // It can be passed ebpf.CollectionSpec.Assign.
- type bpfSpecs struct {
- bpfProgramSpecs
- bpfMapSpecs
- }
- // bpfSpecs contains programs before they are loaded into the kernel.
- //
- // It can be passed ebpf.CollectionSpec.Assign.
- type bpfProgramSpecs struct {
- KprobeExecve *ebpf.ProgramSpec `ebpf:"kprobe_execve"`
- }
- // bpfMapSpecs contains maps before they are loaded into the kernel.
- //
- // It can be passed ebpf.CollectionSpec.Assign.
- type bpfMapSpecs struct {
- KprobeMap *ebpf.MapSpec `ebpf:"kprobe_map"`
- }
- // bpfObjects contains all objects after they have been loaded into the kernel.
- //
- // It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign.
- type bpfObjects struct {
- bpfPrograms
- bpfMaps
- }
- func (o *bpfObjects) Close() error {
- return _BpfClose(
- &o.bpfPrograms,
- &o.bpfMaps,
- )
- }
- // bpfMaps contains all maps after they have been loaded into the kernel.
- //
- // It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign.
- type bpfMaps struct {
- KprobeMap *ebpf.Map `ebpf:"kprobe_map"`
- }
- func (m *bpfMaps) Close() error {
- return _BpfClose(
- m.KprobeMap,
- )
- }
- // bpfPrograms contains all programs after they have been loaded into the kernel.
- //
- // It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign.
- type bpfPrograms struct {
- KprobeExecve *ebpf.Program `ebpf:"kprobe_execve"`
- }
- func (p *bpfPrograms) Close() error {
- return _BpfClose(
- p.KprobeExecve,
- )
- }
- func _BpfClose(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 bpf_bpfeb.o
- var _BpfBytes []byte
|