blob: 3fc3fd796af6738f69adf2bda512dd97674ae41c [file] [log] [blame]
Tim Windelschmidt6d33a432025-02-04 14:34:25 +01001// Copyright The Monogon Project Authors.
Lorenz Brunf95909d2019-09-11 19:48:26 +02002// SPDX-License-Identifier: Apache-2.0
Lorenz Brunf95909d2019-09-11 19:48:26 +02003
4package sysfs
5
6import (
7 "bufio"
8 "io"
9 "os"
10 "strings"
11)
12
13func ReadUevents(filename string) (map[string]string, error) {
14 f, err := os.Open(filename)
15 if err != nil {
16 return nil, err
17 }
18 defer f.Close()
19 ueventMap := make(map[string]string)
20 reader := bufio.NewReader(f)
21 for {
22 name, err := reader.ReadString(byte('='))
23 if err == io.EOF {
24 break
25 } else if err != nil {
26 return nil, err
27 }
28 value, err := reader.ReadString(byte('\n'))
29 if err == io.EOF {
30 continue
31 } else if err != nil {
32 return nil, err
33 }
34 ueventMap[strings.Trim(name, "=")] = strings.TrimSpace(value)
35 }
36 return ueventMap, nil
37}