makedev, major, minor − manage a device number


     , unsigned int dev_t makedev(unsigned int maj

     );unsigned int major(dev_t dev );unsigned int
minor(dev_t dev

A device ID consists of two parts: a major ID, identifying
the class of the device, and a minor ID, identifying a
specific instance of a device in that class.  A device ID is
represented using the type

     Given major and minor device IDs, combines these to
produce a device ID, returned as the function result.  This
device ID can be given to for example.

     The and functions perform the converse task: given a
device ID, they return, respectively, the major and minor
components.  These macros can be useful to, for example,
decompose the device IDs in the structure returned by

For an explanation of the terms used in this section, see

│Interface                   Attribute     Value   │
│                            │ Thread safety MT‐Safe │

The and functions are not specified in POSIX.1, but are
present on many other systems.

These interfaces are defined as macros.  Since glibc 2.3.3,
they have been aliases for three GNU‐specific functions: and
The latter names are exported, but the traditional names are
more portable.

     The BSDs expose the definitions for these macros via
Depending on the version, glibc also exposes definitions for
these macros from that header file if suitable feature test
macros are defined.  However, this behavior was deprecated
in glibc 2.25, and since glibc 2.28, no longer provides
these definitions.

This page is part of release 5.07 of the Linux man‐pages
project.  A description of the project, information about
reporting bugs, and the latest version of this page, can be
found at−pages/.