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
10int 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