summaryrefslogtreecommitdiff
path: root/internal/eventloop.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/eventloop.go')
-rw-r--r--internal/eventloop.go18
1 files changed, 4 insertions, 14 deletions
diff --git a/internal/eventloop.go b/internal/eventloop.go
index c482ceb..f3762b0 100644
--- a/internal/eventloop.go
+++ b/internal/eventloop.go
@@ -3,8 +3,6 @@ package internal
import "C"
import (
- "bytes"
- "encoding/binary"
"fmt"
. "ioriotng/internal/generated/types"
@@ -23,13 +21,13 @@ func eventLoop(bpfModule *bpf.Module, ch <-chan []byte) {
case OPENAT_ENTER_OP_ID:
fallthrough
case OPEN_ENTER_OP_ID:
- ev := readRaw(raw, NewOpenEnterEvent())
+ ev := NewOpenEnterEvent(raw)
enterOpen[ev.PidTgid] = ev
case OPENAT_EXIT_OP_ID:
fallthrough
case OPEN_EXIT_OP_ID:
- ev := readRaw(raw, NewFdEvent())
+ ev := NewFdEvent(raw)
enterEv, ok := enterOpen[ev.PidTgid]
if !ok {
fmt.Println("Dropping", ev)
@@ -48,7 +46,7 @@ func eventLoop(bpfModule *bpf.Module, ch <-chan []byte) {
case WRITE_ENTER_OP_ID:
fallthrough
case WRITEV_ENTER_OP_ID:
- ev := readRaw(raw, NewFdEvent())
+ ev := NewFdEvent(raw)
enterFd[ev.PidTgid] = ev
case CLOSE_EXIT_OP_ID:
@@ -56,7 +54,7 @@ func eventLoop(bpfModule *bpf.Module, ch <-chan []byte) {
case WRITE_EXIT_OP_ID:
fallthrough
case WRITEV_EXIT_OP_ID:
- ev := readRaw(raw, NewNullEvent())
+ ev := NewNullEvent(raw)
enterEv, ok := enterFd[ev.PidTgid]
if !ok {
fmt.Println("Dropping", ev)
@@ -77,11 +75,3 @@ func eventLoop(bpfModule *bpf.Module, ch <-chan []byte) {
fmt.Println("Good bye")
}
-
-func readRaw[T any](raw []byte, ev *T) *T {
- if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil {
- fmt.Println(ev, raw, len(raw), err)
- panic(raw)
- }
- return ev
-}