summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-08-12 08:51:19 +0000
committerkib <kib@FreeBSD.org>2017-08-12 08:51:19 +0000
commit2ed13913a2bca2fdfaf9ca11aca71d60004bd6c5 (patch)
tree48b13995c14a8c8be6285b980c8c5d1c2a3a0a60
parente203b8943676b875a13885c1a47c8c5d5b9fdf6d (diff)
downloadFreeBSD-src-2ed13913a2bca2fdfaf9ca11aca71d60004bd6c5.zip
FreeBSD-src-2ed13913a2bca2fdfaf9ca11aca71d60004bd6c5.tar.gz
MFC r322077:
Provide more detailed specification for major(), minor() and makedev().
-rw-r--r--share/man/man3/makedev.330
1 files changed, 21 insertions, 9 deletions
diff --git a/share/man/man3/makedev.3 b/share/man/man3/makedev.3
index 87ca953..8ce9c55 100644
--- a/share/man/man3/makedev.3
+++ b/share/man/man3/makedev.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 28, 2008
+.Dd August 3, 2017
.Dt MAKEDEV 3
.Os
.Sh NAME
@@ -43,7 +43,7 @@
.Sh DESCRIPTION
The
.Fn makedev
-macro allows a unique device number to be generated based on its
+macro returns a device number created from the provided
.Fa major
and
.Fa minor
@@ -52,13 +52,26 @@ The
.Fn major
and
.Fn minor
-macros can be used to obtain the original numbers from the device number
+macros return the original numbers from the device number
.Fa dev .
+In other words, for a value
+.Va dev
+of the type
+.Vt dev_t ,
+and values
+.Va ma , mi
+of the type
+.Vt int ,
+the assertions
+.Dl dev == makedev(major(dev), minor(dev))
+.Dl ma == major(makedev(ma, mi))
+.Dl mi == minor(makedev(ma, mi))
+are valid.
.Pp
In previous implementations of
.Fx
all block and character devices were uniquely identified by a pair of
-major and minor numbers.
+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
@@ -66,7 +79,8 @@ Later versions of
automatically generate a unique device number for each character device
visible in
.Pa /dev/ .
-These numbers are not divided in device classes.
+These numbers are not divided in device classes and are not guaranteed
+to be stable upon reboot or driver reload.
.Pp
On
.Fx
@@ -78,11 +92,9 @@ conventional way.
.Sh RETURN VALUES
The
.Fn major
-macro returns a device major number that has a value between 0 and 255.
-The
+and
.Fn minor
-macro returns a device minor number whose value can span the complete
-range of an
+macros return numbers whose value can span the complete range of an
.Vt int .
.Sh SEE ALSO
.Xr mknod 2 ,
OpenPOWER on IntegriCloud