Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MAKEDEV(3)		    Library Functions Manual		    MAKEDEV(3)

NAME
       makedev,	major, minor --	device number conversion

SYNOPSIS
       #include	<sys/types.h>

       dev_t
       makedev(int major, int minor);

       int
       major(dev_t dev);

       int
       minor(dev_t dev);

DESCRIPTION
       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 as-
       sertions
	     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  di-
       vided 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 ex-
       change numbers with other operating systems that	may use	different  en-
       codings	for dev_t, but also applications that present these numbers to
       the user	in a more conventional way.

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

SEE ALSO
       mknod(2), devname(3), devfs(5)

FreeBSD	14.3			August 3, 2017			    MAKEDEV(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=makedev&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help