33 lines · c
1// SPDX-License-Identifier: GPL-2.02#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