---
name: "devclass"
section: "9"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/devclass"
---

# devclass(9)

object representing a class of devices

## NAME

**devclass** – object representing a class of devices

## SYNOPSIS

*typedef* *struct* *devclass* *\*devclass\_t*;

## DESCRIPTION

The *devclass* object has two main functions in the system. The first is to manage the allocation of unit numbers for device instances and the second is to hold the list of device drivers for a particular bus type. Each *devclass* has a name and there cannot be two devclasses with the same name. This ensures that unique unit numbers are allocated to device instances. All instances with the same name are treated as being the same.

When no specific unit number is needed, *DEVICE\_UNIT\_ANY* is used.

## SEE ALSO

[devclass\_add\_driver(9)](/devclass_add_driver/9.md), [devclass\_delete\_driver(9)](/devclass_delete_driver/9.md), [devclass\_find(9)](/devclass_find/9.md), [devclass\_find\_driver(9)](/devclass_find_driver/9.md), [devclass\_get\_device(9)](/devclass_get_device/9.md), [devclass\_get\_devices(9)](/devclass_get_devices/9.md), [devclass\_get\_maxunit(9)](/devclass_get_maxunit/9.md), [devclass\_get\_name(9)](/devclass_get_name/9.md), [devclass\_get\_softc(9)](/devclass_get_softc/9.md), [device(9)](/device/9.md), [driver(9)](/driver/9.md)

## AUTHORS

This manual page was written by Doug Rabson.
