DEVICE_GET_CHILDREN(9)                       FreeBSD Kernel Developer's Manual

NAME

     device_get_children, device_has_children - examine devices connected to a
     device

SYNOPSIS

     #include <sys/param.h>
     #include <sys/bus.h>

     int
     device_get_children(device_t dev, device_t **devlistp, int *devcountp);

     bool
     device_has_children(device_t dev);

DESCRIPTION

     The device_get_children function retrieves a list of all device instances
     currently connected to dev.  It returns the list in *devlistp and the
     count in *devcountp.  The memory allocated for the list should be freed
     using free(*devlistp, M_TEMP).  devlistp and devcountp are not changed
     when an error is returned.

     As a special case, if devlistp is null, no memory is allocated but the
     count is still returned in *devcountp.

     The device_has_children function returns true if dev has at least one
     child and false if it has none.

RETURN VALUES

     The device_get_children function returns zero on success and an
     appropriate error otherwise.  The device_has_children function returns
     true if the specified device has at least one child and false otherwise.

SEE ALSO

     devclass(9), device(9)

AUTHORS

     This manual page was written by Doug Rabson <dfr@FreeBSD.org> and
     Dag-Erling Smorgrav <des@FreeBSD.org>.

FreeBSD 15.1-STABLE-HBSD       November 28, 2025        DEVICE_GET_CHILDREN(9)