Reference

libusb20_dev_open(3)

open a USB device to retrieve descriptors and initiate transfers

NAME

libusb20_dev_open – open a USB device to retrieve descriptors and initiate transfers

SYNOPSIS

library “libusb”

#include <libusb20.h>

int

libusb20_dev_open(struct libusb20_device *pdev, uin16_t transfer_max);

DESCRIPTION

The libusb20_dev_open function opens a USB device to retrieve descriptors and initiate transfers. libusb20_dev_open accepts a pointer as pdev to a libusb20_device obtained from libusb20_be_device_foreach. A zero for transfer_max limits the device to only control transfers. Call libusb20_dev_close(3) to free resources taken by the open device handle.

RETURN VALUES

libusb20_dev_open returns one of the following to report success or failure:

LIBUSB20_SUCCESS,

The operation succeeds.

LIBUSB20_ERROR_BUSY,

The device is in use elsewhere.

LIBUSB20_ERROR_ACCESS,

A permissions issue.

LIBUSB20_ERROR_NO_DEVICE,

The device detached.

LIBUSB20_ERROR_NO_MEM

The library couldn't allocate memory.

Errors not listed here may be found in libusb20(3) and ⟨libusb20.h⟩.

EXAMPLES

    #include <libusb20.h>
    struct libusb20_backend *be = libusb20_be_alloc_default(NULL);
    struct libusb20_device *device = NULL;
    while ( (device = libusb20_be_device_foreach(be, device)) != NULL ) {
        if (libusb20_dev_open(device, 0) == LIBUSB20_SUCCESS) {
            /* do something */
            libusb20_dev_close(device);
        }
    }
    libusb20_be_free(be);

SEE ALSO

libusb20(3), libusb20_be_device_foreach(3), libusb20_dev_close(3)

History