...
1
2
3 package udev
4
5 import (
6 "fmt"
7 "io"
8
9 "edge-infra.dev/pkg/lib/kernel/udev/sockets"
10 )
11
12 const Netlink = "netlink"
13
14
15
16 func NewUEventReader(source string) (uEventReader io.ReadCloser, fd int, err error) {
17 switch source {
18 case Netlink:
19 uEventReader, fd, err = sockets.NewUEventNetlinkReader()
20 default:
21 uEventReader, fd, err = sockets.NewUEventRemoteReader(source)
22 }
23
24 if err != nil {
25 return nil, 0, fmt.Errorf("failed to create uevent reader for %s: %w", source, err)
26 }
27
28 return uEventReader, fd, nil
29 }
30
View as plain text