summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2009-02-27 17:27:16 +0000
committerthompsa <thompsa@FreeBSD.org>2009-02-27 17:27:16 +0000
commit1f16c7700d04a735aa3df3ed26ab236e680c21ad (patch)
tree799ccaf32ee5b67a3fd075acab472e59c72735d8 /lib
parent03a6b7577d94c2fbc97da1c5539e0bcae374f497 (diff)
downloadFreeBSD-src-1f16c7700d04a735aa3df3ed26ab236e680c21ad.zip
FreeBSD-src-1f16c7700d04a735aa3df3ed26ab236e680c21ad.tar.gz
Change USB over to make_dev() for all device nodes, previously it hooked into
the devfs clone handler to open the (invisible) devices on the fly. The /dev entries are layed out as follows, /dev/usbctl = master device /dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>) /dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint This also removes the custom permissions model from USB. Bump __FreeBSD_version to 800066. Submitted by: rink (earlier version)
Diffstat (limited to 'lib')
-rw-r--r--lib/libusb20/libusb20.3140
-rw-r--r--lib/libusb20/libusb20.c154
-rw-r--r--lib/libusb20/libusb20.h19
-rw-r--r--lib/libusb20/libusb20_int.h32
-rw-r--r--lib/libusb20/libusb20_ugen20.c194
5 files changed, 5 insertions, 534 deletions
diff --git a/lib/libusb20/libusb20.3 b/lib/libusb20/libusb20.3
index 3fe8642..bbf98fd 100644
--- a/lib/libusb20/libusb20.3
+++ b/lib/libusb20/libusb20.3
@@ -514,72 +514,6 @@ returned.
.
.Pp
.
-.Fn libusb20_dev_set_owner pdev uid gid
-This function will set the ownership of the given USB device.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_set_perm pdev mode
-This function will set the permissions of the given USB device.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_set_iface_owner pdev iface_index uid gid
-This function will set the ownership of the given USB interface.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_set_iface_perm pdev iface_index mode
-This function will set the permissions of the given USB interface.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_get_owner pdev puid pgid
-This function will retrieve the current USB device ownership.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_get_perm pdev pmode
-This function will retrieve the current USB device permissions.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_get_iface_owner pdev iface_index puid pgid
-This function will retrieve the current USB interface ownership for
-the given USB interface.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_dev_get_iface_perm pdev iface_index pmode
-This function will retrieve the current USB interface permissions for
-the given USB interface.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
.Fn libusb20_dev_get_device_desc pdev
This function returns a pointer to the decoded and host endian version
of the device descriptor.
@@ -663,39 +597,6 @@ A timeout value can be specified which is passed on to the
.Xr 2 poll
function.
.
-.Sh USB BUS OPERATIONS
-.
-.Fn libusb20_bus_set_owner pbackend bus_index uid gid
-This function will set the ownership for the given USB bus.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_bus_set_perm pbackend bus_index mode
-This function will set the permissions for the given USB bus.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_bus_get_owner pbackend bus_index puid pgid
-This function will retrieve the ownership for the given USB bus.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_bus_get_perm pbackend bus_index pmode
-This function will retrieve the permissions for the given USB bus.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.
.Sh USB BACKEND OPERATIONS
.
.Fn libusb20_be_get_template pbackend ptemp
@@ -772,47 +673,6 @@ returned.
If the given quirk does not exist LIBUSB20_ERROR_NOT_FOUND is
returned.
.
-.Pp
-.
-.Fn libusb20_be_set_owner pbackend uid gid
-This function will set the ownership for the given backend.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_be_set_perm pbackend mode
-This function will set the permissions for the given backend.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_be_get_owner pbackend puid pgid
-This function will retrieve the ownership of the given backend.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_be_get_perm pbackend pmode
-This function will retrieve the permissions of the given backend.
-.
-.
-This function returns zero on success else a LIBUSB20_ERROR value is
-returned.
-.
-.Pp
-.
-.Fn libusb20_be_alloc pmethods
-This is an internal function to allocate a USB backend.
-.
-.Pp
-.Fn libusb20_be_alloc_default void
-.Fn libusb20_be_alloc_freebsd void
.Fn libusb20_be_alloc_linux void
These functions are used to allocate a specific USB backend or the
operating system default USB backend. Allocating a backend is a way to
diff --git a/lib/libusb20/libusb20.c b/lib/libusb20/libusb20.c
index 52c447d..704480a 100644
--- a/lib/libusb20/libusb20.c
+++ b/lib/libusb20/libusb20.c
@@ -971,86 +971,6 @@ libusb20_dev_get_bus_number(struct libusb20_device *pdev)
}
int
-libusb20_dev_set_owner(struct libusb20_device *pdev, uid_t user, gid_t group)
-{
- return (pdev->beMethods->dev_set_owner(pdev, user, group));
-}
-
-int
-libusb20_dev_set_perm(struct libusb20_device *pdev, mode_t mode)
-{
- return (pdev->beMethods->dev_set_perm(pdev, mode));
-}
-
-int
-libusb20_dev_set_iface_owner(struct libusb20_device *pdev,
- uint8_t iface_index, uid_t user, gid_t group)
-{
- return (pdev->beMethods->dev_set_iface_owner(
- pdev, iface_index, user, group));
-}
-
-int
-libusb20_dev_set_iface_perm(struct libusb20_device *pdev,
- uint8_t iface_index, mode_t mode)
-{
- return (pdev->beMethods->dev_set_iface_perm(
- pdev, iface_index, mode));
-}
-
-int
-libusb20_dev_get_owner(struct libusb20_device *pdev, uid_t *user, gid_t *group)
-{
- uid_t a;
- gid_t b;
-
- if (user == NULL)
- user = &a;
- if (group == NULL)
- group = &b;
-
- return (pdev->beMethods->dev_get_owner(pdev, user, group));
-}
-
-int
-libusb20_dev_get_perm(struct libusb20_device *pdev, mode_t *mode)
-{
- mode_t a;
-
- if (mode == NULL)
- mode = &a;
- return (pdev->beMethods->dev_get_perm(pdev, mode));
-}
-
-int
-libusb20_dev_get_iface_owner(struct libusb20_device *pdev,
- uint8_t iface_index, uid_t *user, gid_t *group)
-{
- uid_t a;
- gid_t b;
-
- if (user == NULL)
- user = &a;
- if (group == NULL)
- group = &b;
-
- return (pdev->beMethods->dev_get_iface_owner(
- pdev, iface_index, user, group));
-}
-
-int
-libusb20_dev_get_iface_perm(struct libusb20_device *pdev,
- uint8_t iface_index, mode_t *mode)
-{
- mode_t a;
-
- if (mode == NULL)
- mode = &a;
- return (pdev->beMethods->dev_get_iface_perm(
- pdev, iface_index, mode));
-}
-
-int
libusb20_dev_get_iface_desc(struct libusb20_device *pdev,
uint8_t iface_index, char *buf, uint8_t len)
{
@@ -1061,45 +981,6 @@ libusb20_dev_get_iface_desc(struct libusb20_device *pdev,
pdev, iface_index, buf, len));
}
-/* USB bus operations */
-
-int
-libusb20_bus_set_owner(struct libusb20_backend *pbe,
- uint8_t bus, uid_t user, gid_t group)
-{
- return (pbe->methods->bus_set_owner(pbe, bus, user, group));
-}
-
-int
-libusb20_bus_set_perm(struct libusb20_backend *pbe, uint8_t bus, mode_t mode)
-{
- return (pbe->methods->bus_set_perm(pbe, bus, mode));
-}
-
-int
-libusb20_bus_get_owner(struct libusb20_backend *pbe,
- uint8_t bus, uid_t *user, gid_t *group)
-{
- uid_t a;
- gid_t b;
-
- if (user == NULL)
- user = &a;
- if (group == NULL)
- group = &b;
- return (pbe->methods->bus_get_owner(pbe, bus, user, group));
-}
-
-int
-libusb20_bus_get_perm(struct libusb20_backend *pbe, uint8_t bus, mode_t *mode)
-{
- mode_t a;
-
- if (mode == NULL)
- mode = &a;
- return (pbe->methods->bus_get_perm(pbe, bus, mode));
-}
-
/* USB backend operations */
int
@@ -1131,41 +1012,6 @@ libusb20_be_remove_dev_quirk(struct libusb20_backend *pbe,
}
int
-libusb20_be_set_owner(struct libusb20_backend *pbe, uid_t user, gid_t group)
-{
- return (pbe->methods->root_set_owner(pbe, user, group));
-}
-
-int
-libusb20_be_set_perm(struct libusb20_backend *pbe, mode_t mode)
-{
- return (pbe->methods->root_set_perm(pbe, mode));
-}
-
-int
-libusb20_be_get_owner(struct libusb20_backend *pbe, uid_t *user, gid_t *group)
-{
- uid_t a;
- gid_t b;
-
- if (user == NULL)
- user = &a;
- if (group == NULL)
- group = &b;
- return (pbe->methods->root_get_owner(pbe, user, group));
-}
-
-int
-libusb20_be_get_perm(struct libusb20_backend *pbe, mode_t *mode)
-{
- mode_t a;
-
- if (mode == NULL)
- mode = &a;
- return (pbe->methods->root_get_perm(pbe, mode));
-}
-
-int
libusb20_be_set_template(struct libusb20_backend *pbe, int temp)
{
return (pbe->methods->root_set_template(pbe, temp));
diff --git a/lib/libusb20/libusb20.h b/lib/libusb20/libusb20.h
index 051548e..89cb75e 100644
--- a/lib/libusb20/libusb20.h
+++ b/lib/libusb20/libusb20.h
@@ -253,14 +253,6 @@ int libusb20_dev_reset(struct libusb20_device *pdev);
int libusb20_dev_set_power_mode(struct libusb20_device *pdev, uint8_t power_mode);
uint8_t libusb20_dev_get_power_mode(struct libusb20_device *pdev);
int libusb20_dev_set_alt_index(struct libusb20_device *pdev, uint8_t iface_index, uint8_t alt_index);
-int libusb20_dev_set_owner(struct libusb20_device *pdev, uid_t user, gid_t group);
-int libusb20_dev_set_perm(struct libusb20_device *pdev, mode_t mode);
-int libusb20_dev_set_iface_owner(struct libusb20_device *pdev, uint8_t iface_index, uid_t user, gid_t group);
-int libusb20_dev_set_iface_perm(struct libusb20_device *pdev, uint8_t iface_index, mode_t mode);
-int libusb20_dev_get_owner(struct libusb20_device *pdev, uid_t *user, gid_t *group);
-int libusb20_dev_get_perm(struct libusb20_device *pdev, mode_t *mode);
-int libusb20_dev_get_iface_owner(struct libusb20_device *pdev, uint8_t iface_index, uid_t *user, gid_t *group);
-int libusb20_dev_get_iface_perm(struct libusb20_device *pdev, uint8_t iface_index, mode_t *mode);
int libusb20_dev_get_info(struct libusb20_device *pdev, struct usb2_device_info *pinfo);
int libusb20_dev_get_iface_desc(struct libusb20_device *pdev, uint8_t iface_index, char *buf, uint8_t len);
@@ -276,23 +268,12 @@ void libusb20_dev_free(struct libusb20_device *pdev);
void libusb20_dev_set_debug(struct libusb20_device *pdev, int debug);
void libusb20_dev_wait_process(struct libusb20_device *pdev, int timeout);
-/* USB bus operations */
-
-int libusb20_bus_set_owner(struct libusb20_backend *pbe, uint8_t bus, uid_t user, gid_t group);
-int libusb20_bus_set_perm(struct libusb20_backend *pbe, uint8_t bus, mode_t mode);
-int libusb20_bus_get_owner(struct libusb20_backend *pbe, uint8_t bus, uid_t *user, gid_t *group);
-int libusb20_bus_get_perm(struct libusb20_backend *pbe, uint8_t bus, mode_t *mode);
-
/* USB global operations */
int libusb20_be_get_dev_quirk(struct libusb20_backend *pbe, uint16_t index, struct libusb20_quirk *pq);
int libusb20_be_get_quirk_name(struct libusb20_backend *pbe, uint16_t index, struct libusb20_quirk *pq);
int libusb20_be_add_dev_quirk(struct libusb20_backend *pbe, struct libusb20_quirk *pq);
int libusb20_be_remove_dev_quirk(struct libusb20_backend *pbe, struct libusb20_quirk *pq);
-int libusb20_be_set_owner(struct libusb20_backend *be, uid_t user, gid_t group);
-int libusb20_be_set_perm(struct libusb20_backend *be, mode_t mode);
-int libusb20_be_get_owner(struct libusb20_backend *be, uid_t *user, gid_t *group);
-int libusb20_be_get_perm(struct libusb20_backend *be, mode_t *mode);
/* USB backend operations */
diff --git a/lib/libusb20/libusb20_int.h b/lib/libusb20/libusb20_int.h
index b65aac0..494aa6d 100644
--- a/lib/libusb20/libusb20_int.h
+++ b/lib/libusb20/libusb20_int.h
@@ -48,27 +48,11 @@ typedef int (libusb20_root_get_dev_quirk_t)(struct libusb20_backend *pbe, uint16
typedef int (libusb20_root_get_quirk_name_t)(struct libusb20_backend *pbe, uint16_t index, struct libusb20_quirk *pq);
typedef int (libusb20_root_add_dev_quirk_t)(struct libusb20_backend *pbe, struct libusb20_quirk *pq);
typedef int (libusb20_root_remove_dev_quirk_t)(struct libusb20_backend *pbe, struct libusb20_quirk *pq);
-typedef int (libusb20_bus_get_owner_t)(struct libusb20_backend *pbe, uint8_t bus, uid_t *user, gid_t *group);
-typedef int (libusb20_bus_get_perm_t)(struct libusb20_backend *pbe, uint8_t bus, mode_t *mode);
-typedef int (libusb20_bus_set_owner_t)(struct libusb20_backend *pbe, uint8_t bus, uid_t user, gid_t group);
-typedef int (libusb20_bus_set_perm_t)(struct libusb20_backend *pbe, uint8_t bus, mode_t mode);
typedef int (libusb20_close_device_t)(struct libusb20_device *pdev);
-typedef int (libusb20_dev_get_iface_owner_t)(struct libusb20_device *pdev, uint8_t iface_index, uid_t *user, gid_t *group);
-typedef int (libusb20_dev_get_iface_perm_t)(struct libusb20_device *pdev, uint8_t iface_index, mode_t *mode);
-typedef int (libusb20_dev_get_owner_t)(struct libusb20_device *pdev, uid_t *user, gid_t *group);
-typedef int (libusb20_dev_get_perm_t)(struct libusb20_device *pdev, mode_t *mode);
typedef int (libusb20_dev_get_info_t)(struct libusb20_device *pdev, struct usb2_device_info *pinfo);
typedef int (libusb20_dev_get_iface_desc_t)(struct libusb20_device *pdev, uint8_t iface_index, char *buf, uint8_t len);
-typedef int (libusb20_dev_set_iface_owner_t)(struct libusb20_device *pdev, uint8_t iface_index, uid_t user, gid_t group);
-typedef int (libusb20_dev_set_iface_perm_t)(struct libusb20_device *pdev, uint8_t iface_index, mode_t mode);
-typedef int (libusb20_dev_set_owner_t)(struct libusb20_device *pdev, uid_t user, gid_t group);
-typedef int (libusb20_dev_set_perm_t)(struct libusb20_device *pdev, mode_t mode);
typedef int (libusb20_init_backend_t)(struct libusb20_backend *pbe);
typedef int (libusb20_open_device_t)(struct libusb20_device *pdev, uint16_t transfer_count_max);
-typedef int (libusb20_root_get_owner_t)(struct libusb20_backend *pbe, uid_t *user, gid_t *group);
-typedef int (libusb20_root_get_perm_t)(struct libusb20_backend *pbe, mode_t *mode);
-typedef int (libusb20_root_set_owner_t)(struct libusb20_backend *pbe, uid_t user, gid_t group);
-typedef int (libusb20_root_set_perm_t)(struct libusb20_backend *pbe, mode_t mode);
typedef void (libusb20_exit_backend_t)(struct libusb20_backend *pbe);
typedef int (libusb20_root_set_template_t)(struct libusb20_backend *pbe, int temp);
typedef int (libusb20_root_get_template_t)(struct libusb20_backend *pbe, int *ptemp);
@@ -85,28 +69,12 @@ typedef int (libusb20_root_get_template_t)(struct libusb20_backend *pbe, int *pt
/* optional backend methods */ \
m(n, init_backend) \
m(n, exit_backend) \
- m(n, bus_set_owner) \
- m(n, bus_get_owner) \
- m(n, bus_set_perm) \
- m(n, bus_get_perm) \
m(n, dev_get_info) \
- m(n, dev_get_iface_owner) \
- m(n, dev_get_iface_perm) \
m(n, dev_get_iface_desc) \
- m(n, dev_get_owner) \
- m(n, dev_get_perm) \
- m(n, dev_set_iface_owner) \
- m(n, dev_set_iface_perm) \
- m(n, dev_set_owner) \
- m(n, dev_set_perm) \
m(n, root_get_dev_quirk) \
m(n, root_get_quirk_name) \
m(n, root_add_dev_quirk) \
m(n, root_remove_dev_quirk) \
- m(n, root_set_owner) \
- m(n, root_get_owner) \
- m(n, root_set_perm) \
- m(n, root_get_perm) \
m(n, root_set_template) \
m(n, root_get_template) \
/* mandatory device methods */ \
diff --git a/lib/libusb20/libusb20_ugen20.c b/lib/libusb20/libusb20_ugen20.c
index 17a54ea..1d97db6 100644
--- a/lib/libusb20/libusb20_ugen20.c
+++ b/lib/libusb20/libusb20_ugen20.c
@@ -50,28 +50,12 @@ static libusb20_open_device_t ugen20_open_device;
static libusb20_close_device_t ugen20_close_device;
static libusb20_get_backend_name_t ugen20_get_backend_name;
static libusb20_exit_backend_t ugen20_exit_backend;
-static libusb20_bus_set_owner_t ugen20_bus_set_owner;
-static libusb20_bus_get_owner_t ugen20_bus_get_owner;
-static libusb20_bus_set_perm_t ugen20_bus_set_perm;
-static libusb20_bus_get_perm_t ugen20_bus_get_perm;
-static libusb20_dev_get_iface_owner_t ugen20_dev_get_iface_owner;
-static libusb20_dev_get_iface_perm_t ugen20_dev_get_iface_perm;
-static libusb20_dev_get_owner_t ugen20_dev_get_owner;
-static libusb20_dev_get_perm_t ugen20_dev_get_perm;
static libusb20_dev_get_iface_desc_t ugen20_dev_get_iface_desc;
static libusb20_dev_get_info_t ugen20_dev_get_info;
-static libusb20_dev_set_iface_owner_t ugen20_dev_set_iface_owner;
-static libusb20_dev_set_iface_perm_t ugen20_dev_set_iface_perm;
-static libusb20_dev_set_owner_t ugen20_dev_set_owner;
-static libusb20_dev_set_perm_t ugen20_dev_set_perm;
static libusb20_root_get_dev_quirk_t ugen20_root_get_dev_quirk;
static libusb20_root_get_quirk_name_t ugen20_root_get_quirk_name;
static libusb20_root_add_dev_quirk_t ugen20_root_add_dev_quirk;
static libusb20_root_remove_dev_quirk_t ugen20_root_remove_dev_quirk;
-static libusb20_root_set_owner_t ugen20_root_set_owner;
-static libusb20_root_get_owner_t ugen20_root_get_owner;
-static libusb20_root_set_perm_t ugen20_root_set_perm;
-static libusb20_root_get_perm_t ugen20_root_get_perm;
static libusb20_root_set_template_t ugen20_root_set_template;
static libusb20_root_get_template_t ugen20_root_get_template;
@@ -152,7 +136,7 @@ ugen20_enumerate(struct libusb20_device *pdev, const char *id)
pdev->bus_number = ugen20_path_convert_one(&tmp);
pdev->device_address = ugen20_path_convert_one(&tmp);
- snprintf(buf, sizeof(buf), "/dev/ugen%u.%u",
+ snprintf(buf, sizeof(buf), "/dev/" USB_GENERIC_NAME "%u.%u",
pdev->bus_number, pdev->device_address);
f = open(buf, O_RDWR);
@@ -218,7 +202,7 @@ ugen20_enumerate(struct libusb20_device *pdev, const char *id)
/* generate a nice description for printout */
snprintf(pdev->usb_desc, sizeof(pdev->usb_desc),
- "ugen%u.%u: <%s %s> at usbus%u", pdev->bus_number,
+ USB_GENERIC_NAME "%u.%u: <%s %s> at usbus%u", pdev->bus_number,
pdev->device_address, devinfo.udi_product,
devinfo.udi_vendor, pdev->bus_number);
@@ -284,7 +268,7 @@ ugen20_init_backend(struct libusb20_backend *pbe)
memset(&state, 0, sizeof(state));
- state.f = open("/dev/usb", O_RDONLY);
+ state.f = open("/dev/" USB_DEVICE_NAME, O_RDONLY);
if (state.f < 0)
return (LIBUSB20_ERROR_OTHER);
@@ -379,7 +363,7 @@ ugen20_open_device(struct libusb20_device *pdev, uint16_t nMaxTransfer)
int g;
int error;
- snprintf(buf, sizeof(buf), "/dev/ugen%u.%u",
+ snprintf(buf, sizeof(buf), "/dev/" USB_GENERIC_NAME "%u.%u",
pdev->bus_number, pdev->device_address);
/*
@@ -873,7 +857,7 @@ ugen20_be_ioctl(uint32_t cmd, void *data)
int f;
int error;
- f = open("/dev/usb", O_RDONLY);
+ f = open("/dev/" USB_DEVICE_NAME, O_RDONLY);
if (f < 0)
return (LIBUSB20_ERROR_OTHER);
error = ioctl(f, cmd, data);
@@ -889,75 +873,6 @@ ugen20_be_ioctl(uint32_t cmd, void *data)
}
static int
-ugen20_be_do_perm(uint32_t get_cmd, uint32_t set_cmd, uint8_t bus,
- uint8_t dev, uint8_t iface, uid_t *uid,
- gid_t *gid, mode_t *mode)
-{
- struct usb2_dev_perm perm;
- int error;
-
- memset(&perm, 0, sizeof(perm));
-
- perm.bus_index = bus;
- perm.dev_index = dev;
- perm.iface_index = iface;
-
- error = ugen20_be_ioctl(get_cmd, &perm);
- if (error)
- return (error);
-
- if (set_cmd == 0) {
- if (uid)
- *uid = perm.user_id;
- if (gid)
- *gid = perm.group_id;
- if (mode)
- *mode = perm.mode;
- return (0);
- }
- if (uid)
- perm.user_id = *uid;
- if (gid)
- perm.group_id = *gid;
- if (mode)
- perm.mode = *mode;
-
- return (ugen20_be_ioctl(set_cmd, &perm));
-}
-
-static int
-ugen20_bus_set_owner(struct libusb20_backend *pbe,
- uint8_t bus, uid_t user, gid_t group)
-{
- return (ugen20_be_do_perm(USB_GET_BUS_PERM, USB_SET_BUS_PERM,
- bus, 0, 0, &user, &group, NULL));
-}
-
-static int
-ugen20_bus_get_owner(struct libusb20_backend *pbe, uint8_t bus,
- uid_t *user, gid_t *group)
-{
- return (ugen20_be_do_perm(USB_GET_BUS_PERM, 0,
- bus, 0, 0, user, group, NULL));
-}
-
-static int
-ugen20_bus_set_perm(struct libusb20_backend *pbe,
- uint8_t bus, mode_t mode)
-{
- return (ugen20_be_do_perm(USB_GET_BUS_PERM, USB_SET_BUS_PERM,
- bus, 0, 0, NULL, NULL, &mode));
-}
-
-static int
-ugen20_bus_get_perm(struct libusb20_backend *pbe,
- uint8_t bus, mode_t *mode)
-{
- return (ugen20_be_do_perm(USB_GET_BUS_PERM, 0,
- bus, 0, 0, NULL, NULL, mode));
-}
-
-static int
ugen20_dev_get_iface_desc(struct libusb20_device *pdev,
uint8_t iface_index, char *buf, uint8_t len)
{
@@ -986,59 +901,6 @@ ugen20_dev_get_info(struct libusb20_device *pdev,
}
static int
-ugen20_dev_get_iface_owner(struct libusb20_device *pdev,
- uint8_t iface_index, uid_t *user, gid_t *group)
-{
- return (ugen20_be_do_perm(USB_GET_IFACE_PERM, 0,
- pdev->bus_number, pdev->device_address, iface_index,
- user, group, NULL));
-}
-
-static int
-ugen20_dev_get_iface_perm(struct libusb20_device *pdev,
- uint8_t iface_index, mode_t *mode)
-{
- return (ugen20_be_do_perm(USB_GET_IFACE_PERM, 0,
- pdev->bus_number, pdev->device_address, iface_index,
- NULL, NULL, mode));
-}
-
-static int
-ugen20_dev_get_owner(struct libusb20_device *pdev,
- uid_t *user, gid_t *group)
-{
- return (ugen20_be_do_perm(USB_GET_DEVICE_PERM, 0,
- pdev->bus_number, pdev->device_address, 0,
- user, group, NULL));
-}
-
-static int
-ugen20_dev_get_perm(struct libusb20_device *pdev, mode_t *mode)
-{
- return (ugen20_be_do_perm(USB_GET_DEVICE_PERM, 0,
- pdev->bus_number, pdev->device_address, 0,
- NULL, NULL, mode));
-}
-
-static int
-ugen20_dev_set_iface_owner(struct libusb20_device *pdev,
- uint8_t iface_index, uid_t user, gid_t group)
-{
- return (ugen20_be_do_perm(USB_GET_IFACE_PERM, USB_SET_IFACE_PERM,
- pdev->bus_number, pdev->device_address, iface_index,
- &user, &group, NULL));
-}
-
-static int
-ugen20_dev_set_iface_perm(struct libusb20_device *pdev,
- uint8_t iface_index, mode_t mode)
-{
- return (ugen20_be_do_perm(USB_GET_IFACE_PERM, USB_SET_IFACE_PERM,
- pdev->bus_number, pdev->device_address, iface_index,
- NULL, NULL, &mode));
-}
-
-static int
ugen20_root_get_dev_quirk(struct libusb20_backend *pbe,
uint16_t quirk_index, struct libusb20_quirk *pq)
{
@@ -1137,52 +999,6 @@ ugen20_root_remove_dev_quirk(struct libusb20_backend *pbe,
}
static int
-ugen20_dev_set_owner(struct libusb20_device *pdev,
- uid_t user, gid_t group)
-{
- return (ugen20_be_do_perm(USB_GET_DEVICE_PERM, USB_SET_DEVICE_PERM,
- pdev->bus_number, pdev->device_address, 0,
- &user, &group, NULL));
-}
-
-static int
-ugen20_dev_set_perm(struct libusb20_device *pdev, mode_t mode)
-{
- return (ugen20_be_do_perm(USB_GET_DEVICE_PERM, USB_SET_DEVICE_PERM,
- pdev->bus_number, pdev->device_address, 0,
- NULL, NULL, &mode));
-}
-
-static int
-ugen20_root_set_owner(struct libusb20_backend *pbe,
- uid_t user, gid_t group)
-{
- return (ugen20_be_do_perm(USB_GET_ROOT_PERM, USB_SET_ROOT_PERM, 0, 0, 0,
- &user, &group, NULL));
-}
-
-static int
-ugen20_root_get_owner(struct libusb20_backend *pbe, uid_t *user, gid_t *group)
-{
- return (ugen20_be_do_perm(USB_GET_ROOT_PERM, 0, 0, 0, 0,
- user, group, NULL));
-}
-
-static int
-ugen20_root_set_perm(struct libusb20_backend *pbe, mode_t mode)
-{
- return (ugen20_be_do_perm(USB_GET_ROOT_PERM, USB_SET_ROOT_PERM, 0, 0, 0,
- NULL, NULL, &mode));
-}
-
-static int
-ugen20_root_get_perm(struct libusb20_backend *pbe, mode_t *mode)
-{
- return (ugen20_be_do_perm(USB_GET_ROOT_PERM, 0, 0, 0, 0,
- NULL, NULL, mode));
-}
-
-static int
ugen20_root_set_template(struct libusb20_backend *pbe, int temp)
{
return (ugen20_be_ioctl(USB_SET_TEMPLATE, &temp));
OpenPOWER on IntegriCloud