]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blame - tools/usb/usbip/src/utils.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
[mirror_ubuntu-focal-kernel.git] / tools / usb / usbip / src / utils.c
CommitLineData
1ccea77e 1// SPDX-License-Identifier: GPL-2.0-or-later
0945b4fe 2/*
30f05546 3 * Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
4 * 2005-2007 Takahiro Hirofuchi
0945b4fe
TH
5 */
6
4fd83e84 7#include <errno.h>
4cbab52d 8#include <stdio.h>
9#include <string.h>
10
e9837bbb 11#include "usbip_common.h"
0945b4fe 12#include "utils.h"
1e940319 13#include "sysfs_utils.h"
0945b4fe 14
e9837bbb 15int modify_match_busid(char *busid, int add)
16{
30f05546 17 char attr_name[] = "match_busid";
1e940319 18 char command[SYSFS_BUS_ID_SIZE + 4];
30f05546 19 char match_busid_attr_path[SYSFS_PATH_MAX];
1e940319 20 int rc;
544c4605 21 int cmd_size;
e9837bbb 22
30f05546 23 snprintf(match_busid_attr_path, sizeof(match_busid_attr_path),
1e940319
VM
24 "%s/%s/%s/%s/%s/%s", SYSFS_MNT_PATH, SYSFS_BUS_NAME,
25 SYSFS_BUS_TYPE, SYSFS_DRIVERS_NAME, USBIP_HOST_DRV_NAME,
26 attr_name);
e9837bbb 27
28 if (add)
544c4605
JZ
29 cmd_size = snprintf(command, SYSFS_BUS_ID_SIZE + 4, "add %s",
30 busid);
e9837bbb 31 else
544c4605
JZ
32 cmd_size = snprintf(command, SYSFS_BUS_ID_SIZE + 4, "del %s",
33 busid);
e9837bbb 34
1e940319 35 rc = write_sysfs_attribute(match_busid_attr_path, command,
544c4605 36 cmd_size);
30f05546 37 if (rc < 0) {
38 dbg("failed to write match_busid: %s", strerror(errno));
1e940319 39 return -1;
e9837bbb 40 }
41
1e940319 42 return 0;
e9837bbb 43}