diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-13 14:37:47 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-13 14:37:47 +0300 |
| commit | de6b9c4741dea87ce66e0309bac580030490dc30 (patch) | |
| tree | e535c606fb9ec90cacb3790544fe50038f7850e1 /internal/generate/bpfhandler.go | |
| parent | 306b9eb1c1054992506dd36fc9f1b64e11276598 (diff) | |
refactor(generate): replace classifySyscall switches with kindRegistry (OCP)
Introduce kindregistry.go with a kindMeta struct (structName, enterAccepted)
and a kindRegistry map keyed by TracepointKind. Replace the switch in
isEnterRejected (codegen.go) and the switch in eventStructName (bpfhandler.go)
with lookupKind registry lookups. Adding a new TracepointKind now only
requires a single registry entry — no switch statements need to be touched.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/generate/bpfhandler.go')
| -rw-r--r-- | internal/generate/bpfhandler.go | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/internal/generate/bpfhandler.go b/internal/generate/bpfhandler.go index 3d76ac4..cf9a0c9 100644 --- a/internal/generate/bpfhandler.go +++ b/internal/generate/bpfhandler.go @@ -133,29 +133,10 @@ func generateExtra(tp GeneratedTracepoint, isEnter bool) string { return "" } +// eventStructName returns the C struct name for a TracepointKind. The mapping +// is driven by kindRegistry so adding a new kind only requires a registry entry. func eventStructName(kind TracepointKind) string { - switch kind { - case KindFd: - return "fd_event" - case KindOpen: - return "open_event" - case KindPathname: - return "path_event" - case KindName: - return "name_event" - case KindRet: - return "ret_event" - case KindFcntl: - return "fcntl_event" - case KindNull: - return "null_event" - case KindDup3: - return "dup3_event" - case KindOpenByHandleAt: - return "open_by_handle_at_event" - default: - return "unknown_event" - } + return lookupKind(kind).structName } func eventTypeConstant(kind TracepointKind, isEnter bool) string { |
