GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MAKEDEV(3) FreeBSD Library Functions Manual MAKEDEV(3)

makedev, major, minor
device number conversion

#include <sys/types.h>
dev_t
makedev(int major, int minor);
int
major(dev_t dev);
int
minor(dev_t dev);

The makedev() macro returns a device number created from the provided major and minor number. The major() and minor() macros return the original numbers from the device number dev. In other words, for a value dev of the type dev_t, and values ma, mi of the type int, the assertions
dev == makedev(major(dev), minor(dev))
ma == major(makedev(ma, mi))
mi == minor(makedev(ma, mi))
are valid.
In previous implementations of FreeBSD all block and character devices were uniquely identified by a pair of stable major and minor numbers. The major number referred to a certain device class (e.g. disks, TTYs) while the minor number identified an instance within the device class. Later versions of FreeBSD automatically generate a unique device number for each character device visible in /dev/. These numbers are not divided in device classes and are not guaranteed to be stable upon reboot or driver reload.
On FreeBSD these macros are only used by utilities that need to exchange numbers with other operating systems that may use different encodings for dev_t, but also applications that present these numbers to the user in a more conventional way.

The major() and minor() macros return numbers whose value can span the complete range of an int.

mknod(2), devname(3), devfs(5)
August 3, 2017 FreeBSD 12.0-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.