1 | // SPDX-License-Identifier: GPL-2.0 |
---|---|
2 | #include <sys/types.h> |
3 | #include <sys/stat.h> |
4 | #include <fcntl.h> |
5 | #include <errno.h> |
6 | |
7 | #include "sysfs_utils.h" |
8 | #include "usbip_common.h" |
9 | |
10 | int write_sysfs_attribute(const char *attr_path, const char *new_value, |
11 | size_t len) |
12 | { |
13 | int fd; |
14 | int length; |
15 | |
16 | fd = open(attr_path, O_WRONLY); |
17 | if (fd < 0) { |
18 | dbg("error opening attribute %s", attr_path); |
19 | return -1; |
20 | } |
21 | |
22 | length = write(fd, new_value, len); |
23 | if (length < 0) { |
24 | dbg("error writing to attribute %s", attr_path); |
25 | close(fd); |
26 | return -1; |
27 | } |
28 | |
29 | close(fd); |
30 | |
31 | return 0; |
32 | } |
33 |