05-04-2011
I've known for a long time that device files are in /dev. However, I forget how I came to know that. So remember this thread!! Then when someone asks you 30 years from now how you knew that device files are in /dev you can refer him to this forum. We always appreciate referrals from our members.
So I list the files in /dev. Then, with awk I select only those with field 5 equal to "1," which is the major number. And I sort the output by 1st character (which is driver type -- actually file type but same difference) and field 6 (which is the minor number).
This User Gave Thanks to Perderabo For This Post:
4 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I am looking for a guide on how to program for either the Linux or FreeBSD (includes 4.4BSD, NetBSD or OpenBSD) kernel. I would prefer to learn how to write device drivers, but anything would help.
If you know, please email me at *removed* or leave a post here
Regards,
Farhan (0 Replies)
Discussion started by: Farhan
0 Replies
2. Solaris
I've been researching minimizeing Solaris 8 and found that on the web page http://www.sun.com/bigadmin/content/packagelist/s8u7PkgList/p2.html the package SUNWglmr
is listed as "rasctrl environment monitoring driver for i2c, (Root) (32-bit)" while in the document "Solaris 8 minimize-updt1.pdf"... (1 Reply)
Discussion started by: roygoodwin
1 Replies
3. Linux
I recently started working with Linux and wrote my first device driver for a hardware chip controlled by a host CPU running Linux 2.6.x kernel.
1. The user space process makes an IOCTL call with pointer to a user memory buffer.
2. The kernel device driver in the big switch-case of IOCTL,... (1 Reply)
Discussion started by: agaurav
1 Replies
4. UNIX for Advanced & Expert Users
Hi all!
I am trying to register a device in an existing device class, but I am
having trouble getting the pointer to an existing class.
I can create a class in a module, get the pointer to it and then use
it to register the device with:
*cl = class_create(THIS_MODULE, className);... (0 Replies)
Discussion started by: hdaniel@ualg.pt
0 Replies
LEARN ABOUT FREEBSD
minor
MAKEDEV(3) BSD 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 allows a unique device number to be generated based on its major and minor number. The major() and minor() macros can be
used to obtain the original numbers from the device number dev.
In previous implementations of FreeBSD all block and character devices were uniquely identified by a pair of 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.
On FreeBSD these macros are only used by utilities that need to exchange numbers with other operating systems that may use different encod-
ings for dev_t, but also applications that present these numbers to the user in a more conventional way.
RETURN VALUES
The major() macro returns a device major number that has a value between 0 and 255. The minor() macro returns a device minor number whose
value can span the complete range of an int.
SEE ALSO
mknod(2), devname(3), devfs(5)
BSD
September 28, 2008 BSD