aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/kobject/event.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/kobject/event.go')
-rw-r--r--internal/kobject/event.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/kobject/event.go b/internal/kobject/event.go
index 33cb91b8..38728599 100644
--- a/internal/kobject/event.go
+++ b/internal/kobject/event.go
@@ -2,6 +2,7 @@ package kobject
import (
"errors"
+ "maps"
"strconv"
"strings"
"unsafe"
@@ -28,6 +29,22 @@ type Event struct {
Subsystem string `json:"subsystem"`
}
+// Clone returns a copy of e.
+func (e *Event) Clone() Event {
+ v := *e
+ v.Env = maps.Clone(e.Env)
+ return v
+}
+
+// makeColdboot allocates a new [Object] from e in [StateColdboot].
+func (e *Event) makeColdboot() *Object {
+ return &Object{
+ State: StateColdboot,
+ DevPath: e.DevPath,
+ Subsystem: e.Subsystem,
+ }
+}
+
// Populate populates e with the contents of a [uevent.Message].
//
// The ACTION and DEVPATH environment variables are ignored and assumed to be