- Add two new API's to libusb20 which can be used to retrive information
about the parent USB device: - libusb20_dev_get_parent_address - libusb20_dev_get_parent_port - Rename libusb20_compat01.c into libusb01.c MFC after: 3 days
This commit is contained in:
parent
c1214139ee
commit
7549fd80dc
@ -22,7 +22,7 @@ MLINKS+= libusb.3 usb.3
|
||||
|
||||
# libusb 0.1 compat
|
||||
INCS+= usb.h
|
||||
SRCS+= libusb20_compat01.c
|
||||
SRCS+= libusb01.c
|
||||
|
||||
# libusb 1.0 compat
|
||||
INCS+= libusb.h
|
||||
@ -184,6 +184,8 @@ MLINKS += libusb20.3 libusb20_dev_get_device_desc.3
|
||||
MLINKS += libusb20.3 libusb20_dev_alloc_config.3
|
||||
MLINKS += libusb20.3 libusb20_dev_alloc.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_address.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_parent_address.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_parent_port.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_bus_number.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_mode.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_speed.3
|
||||
|
@ -159,6 +159,10 @@ USB access library (libusb -lusb)
|
||||
.Ft uint8_t
|
||||
.Fn libusb20_dev_get_address "struct libusb20_device *pdev"
|
||||
.Ft uint8_t
|
||||
.Fn libusb20_dev_get_parent_address "struct libusb20_device *pdev"
|
||||
.Ft uint8_t
|
||||
.Fn libusb20_dev_get_parent_port "struct libusb20_device *pdev"
|
||||
.Ft uint8_t
|
||||
.Fn libusb20_dev_get_bus_number "struct libusb20_device *pdev"
|
||||
.Ft uint8_t
|
||||
.Fn libusb20_dev_get_mode "struct libusb20_device *pdev"
|
||||
@ -756,12 +760,31 @@ is an internal function to allocate a new USB device.
|
||||
.Fn libusb20_dev_get_address
|
||||
returns the internal and not necessarily the real
|
||||
hardware address of the given USB device.
|
||||
Valid addresses start at one.
|
||||
.
|
||||
.Pp
|
||||
.
|
||||
.Fn libusb20_dev_get_parent_address
|
||||
returns the internal and not necessarily the real hardware address of
|
||||
the given parent USB HUB device.
|
||||
This value is zero for the root HUB which usually has a device address
|
||||
equal to one.
|
||||
Valid addresses start at one.
|
||||
.
|
||||
.Pp
|
||||
.
|
||||
.Fn libusb20_dev_get_parent_port
|
||||
returns the port number on the parent USB HUB device.
|
||||
This value is zero for the root HUB which usually has a device address
|
||||
equal to one.
|
||||
Valid port numbers start at one.
|
||||
.
|
||||
.Pp
|
||||
.
|
||||
.Fn libusb20_dev_get_bus_number
|
||||
returns the internal bus number which the given USB
|
||||
device belongs to.
|
||||
Valid bus numbers start at zero.
|
||||
.
|
||||
.Pp
|
||||
.
|
||||
|
@ -1056,6 +1056,18 @@ libusb20_dev_get_address(struct libusb20_device *pdev)
|
||||
return (pdev->device_address);
|
||||
}
|
||||
|
||||
uint8_t
|
||||
libusb20_dev_get_parent_address(struct libusb20_device *pdev)
|
||||
{
|
||||
return (pdev->parent_address);
|
||||
}
|
||||
|
||||
uint8_t
|
||||
libusb20_dev_get_parent_port(struct libusb20_device *pdev)
|
||||
{
|
||||
return (pdev->parent_port);
|
||||
}
|
||||
|
||||
uint8_t
|
||||
libusb20_dev_get_bus_number(struct libusb20_device *pdev)
|
||||
{
|
||||
|
@ -262,6 +262,8 @@ struct LIBUSB20_DEVICE_DESC_DECODED *libusb20_dev_get_device_desc(struct libusb2
|
||||
struct libusb20_config *libusb20_dev_alloc_config(struct libusb20_device *pdev, uint8_t config_index);
|
||||
struct libusb20_device *libusb20_dev_alloc(void);
|
||||
uint8_t libusb20_dev_get_address(struct libusb20_device *pdev);
|
||||
uint8_t libusb20_dev_get_parent_address(struct libusb20_device *pdev);
|
||||
uint8_t libusb20_dev_get_parent_port(struct libusb20_device *pdev);
|
||||
uint8_t libusb20_dev_get_bus_number(struct libusb20_device *pdev);
|
||||
uint8_t libusb20_dev_get_mode(struct libusb20_device *pdev);
|
||||
uint8_t libusb20_dev_get_speed(struct libusb20_device *pdev);
|
||||
|
@ -226,6 +226,8 @@ struct libusb20_device {
|
||||
uint8_t usb_mode;
|
||||
uint8_t usb_speed;
|
||||
uint8_t is_opened;
|
||||
uint8_t parent_address;
|
||||
uint8_t parent_port;
|
||||
|
||||
char usb_desc[96];
|
||||
};
|
||||
|
@ -195,6 +195,11 @@ ugen20_enumerate(struct libusb20_device *pdev, const char *id)
|
||||
break;
|
||||
}
|
||||
|
||||
/* get parent HUB index and port */
|
||||
|
||||
pdev->parent_address = devinfo.udi_hubindex;
|
||||
pdev->parent_port = devinfo.udi_hubport;
|
||||
|
||||
/* generate a nice description for printout */
|
||||
|
||||
snprintf(pdev->usb_desc, sizeof(pdev->usb_desc),
|
||||
|
Loading…
Reference in New Issue
Block a user