libusb20: Add dev_open + be_device_foreach manuals
Manual pages for libusb20_open(3) and libusb20_be_device_foreach(3). PR: 291675 MFC after: 3 days Reviewed by: adrian (usb), ziaee (manpages) Differential Revision: https://reviews.freebsd.org/D54231
This commit is contained in:
committed by
Alexander Ziaee
parent
a404c2315b
commit
caf23c8e0b
+2
-4
@@ -1,5 +1,4 @@
|
||||
#
|
||||
#
|
||||
# Makefile for the FreeBSD specific LibUSB 2.0
|
||||
#
|
||||
|
||||
@@ -11,7 +10,8 @@ SRCS+= libusb20_desc.c
|
||||
SRCS+= libusb20_ugen20.c
|
||||
INCS+= libusb20.h
|
||||
INCS+= libusb20_desc.h
|
||||
MAN= libusb.3 libusb20.3
|
||||
MAN= libusb.3 libusb20.3 libusb20_be_device_foreach.3 \
|
||||
libusb20_dev_open.3
|
||||
MKLINT= no
|
||||
NOGCCERROR=
|
||||
PTHREAD_LIBS?= -lpthread
|
||||
@@ -229,7 +229,6 @@ MLINKS += libusb20.3 libusb20_dev_set_config_index.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_debug.3
|
||||
MLINKS += libusb20.3 libusb20_dev_get_fd.3
|
||||
MLINKS += libusb20.3 libusb20_dev_kernel_driver_active.3
|
||||
MLINKS += libusb20.3 libusb20_dev_open.3
|
||||
MLINKS += libusb20.3 libusb20_dev_process.3
|
||||
MLINKS += libusb20.3 libusb20_dev_request_sync.3
|
||||
MLINKS += libusb20.3 libusb20_dev_req_string_sync.3
|
||||
@@ -261,7 +260,6 @@ MLINKS += libusb20.3 libusb20_be_get_quirk_name.3
|
||||
MLINKS += libusb20.3 libusb20_be_add_dev_quirk.3
|
||||
MLINKS += libusb20.3 libusb20_be_remove_dev_quirk.3
|
||||
MLINKS += libusb20.3 libusb20_be_alloc_default.3
|
||||
MLINKS += libusb20.3 libusb20_be_device_foreach.3
|
||||
MLINKS += libusb20.3 libusb20_be_dequeue_device.3
|
||||
MLINKS += libusb20.3 libusb20_be_enqueue_device.3
|
||||
MLINKS += libusb20.3 libusb20_be_free.3
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
.\"
|
||||
.\" Copyright (c) 2025 Rick Parrish <unitrunker@unitrunker.net>
|
||||
.\"
|
||||
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||
.\"
|
||||
.Dd December 14, 2025
|
||||
.Dt LIBUSB20 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm libusb20_be_device_foreach
|
||||
.Nd iterate connected USB devices
|
||||
.Sh SYNOPSIS
|
||||
.Lb libusb
|
||||
.In libusb20.h
|
||||
.Ft struct libusb20_device *
|
||||
.Fn libusb20_be_device_foreach "struct libusb20_backend *pbe" "struct libusb20_device *pdev"
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
function iterates connected USB devices, one device at a time.
|
||||
A backend pointer for
|
||||
.Fa pbe
|
||||
may be obtained by calling
|
||||
.Xr libusb20_be_alloc_default 3 .
|
||||
The starting value of
|
||||
.Fa pdev
|
||||
is NULL.
|
||||
Calling
|
||||
.Nm libusb20_be_device_foreach
|
||||
again with
|
||||
.Fa pdev
|
||||
set to the return value of the previous call yields the next device.
|
||||
To begin interacting with a USB device, pass the pointer in a call to
|
||||
.Xr libusb20_dev_open 3 .
|
||||
.Sh RETURN VALUES
|
||||
.Nm
|
||||
returns NULL for end of list.
|
||||
Otherwise this is a pointer to the next device.
|
||||
.Sh EXAMPLES
|
||||
.Bd -literal
|
||||
#include <libusb20.h>
|
||||
struct libusb20_backend *be = libusb20_be_alloc_default();
|
||||
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);
|
||||
.Ed
|
||||
.Sh SEE ALSO
|
||||
.Xr libusb20 3 ,
|
||||
.Xr libusb20_be_alloc_default 3 ,
|
||||
.Xr libusb20_be_free 3 ,
|
||||
.Xr libusb20_dev_open 3
|
||||
@@ -0,0 +1,69 @@
|
||||
.\"
|
||||
.\" Copyright (c) 2025 Rick Parrish <unitrunker@unitrunker.net>
|
||||
.\"
|
||||
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||
.\"
|
||||
.Dd December 14, 2025
|
||||
.Dt LIBUSB20 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm libusb20_dev_open
|
||||
.Nd open a USB device to retrieve descriptors and initiate transfers
|
||||
.Sh SYNOPSIS
|
||||
.Lb libusb
|
||||
.In libusb20.h
|
||||
.Ft int
|
||||
.Fn libusb20_dev_open "struct libusb20_device *pdev" "uin16_t transfer_max"
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
function opens a USB device to retrieve descriptors and initiate transfers.
|
||||
.Nm
|
||||
accepts a pointer as
|
||||
.Fa pdev
|
||||
to a libusb20_device obtained from
|
||||
.Nm libusb20_be_device_foreach .
|
||||
A zero for
|
||||
.Fa transfer_max
|
||||
limits the device to only control transfers.
|
||||
Call
|
||||
.Xr libusb20_dev_close 3
|
||||
to free resources taken by the open device handle.
|
||||
.Sh RETURN VALUES
|
||||
.Nm
|
||||
returns one of the following to report success or failure:
|
||||
.Pp
|
||||
.Bl -tag -width "LIBUSB20_ERROR_NO_DEVICE," -compact
|
||||
.It Er LIBUSB20_SUCCESS ,
|
||||
The operation succeeds.
|
||||
.It Er LIBUSB20_ERROR_BUSY ,
|
||||
The device is in use elsewhere.
|
||||
.It Er LIBUSB20_ERROR_ACCESS ,
|
||||
A permissions issue.
|
||||
.It Er LIBUSB20_ERROR_NO_DEVICE ,
|
||||
The device detached.
|
||||
.It Er LIBUSB20_ERROR_NO_MEM
|
||||
The library couldn't allocate memory.
|
||||
.El
|
||||
.Pp
|
||||
Errors not listed here may be found in
|
||||
.Xr libusb20 3
|
||||
and
|
||||
.In libusb20.h .
|
||||
.Sh EXAMPLES
|
||||
.Bd -literal
|
||||
#include <libusb20.h>
|
||||
struct libusb20_backend *be = libusb20_be_alloc_default();
|
||||
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);
|
||||
.Ed
|
||||
.Sh SEE ALSO
|
||||
.Xr libusb20 3 ,
|
||||
.Xr libusb20_be_device_foreach 3 ,
|
||||
.Xr libusb20_dev_close 3
|
||||
Reference in New Issue
Block a user