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 num-
     bers 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 mi-
     nor 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.

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

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

FreeBSD ports 15.quarterly	 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+15.1-RELEASE+and+Ports.quarterly>

home | help