summaryrefslogtreecommitdiffstats
path: root/Documentation/devices.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devices.tex')
-rw-r--r--Documentation/devices.tex1270
1 files changed, 1270 insertions, 0 deletions
diff --git a/Documentation/devices.tex b/Documentation/devices.tex
new file mode 100644
index 000000000..f7997b9a9
--- /dev/null
+++ b/Documentation/devices.tex
@@ -0,0 +1,1270 @@
+\documentstyle{article}
+%
+% Adopt somewhat reasonable margins, so it doesn't take a million
+% pages to print... :-) If you're actually putting this in print, you
+% may wish to change these.
+%
+\oddsidemargin=0in
+\textwidth=6.5in
+\topmargin=0in
+\headheight=0.5in
+\headsep=0.25in
+\textheight=7.5in
+\footskip=0.75in
+\footheight=0.5in
+%
+\begin{document}
+\newcommand{\file}{\tt} % Style to use for a filename
+\newcommand{\hex}{\tt} % Style to use for a hex number
+\newcommand{\ud}{(Under development)} % Abbreviation
+\newcommand{\1}{\({}^1\)}
+\newcommand{\2}{\({}^2\)}
+\newcommand{\3}{\({}^3\)}
+\newcommand{\4}{\({}^4\)}
+\newlength{\dig}
+\settowidth{\dig}{0} % Get width of digits
+\newcommand{\num}[2]{\makebox[#1\dig][r]{#2}}
+\newcommand{\major}[4]{\num{3}{#1}#2 \> #3 \> #4 \\}
+\newcommand{\minor}[3]{\> \> \num{3}{#1} \> {\file #2} \> #3 \\}
+\newcommand{\minordots}{\> \> \> \dots \\}
+\newenvironment{devicelist}%
+ {\begin{tabbing}%
+000--000 \= blockxxx \= 000 \= {\file /dev/crambamboli} \= foo \kill}%
+ {\end{tabbing}}
+\newcommand{\link}[4]{{\file #1} \> {\file #2} \> #3 \> #4 \\}
+\newcommand{\vlink}[4]{{\file #1} \> {\em #2 \/} \> #3 \> #4 \\}
+\newcommand{\node}[3]{{\file #1} \> #2 \> #3 \\}
+\newenvironment{nodelist}%
+ {\begin{tabbing}%
+{\file /dev/crambamboli} \= {\file /proc/self/fd/99} \= symbolicxxx \=
+foo \kill}%
+ {\end{tabbing}}
+%
+\title{{\bf Linux Allocated Devices}}
+\author{Maintained by H. Peter Anvin $<$hpa@zytor.com$>$}
+\date{Last revised: November 18, 1996}
+\maketitle
+%
+\noindent
+This list is the successor to Rick Miller's Linux Device List, which
+he stopped maintaining when he got busy with other things in 1993. It
+is a registry of allocated major device numbers, as well as the
+recommended {\file /dev} directory nodes for these devices.
+
+The latest version of this list is included with the Linux kernel
+sources in \LaTeX\ and ASCII form. In case of discrepancy, the
+\LaTeX\ version is authoritative.
+
+This document is included by reference into the Linux Filesystem
+Standard (FSSTND). The FSSTND is available via FTP from
+tsx-11.mit.edu in the directory {\file
+/pub/linux/docs/linux-standards/fsstnd}.
+
+To have a major number allocated, or a minor number in situations
+where that applies (e.g.\ busmice), please contact me with the
+appropriate device information. Also, if you have additional
+information regarding any of the devices listed below, or if I have
+made a mistake, I would greatly appreciate a note. When sending me
+mail, please include the word ``device'' in the subject so your mail
+won't accidentally get buried!
+
+Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
+platform only. Allocations marked (68k/Atari) apply to Linux/68k on
+the Atari platform only.
+
+This document is in the public domain. The author requests, however,
+that semantically altered versions are not distributed without
+permission of the author, assuming the author can be contacted without
+an unreasonable effort.
+
+In particular, please don't sent patches for this list to Linus, at
+least not without contacting me first.
+
+I do not have any information about these devices beyond what appears
+on this list. Any such information requests will be deleted without
+reply.
+
+\section{Major numbers}
+
+\begin{devicelist}
+\major{ 0}{}{ }{Unnamed devices (e.g. non-device mounts)}
+\major{ 1}{}{char }{Memory devices}
+\major{ }{}{block}{RAM disk}
+\major{ 2}{}{char }{Pseudo-TTY masters}
+\major{ }{}{block}{Floppy disks}
+\major{ 3}{}{char }{Pseudo-TTY slaves}
+\major{ }{}{block}{First MFM, RLL and IDE hard disk/CD-ROM interface}
+\major{ 4}{}{char }{TTY devices}
+\major{ 5}{}{char }{Alternate TTY devices}
+\major{ 6}{}{char }{Parallel printer devices}
+\major{ 7}{}{char }{Virtual console access devices}
+\major{ }{}{block}{Loopback devices}
+\major{ 8}{}{block}{SCSI disk devices}
+\major{ 9}{}{char }{SCSI tape devices}
+\major{ }{}{block}{Metadisk (RAID) devices}
+\major{10}{}{char }{Non-serial mice, misc features}
+\major{11}{}{char }{Raw keyboard device}
+\major{ }{}{block}{SCSI CD-ROM devices}
+\major{12}{}{char }{QIC-02 tape}
+\major{ }{}{block}{MSCDEX CD-ROM callback support}
+\major{13}{}{char }{PC speaker}
+\major{ }{}{block}{8-bit MFM/RLL/IDE controller}
+\major{14}{}{char }{Sound card}
+\major{ }{}{block}{BIOS harddrive callback support}
+\major{15}{}{char }{Joystick}
+\major{ }{}{block}{Sony CDU-31A/CDU-33A CD-ROM}
+\major{16}{}{char }{Non-SCSI scanners}
+\major{ }{}{block}{GoldStar CD-ROM}
+\major{17}{}{char }{Chase serial card}
+\major{ }{}{block}{Optics Storage CD-ROM}
+\major{18}{}{char }{Chase serial card -- alternate devices}
+\major{ }{}{block}{Sanyo CD-ROM}
+\major{19}{}{char }{Cyclades serial card}
+\major{ }{}{block}{Double compressed disk}
+\major{20}{}{char }{Cyclades serial card -- alternate devices}
+\major{ }{}{block}{Hitachi CD-ROM}
+\major{21}{}{char }{Generic SCSI access}
+\major{22}{}{char }{Digiboard serial card}
+\major{ }{}{block}{Second IDE hard disk/CD-ROM interface}
+\major{23}{}{char }{Digiboard serial card -- alternate devices}
+\major{ }{}{block}{Mitsumi proprietary CD-ROM}
+\major{24}{}{char }{Stallion serial card}
+\major{ }{}{block}{Sony CDU-535 CD-ROM}
+\major{25}{}{char }{Stallion serial card -- alternate devices}
+\major{ }{}{block}{First Matsushita (Panasonic/SoundBlaster) CD-ROM}
+\major{26}{}{char }{Quanta WinVision frame grabber}
+\major{ }{}{block}{Second Matsushita (Panasonic/SoundBlaster) CD-ROM}
+\major{27}{}{char }{QIC-117 tape}
+\major{ }{}{block}{Third Matsushita (Panasonic/SoundBlaster) CD-ROM}
+\major{28}{}{char }{Stallion serial card -- card programming}
+\major{ }{}{char }{Atari SLM ACSI laser printer (68k/Atari)}
+\major{ }{}{block}{Fourth Matsushita (Panasonic/SoundBlaster) CD-ROM}
+\major{ }{}{block}{ACSI disk (68k/Atari)}
+\major{29}{}{char }{Universal frame buffer}
+\major{ }{}{block}{Aztech/Orchid/Okano/Wearnes CD-ROM}
+\major{30}{}{char }{iBCS-2}
+\major{ }{}{block}{Philips LMS-205 CD-ROM}
+\major{31}{}{char }{MPU-401 MIDI}
+\major{ }{}{block}{ROM/flash memory card}
+\major{32}{}{char }{Specialix serial card}
+\major{ }{}{block}{Philips LMS-206 CD-ROM}
+\major{33}{}{char }{Specialix serial card -- alternate devices}
+\major{ }{}{block}{Third IDE hard disk/CD-ROM interface}
+\major{34}{}{char }{Z8530 HDLC driver}
+\major{ }{}{block}{Fourth IDE hard disk/CD-ROM interface}
+\major{35}{}{char }{tclmidi MIDI driver}
+\major{ }{}{block}{Modular RAM disk}
+\major{36}{}{char }{Netlink support}
+\major{ }{}{block}{MCA ESDI hard disk}
+\major{37}{}{char }{IDE tape}
+\major{ }{}{block}{Zorro II ramdisk}
+\major{38}{}{char }{Myricom PCI Myrinet board}
+\major{ }{}{block}{Reserved for Linux/AP+}
+\major{39}{}{char }{ML-16P experimental I/O board}
+\major{ }{}{block}{Reserved for Linux/AP+}
+\major{40}{}{char }{Matrox Meteor frame grabber}
+\major{ }{}{block}{Syquest EZ135 parallel port removable drive}
+\major{41}{}{char }{Yet Another Micro Monitor}
+\major{ }{}{block}{MicroSolutions BackPack parallel port CD-ROM}
+\major{42}{}{}{Demo/sample use}
+\major{43}{}{char }{isdn4linux virtual modem}
+\major{44}{}{char }{isdn4linux virtual modem -- alternate devices}
+\major{45}{}{char }{isdn4linux ISDN BRI driver}
+\major{46}{}{char }{Comtrol Rocketport serial card}
+\major{47}{}{char }{Comtrol Rocketport serial card -- alternate devices}
+\major{48}{}{char }{SDL RISCom serial card}
+\major{49}{}{char }{SDL RISCom serial card -- alternate devices}
+\major{50}{}{char }{Reserved for GLINT}
+\major{51}{}{char }{Baycom radio modem}
+\major{52}{}{char }{Spellcaster DataComm/BRI ISDN card}
+\major{53}{}{char }{BDM interface for remote debugging MC683xx microcontrollers}
+\major{54}{}{char }{Electrocardiognosis Holter serial card}
+\major{55}{}{char }{DSP56001 digital signal processor}
+\major{56}{}{char }{Apple Desktop Bus}
+\major{57}{}{char }{Hayes ESP serial card}
+\major{58}{}{char }{Hayes ESP serial card -- alternate devices}
+\major{59}{}{char }{sf firewall package}
+\major{60}{--63}{}{Local/experimental use}
+\major{64}{--119}{}{Unallocated}
+\major{120}{--127}{}{Local/experimental use}
+\major{128}{--239}{}{Unallocated}
+\major{240}{--254}{}{Local/experimental use}
+\major{255}{}{}{Reserved}
+\end{devicelist}
+
+\section{Minor numbers}
+
+
+\begin{devicelist}
+\major{0}{}{}{Unnamed devices (e.g. non-device mounts)}
+ \minor{0}{}{reserved as null device number}
+\end{devicelist}
+
+\begin{devicelist}
+\major{1}{}{char}{Memory devices}
+ \minor{1}{/dev/mem}{Physical memory access}
+ \minor{2}{/dev/kmem}{Kernel virtual memory access}
+ \minor{3}{/dev/null}{Null device}
+ \minor{4}{/dev/port}{I/O port access}
+ \minor{5}{/dev/zero}{Null byte source}
+ \minor{6}{/dev/core}{OBSOLETE -- should be a link to {\file /proc/kcore}}
+ \minor{7}{/dev/full}{Returns ENOSPC on write}
+ \minor{8}{/dev/random}{Nondeterministic random number generator}
+ \minor{9}{/dev/urandom}{Less secure, but faster random number generator}
+\\
+\major{}{}{block}{RAM disk}
+ \minor{0}{/dev/ram0}{First RAM disk}
+ \minordots
+ \minor{7}{/dev/ram7}{Eighth RAM disk}
+ \minor{250}{/dev/initrd}{Initial RAM disk}
+\end{devicelist}
+
+\noindent
+Earlier kernels had {\file /dev/ramdisk} (1, 1) here. {\file /dev/initrd}
+refers to a RAM disk which was preloaded by the boot loader.
+
+\begin{devicelist}
+\major{2}{}{char}{Pseudo-TTY masters}
+ \minor{0}{/dev/ptyp0}{First PTY master}
+ \minor{1}{/dev/ptyp1}{Second PTY master}
+ \minordots
+ \minor{255}{/dev/ptyef}{256th PTY master}
+\end{devicelist}
+
+\noindent
+Pseudo-TTY's are named as follows:
+\begin{itemize}
+\item Masters are {\file pty}, slaves are {\file tty};
+\item the fourth letter is one of {\file pqrstuvwxyzabcde} indicating
+the 1st through 16th series of 16 pseudo-ttys each, and
+\item the fifth letter is one of {\file 0123456789abcdef} indicating
+the position within the series.
+\end{itemize}
+
+\begin{devicelist}
+\major{}{}{block}{Floppy disks}
+ \minor{0}{/dev/fd0}{Controller 1, drive 1 autodetect}
+ \minor{1}{/dev/fd1}{Controller 1, drive 2 autodetect}
+ \minor{2}{/dev/fd2}{Controller 1, drive 3 autodetect}
+ \minor{3}{/dev/fd3}{Controller 1, drive 4 autodetect}
+ \minor{128}{/dev/fd4}{Controller 2, drive 1 autodetect}
+ \minor{129}{/dev/fd5}{Controller 2, drive 2 autodetect}
+ \minor{130}{/dev/fd6}{Controller 2, drive 3 autodetect}
+ \minor{131}{/dev/fd7}{Controller 2, drive 4 autodetect}
+\\
+\major{}{}{}{To specify format, add to the autodetect device number}
+ \minor{ 0}{/dev/fd?}{Autodetect format}
+ \minor{ 4}{/dev/fd?d360}{5.25" \num{4}{360}K in a \num{4}{360}K drive\1}
+ \minor{ 20}{/dev/fd?h360}{5.25" \num{4}{360}K in a 1200K drive\1}
+ \minor{ 48}{/dev/fd?h410}{5.25" \num{4}{410}K in a 1200K drive}
+ \minor{ 64}{/dev/fd?h420}{5.25" \num{4}{420}K in a 1200K drive}
+ \minor{ 24}{/dev/fd?h720}{5.25" \num{4}{720}K in a 1200K drive}
+ \minor{ 80}{/dev/fd?h880}{5.25" \num{4}{880}K in a 1200K drive\1}
+ \minor{ 8}{/dev/fd?h1200}{5.25" 1200K in a 1200K drive\1}
+ \minor{ 40}{/dev/fd?h1440}{5.25" 1440K in a 1200K drive\1}
+ \minor{ 56}{/dev/fd?h1476}{5.25" 1476K in a 1200K drive}
+ \minor{ 72}{/dev/fd?h1494}{5.25" 1494K in a 1200K drive}
+ \minor{ 92}{/dev/fd?h1600}{5.25" 1600K in a 1200K drive\1}
+ \minor{}{}{}
+ \minor{ 12}{/dev/fd?u360}{3.5" \num{4}{360}K Double Density}
+ \minor{ 16}{/dev/fd?u720}{3.5" \num{4}{720}K Double Density\1}
+ \minor{120}{/dev/fd?u800}{3.5" \num{4}{800}K Double Density\2}
+ \minor{ 52}{/dev/fd?u820}{3.5" \num{4}{820}K Double Density}
+ \minor{ 68}{/dev/fd?u830}{3.5" \num{4}{830}K Double Density}
+ \minor{ 84}{/dev/fd?u1040}{3.5" 1040K Double Density\1}
+ \minor{ 88}{/dev/fd?u1120}{3.5" 1120K Double Density\1}
+ \minor{ 28}{/dev/fd?u1440}{3.5" 1440K High Density\1}
+ \minor{124}{/dev/fd?u1600}{3.5" 1600K High Density\1}
+ \minor{ 44}{/dev/fd?u1680}{3.5" 1680K High Density\3}
+ \minor{ 60}{/dev/fd?u1722}{3.5" 1722K High Density}
+ \minor{ 76}{/dev/fd?u1743}{3.5" 1743K High Density}
+ \minor{ 96}{/dev/fd?u1760}{3.5" 1760K High Density}
+ \minor{116}{/dev/fd?u1840}{3.5" 1840K High Density\3}
+ \minor{100}{/dev/fd?u1920}{3.5" 1920K High Density\1}
+ \minor{ 32}{/dev/fd?u2880}{3.5" 2880K Extra Density\1}
+ \minor{104}{/dev/fd?u3200}{3.5" 3200K Extra Density}
+ \minor{108}{/dev/fd?u3520}{3.5" 3520K Extra Density}
+ \minor{112}{/dev/fd?u3840}{3.5" 3840K Extra Density\1}
+ \minor{}{}{}
+ \minor{36}{/dev/fd?CompaQ}{Compaq 2880K drive; probably obsolete}
+\\
+\major{}{}{}{\1 Autodetectable format}
+\major{}{}{}{\2 Autodetectable format in a Double Density (720K) drive only}
+\major{}{}{}{\3 Autodetectable format in a High Density (1440K) drive only}
+\end{devicelist}
+
+NOTE: The letter in the device name ({\file d}, {\file q}, {\file h}
+or {\file u}) signifies the type of drive supported: 5.25" Double
+Density ({\file d}), 5.25" Quad Density ({\file q}), 5.25" High
+Density ({\file h}) or 3.5" (any type, {\file u}). The capital
+letters {\file D}, {\file H}, or {\file E} for the 3.5" models have
+been deprecated, since the drive type is insignificant for these devices.
+
+\begin{devicelist}
+\major{3}{}{char}{Pseudo-TTY slaves}
+ \minor{0}{/dev/ttyp0}{First PTY slave}
+ \minor{1}{/dev/ttyp1}{Second PTY slave}
+ \minordots
+ \minor{255}{/dev/ttyef}{256th PTY slave}
+\\
+\major{}{}{block}{First MFM, RLL and IDE hard disk/CD-ROM interface}
+ \minor{0}{/dev/hda}{Master: whole disk (or CD-ROM)}
+ \minor{64}{/dev/hdb}{Slave: whole disk (or CD-ROM)}
+\\
+\major{}{}{}{For partitions, add to the whole disk device number}
+ \minor{0}{/dev/hd?}{Whole disk}
+ \minor{1}{/dev/hd?1}{First partition}
+ \minor{2}{/dev/hd?2}{Second partition}
+ \minordots
+ \minor{63}{/dev/hd?63}{63rd partition}
+\end{devicelist}
+
+\noindent
+For Linux/i386, partitions 1-4 are the primary partitions, partitions
+5 and up are logical partitions. Other versions of Linux use
+partitioning schemes appropriate to their respective architectures.
+
+\begin{devicelist}
+\major{ 4}{}{char }{TTY devices}
+ \minor{0}{/dev/console}{Console device}
+ \minor{1}{/dev/tty1}{First virtual console}
+ \minordots
+ \minor{63}{/dev/tty63}{63rd virtual console}
+ \minor{64}{/dev/ttyS0}{First serial port}
+ \minordots
+ \minor{127}{/dev/ttyS63}{64th serial port}
+ \minor{128}{/dev/ptyp0}{First pseudo-tty master}
+ \minordots
+ \minor{191}{/dev/ptysf}{64th pseudo-tty master}
+ \minor{192}{/dev/ttyp0}{First pseudo-tty slave}
+ \minordots
+ \minor{255}{/dev/ttysf}{64th pseudo-tty slave}
+\end{devicelist}
+
+\noindent
+For compatibility with previous versions of Linux, the first 64 PTYs
+are replicated under this device number. This use will be obsolescent
+with the release of Linux 2.0 and may be removed in a future version
+of Linux.
+
+\begin{devicelist}
+\major{ 5}{}{char }{Alternate TTY devices}
+ \minor{0}{/dev/tty}{Current TTY device}
+ \minor{64}{/dev/cua0}{Callout device corresponding to {\file ttyS0}}
+ \minordots
+ \minor{127}{/dev/cua63}{Callout device corresponding to {\file ttyS63}}
+\end{devicelist}
+
+\begin{devicelist}
+\major{ 6}{}{char }{Parallel printer devices}
+ \minor{0}{/dev/lp0}{First parallel printer ({\hex 0x3bc})}
+ \minor{1}{/dev/lp1}{Second parallel printer ({\hex 0x378})}
+ \minor{2}{/dev/lp2}{Third parallel printer ({\hex 0x278})}
+\end{devicelist}
+
+\noindent
+Not all computers have the {\hex 0x3bc} parallel port, hence the
+"first" printer may be either {\file /dev/lp0} or {\file /dev/lp1}.
+
+\begin{devicelist}
+\major{ 7}{}{char }{Virtual console access devices}
+ \minor{0}{/dev/vcs}{Current vc text access}
+ \minor{1}{/dev/vcs1}{tty1 text access}
+ \minordots
+ \minor{63}{/dev/vcs63}{tty63 text access}
+ \minor{128}{/dev/vcsa}{Current vc text/attribute access}
+ \minor{129}{/dev/vcsa1}{tty1 text/attribute access}
+ \minordots
+ \minor{191}{/dev/vcsa63}{tty63 text/attribute access}
+\end{devicelist}
+
+\noindent
+NOTE: These devices permit both read and write access.
+
+\begin{devicelist}
+\major{ }{}{block}{Loopback devices}
+ \minor{0}{/dev/loop0}{First loopback device}
+ \minor{1}{/dev/loop1}{Second loopback device}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{ 8}{}{block}{SCSI disk devices}
+ \minor{0}{/dev/sda}{First SCSI disk whole disk}
+ \minor{16}{/dev/sdb}{Second SCSI disk whole disk}
+ \minor{32}{/dev/sdc}{Third SCSI disk whole disk}
+ \minordots
+ \minor{240}{/dev/sdp}{Sixteenth SCSI disk whole disk}
+\end{devicelist}
+
+\noindent
+Partitions are handled in the same way as for IDE disks (see major
+number 3) except that the partition limit is 15 rather than 63 per
+disk.
+
+\begin{devicelist}
+\major{ 9}{}{char }{SCSI tape devices}
+ \minor{0}{/dev/st0}{First SCSI tape, mode 0}
+ \minor{1}{/dev/st1}{Second SCSI tape, mode 0}
+ \minordots
+ \minor{32}{/dev/st0l}{First SCSI tape, mode 1}
+ \minor{33}{/dev/st1l}{Second SCSI tape, mode 1}
+ \minordots
+ \minor{64}{/dev/st0m}{First SCSI tape, mode 2}
+ \minor{65}{/dev/st1m}{Second SCSI tape, mode 2}
+ \minordots
+ \minor{96}{/dev/st0a}{First SCSI tape, mode 3}
+ \minor{97}{/dev/st1a}{Second SCSI tape, mode 4}
+ \minordots
+ \minor{128}{/dev/nst0}{First SCSI tape, mode 0, no rewind}
+ \minor{129}{/dev/nst1}{Second SCSI tape, mode 0, no rewind}
+ \minordots
+ \minor{160}{/dev/nst0l}{First SCSI tape, mode 1, no rewind}
+ \minor{161}{/dev/nst1l}{Second SCSI tape, mode 1, no rewind}
+ \minordots
+ \minor{192}{/dev/nst0m}{First SCSI tape, mode 2, no rewind}
+ \minor{193}{/dev/nst1m}{Second SCSI tape, mode 2, no rewind}
+ \minordots
+ \minor{224}{/dev/nst0a}{First SCSI tape, mode 3, no rewind}
+ \minor{225}{/dev/nst1a}{Second SCSI tape, mode 3, no rewind}
+ \minordots
+\end{devicelist}
+
+\noindent
+``No rewind'' refers to the omission of the default automatic rewind
+on device close. The {\file MTREW} or {\file MTOFFL} ioctl()s can be
+used to rewind the tape regardless of the device used to access it.
+
+\begin{devicelist}
+\major{ }{}{block}{Metadisk (RAID) devices}
+ \minor{0}{/dev/md0}{First metadisk group}
+ \minor{1}{/dev/md1}{Second metadisk group}
+ \minordots
+\end{devicelist}
+
+\noindent
+The metadisk driver is used to span a filesystem across multiple
+physical disks.
+
+\begin{devicelist}
+\major{10}{}{char }{Non-serial mice, misc features}
+ \minor{0}{/dev/logibm}{Logitech bus mouse}
+ \minor{1}{/dev/psaux}{PS/2-style mouse port}
+ \minor{2}{/dev/inportbm}{Microsoft Inport bus mouse}
+ \minor{3}{/dev/atibm}{ATI XL bus mouse}
+ \minor{4}{/dev/jbm}{J-mouse}
+ \minor{4}{/dev/amigamouse}{Amiga mouse (68k/Amiga)}
+ \minor{5}{/dev/atarimouse}{Atari mouse}
+ \minor{6}{/dev/sunmouse}{Sun mouse}
+ \minor{7}{/dev/amigamouse1}{Second Amiga mouse}
+ \minor{8}{/dev/smouse}{Simple serial mouse driver}
+ \minor{128}{/dev/beep}{Fancy beep device}
+ \minor{129}{/dev/modreq}{Kernel module load request}
+ \minor{130}{/dev/watchdog}{Watchdog timer port}
+ \minor{131}{/dev/temperature}{Machine internal temperature}
+ \minor{132}{/dev/hwtrap}{Hardware fault trap}
+ \minor{133}{/dev/exttrp}{External device trap}
+ \minor{134}{/dev/apm\_bios}{Advanced Power Management BIOS}
+ \minor{135}{/dev/rtc}{Real Time Clock}
+ \minor{136}{/dev/qcam0}{QuickCam on {\file lp0}}
+ \minor{137}{/dev/qcam1}{QuickCam on {\file lp1}}
+ \minor{138}{/dev/qcam2}{QuickCam on {\file lp2}}
+ \minor{139}{/dev/openprom}{SPARC OpenBoot PROM}
+\end{devicelist}
+
+\noindent
+The loopback devices are used to mount filesystems not associated with
+block devices. The binding to the loopback devices is usually handled
+by {\bf mount}(8).
+
+\begin{devicelist}
+\major{11}{}{char }{Raw keyboard device}
+ \minor{0}{/dev/kbd}{Raw keyboard device}
+\end{devicelist}
+
+\noindent
+The raw keyboard device is used on Linux/SPARC only.
+
+\begin{devicelist}
+\major{ }{}{block}{SCSI CD-ROM devices}
+ \minor{0}{/dev/sr0}{First SCSI CD-ROM}
+ \minor{1}{/dev/sr1}{Second SCSI CD-ROM}
+ \minordots
+\end{devicelist}
+
+\noindent
+The prefix {\file /dev/scd} instead of {\file /dev/sr} has been used
+as well, and might make more sense.
+
+\begin{devicelist}
+\major{12}{}{char }{QIC-02 tape}
+ \minor{2}{/dev/ntpqic11}{QIC-11, no rewind-on-close}
+ \minor{3}{/dev/tpqic11}{QIC-11, rewind-on-close}
+ \minor{4}{/dev/ntpqic24}{QIC-24, no rewind-on-close}
+ \minor{5}{/dev/tpqic24}{QIC-24, rewind-on-close}
+ \minor{6}{/dev/ntpqic120}{QIC-120, no rewind-on-close}
+ \minor{7}{/dev/tpqic120}{QIC-120, rewind-on-close}
+ \minor{8}{/dev/ntpqic150}{QIC-150, no rewind-on-close}
+ \minor{9}{/dev/tpqic150}{QIC-150, rewind-on-close}
+\end{devicelist}
+
+\noindent
+The device names specified are proposed -- if there are ``standard''
+names for these devices, please let me know.
+
+\begin{devicelist}
+\major{ }{}{block}{MSCDEX CD-ROM callback support}
+ \minor{0}{/dev/dos\_cd0}{First MSCDEX CD-ROM}
+ \minor{1}{/dev/dos\_cd1}{Second MSCDEX CD-ROM}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{13}{}{char }{PC speaker}
+ \minor{0}{/dev/pcmixer}{Emulates {\file /dev/mixer}}
+ \minor{3}{/dev/pcsp}{Emulates {\file /dev/dsp} (8-bit)}
+ \minor{4}{/dev/pcaudio}{Emulates {\file /dev/audio}}
+ \minor{5}{/dev/pcsp16}{Emulates {\file /dev/dsp} (16-bit)}
+\\
+\major{ }{}{block}{8-bit MFM/RLL/IDE controller}
+ \minor{0}{/dev/xda}{First XT disk whole disk}
+ \minor{64}{/dev/xdb}{Second XT disk whole disk}
+\end{devicelist}
+
+\noindent
+Partitions are handled in the same way as for IDE disks (see major
+number 3).
+
+\begin{devicelist}
+\major{14}{}{char }{Sound card}
+ \minor{0}{/dev/mixer}{Mixer control}
+ \minor{1}{/dev/sequencer}{Audio sequencer}
+ \minor{2}{/dev/midi00}{First MIDI port}
+ \minor{3}{/dev/dsp}{Digital audio}
+ \minor{4}{/dev/audio}{Sun-compatible digital audio}
+ \minor{6}{/dev/sndstat}{Sound card status information}
+ \minor{8}{/dev/sequencer2}{Sequencer -- alternate device}
+ \minor{16}{/dev/mixer1}{Second soundcard mixer control}
+ \minor{17}{/dev/patmgr0}{Sequencer patch manager}
+ \minor{18}{/dev/midi01}{Second MIDI port}
+ \minor{19}{/dev/dsp1}{Second soundcard digital audio}
+ \minor{20}{/dev/audio1}{Second soundcard Sun digital audio}
+ \minor{33}{/dev/patmgr1}{Sequencer patch manager}
+ \minor{34}{/dev/midi02}{Third MIDI port}
+ \minor{50}{/dev/midi03}{Fourth MIDI port}
+\\
+\major{ }{}{block}{BIOS harddrive callback support}
+ \minor{0}{/dev/dos\_hda}{First BIOS harddrive whole disk}
+ \minor{64}{/dev/dos\_hdb}{Second BIOS harddrive whole disk}
+ \minor{128}{/dev/dos\_hdc}{Third BIOS harddrive whole disk}
+ \minor{192}{/dev/dos\_hdd}{Fourth BIOS harddrive whole disk}
+\end{devicelist}
+
+\noindent
+Partitions are handled in the same way as for IDE disks (see major
+number 3).
+
+\begin{devicelist}
+\major{15}{}{char }{Joystick}
+ \minor{0}{/dev/js0}{First analog joystick}
+ \minor{1}{/dev/js1}{Second analog joystick}
+ \minordots
+ \minor{128}{/dev/djs0}{First digital joystick}
+ \minor{129}{/dev/djs1}{Second digital joystick}
+ \minordots
+\\
+\major{ }{}{block}{Sony CDU-31A/CDU-33A CD-ROM}
+ \minor{0}{/dev/sonycd}{Sony CDU-31A CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{16}{}{char }{Non-SCSI scanners}
+ \minor{0}{/dev/gs4500}{Genius 4500 handheld scanner}
+\\
+\major{ }{}{block}{GoldStar CD-ROM}
+ \minor{0}{/dev/gscd}{GoldStar CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{17}{}{char }{Chase serial card}
+ \minor{0}{/dev/ttyH0}{First Chase port}
+ \minor{1}{/dev/ttyH1}{Second Chase port}
+ \minordots
+\\
+\major{ }{}{block}{Optics Storage CD-ROM}
+ \minor{0}{/dev/optcd}{Optics Storage CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{18}{}{char }{Chase serial card -- alternate devices}
+ \minor{0}{/dev/cuh0}{Callout device corresponding to {\file ttyH0}}
+ \minor{1}{/dev/cuh1}{Callout device corresponding to {\file ttyH1}}
+ \minordots
+\\
+\major{ }{}{block}{Sanyo CD-ROM}
+ \minor{0}{/dev/sjcd}{Sanyo CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{19}{}{char }{Cyclades serial card}
+ \minor{0}{/dev/ttyC0}{First Cyclades port}
+ \minordots
+ \minor{31}{/dev/ttyC31}{32nd Cyclades port}
+\\
+\major{ }{}{block}{``Double'' compressed disk}
+ \minor{0}{/dev/double0}{First compressed disk}
+ \minordots
+ \minor{7}{/dev/double7}{Eighth compressed disk}
+ \minor{128}{/dev/cdouble0}{Mirror of first compressed disk}
+ \minordots
+ \minor{135}{/dev/cdouble7}{Mirror of eighth compressed disk}
+\end{devicelist}
+
+\noindent
+See the Double documentation for an explanation of the ``mirror'' devices.
+
+\begin{devicelist}
+\major{20}{}{char }{Cyclades serial card -- alternate devices}
+ \minor{0}{/dev/cub0}{Callout device corresponding to {\file ttyC0}}
+ \minordots
+ \minor{31}{/dev/cub31}{Callout device corresponding to {\file ttyC31}}
+\\
+\major{ }{}{block}{Hitachi CD-ROM}
+ \minor{0}{/dev/hitcd}{Hitachi CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{21}{}{char }{Generic SCSI access}
+ \minor{0}{/dev/sg0}{First generic SCSI device}
+ \minor{1}{/dev/sg1}{Second generic SCSI device}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{22}{}{char }{Digiboard serial card}
+ \minor{0}{/dev/ttyD0}{First Digiboard port}
+ \minor{1}{/dev/ttyD1}{Second Digiboard port}
+ \minordots
+\major{ }{}{block}{Second IDE hard disk/CD-ROM interface}
+ \minor{0}{/dev/hdc}{Master: whole disk (or CD-ROM)}
+ \minor{64}{/dev/hdd}{Slave: whole disk (or CD-ROM)}
+\end{devicelist}
+
+\noindent
+Partitions are handled the same way as for the first interface (see
+major number 3).
+
+\begin{devicelist}
+\major{23}{}{char }{Digiboard serial card -- alternate devices}
+ \minor{0}{/dev/cud0}{Callout device corresponding to {\file ttyD0}}
+ \minor{1}{/dev/cud1}{Callout device corresponding to {\file ttyD1}}
+ \minordots
+\major{ }{}{block}{Mitsumi proprietary CD-ROM}
+ \minor{0}{/dev/mcd}{Mitsumi CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}\
+\major{24}{}{char }{Stallion serial card}
+ \minor{0}{/dev/ttyE0}{Stallion port 0 board 0}
+ \minor{1}{/dev/ttyE1}{Stallion port 1 board 0}
+ \minordots
+ \minor{64}{/dev/ttyE64}{Stallion port 0 board 1}
+ \minor{65}{/dev/ttyE65}{Stallion port 1 board 1}
+ \minordots
+ \minor{128}{/dev/ttyE128}{Stallion port 0 board 2}
+ \minor{129}{/dev/ttyE129}{Stallion port 1 board 2}
+ \minordots
+ \minor{192}{/dev/ttyE192}{Stallion port 0 board 3}
+ \minor{193}{/dev/ttyE193}{Stallion port 1 board 3}
+ \minordots
+\\
+\major{ }{}{block}{Sony CDU-535 CD-ROM}
+ \minor{0}{/dev/cdu535}{Sony CDU-535 CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{25}{}{char }{Stallion serial card -- alternate devices}
+ \minor{0}{/dev/cue0}{Callout device corresponding to {\file ttyE0}}
+ \minor{1}{/dev/cue1}{Callout device corresponding to {\file ttyE1}}
+ \minordots
+ \minor{64}{/dev/cue64}{Callout device corresponding to {\file ttyE64}}
+ \minor{65}{/dev/cue65}{Callout device corresponding to {\file ttyE65}}
+ \minordots
+ \minor{128}{/dev/cue128}{Callout device corresponding to {\file ttyE128}}
+ \minor{129}{/dev/cue129}{Callout device corresponding to {\file ttyE129}}
+ \minordots
+ \minor{192}{/dev/cue192}{Callout device corresponding to {\file ttyE192}}
+ \minor{193}{/dev/cue193}{Callout device corresponding to {\file ttyE193}}
+ \minordots
+\\
+\major{ }{}{block}{First Matsushita (Panasonic/SoundBlaster) CD-ROM}
+ \minor{0}{/dev/sbpcd0}{Panasonic CD-ROM controller 0 unit 0}
+ \minor{1}{/dev/sbpcd1}{Panasonic CD-ROM controller 0 unit 1}
+ \minor{2}{/dev/sbpcd2}{Panasonic CD-ROM controller 0 unit 2}
+ \minor{3}{/dev/sbpcd3}{Panasonic CD-ROM controller 0 unit 3}
+\end{devicelist}
+
+\begin{devicelist}
+\major{26}{}{char }{Quanta WinVision frame grabber}
+ \minor{0}{/dev/wvisfgrab}{Quanta WinVision frame grabber}
+\\
+\major{ }{}{block}{Second Matsushita (Panasonic/SoundBlaster) CD-ROM}
+ \minor{0}{/dev/sbpcd4}{Panasonic CD-ROM controller 1 unit 0}
+ \minor{1}{/dev/sbpcd5}{Panasonic CD-ROM controller 1 unit 1}
+ \minor{2}{/dev/sbpcd6}{Panasonic CD-ROM controller 1 unit 2}
+ \minor{3}{/dev/sbpcd7}{Panasonic CD-ROM controller 1 unit 3}
+\end{devicelist}
+
+\begin{devicelist}
+\major{27}{}{char }{QIC-117 tape}
+ \minor{0}{/dev/rft0}{Unit 0, rewind-on-close}
+ \minor{1}{/dev/rft1}{Unit 1, rewind-on-close}
+ \minor{2}{/dev/rft2}{Unit 2, rewind-on-close}
+ \minor{3}{/dev/rft3}{Unit 3, rewind-on-close}
+ \minor{4}{/dev/nrft0}{Unit 0, no rewind-on-close}
+ \minor{5}{/dev/nrft1}{Unit 1, no rewind-on-close}
+ \minor{6}{/dev/nrft2}{Unit 2, no rewind-on-close}
+ \minor{7}{/dev/nrft3}{Unit 3, no rewind-on-close}
+\\
+\major{ }{}{block}{Third Matsushita (Panasonic/SoundBlaster) CD-ROM}
+ \minor{0}{/dev/sbpcd8}{Panasonic CD-ROM controller 2 unit 0}
+ \minor{1}{/dev/sbpcd9}{Panasonic CD-ROM controller 2 unit 1}
+ \minor{2}{/dev/sbpcd10}{Panasonic CD-ROM controller 2 unit 2}
+ \minor{3}{/dev/sbpcd11}{Panasonic CD-ROM controller 2 unit 3}
+\end{devicelist}
+
+\begin{devicelist}
+\major{28}{}{char }{Stallion serial card -- card programming}
+ \minor{0}{/dev/staliomem0}{First Stallion I/O card memory}
+ \minor{1}{/dev/staliomem1}{Second Stallion I/O card memory}
+ \minor{2}{/dev/staliomem2}{Third Stallion I/O card memory}
+ \minor{3}{/dev/staliomem3}{Fourth Stallion I/O card memory}
+\\
+\major{ }{}{char }{Atari SLM ACSI laser printer (68k/Atari)}
+ \minor{0}{/dev/slm0}{First SLM laser printer}
+ \minor{1}{/dev/slm1}{Second SLM laser printer}
+ \minordots
+\\
+\major{ }{}{block}{Fourth Matsushita (Panasonic/SoundBlaster) CD-ROM}
+ \minor{0}{/dev/sbpcd12}{Panasonic CD-ROM controller 3 unit 0}
+ \minor{1}{/dev/sbpcd13}{Panasonic CD-ROM controller 3 unit 1}
+ \minor{2}{/dev/sbpcd14}{Panasonic CD-ROM controller 3 unit 2}
+ \minor{3}{/dev/sbpcd15}{Panasonic CD-ROM controller 3 unit 3}
+\\
+\major{ }{}{block}{ACSI disk/CD-ROM (68k/Atari)}
+ \minor{0}{/dev/ada}{First ACSI disk whole disk}
+ \minor{16}{/dev/adb}{Second ACSI disk whole disk}
+ \minor{32}{/dev/adc}{Third ACSI disk whole disk}
+ \minordots
+ \minor{240}{/dev/adp}{Sixteenth ACSI disk whole disk}
+\end{devicelist}
+
+\noindent
+Partitions are handled in the same way as for IDE disks (see major
+number 3) except that the partition limit is 15 rather than 63 per
+disk (same as SCSI.)
+
+\begin{devicelist}
+\major{29}{}{char }{Universal frame buffer}
+ \minor{0}{/dev/fb0}{First frame buffer}
+ \minor{1}{/dev/fb0autodetect}{}
+ \minor{24}{/dev/fb0user0}{}
+ \minordots
+ \minor{31}{/dev/fb0user7}{}
+ \minor{32}{/dev/fb1}{Second frame buffer}
+ \minor{33}{/dev/fb1autodetect}{}
+ \minor{56}{/dev/fb1user0}{}
+ \minordots
+ \minor{63}{/dev/fb1user7}{}
+ \minordots
+\end{devicelist}
+
+\noindent
+The universal frame buffer device is currently supported only on
+Linux/68k and Linux/SPARC. The plain device accesses the frame
+buffer at current resolution (Linux/68k calls this file {\file
+current}, e.g. {\file /dev/fb0current}); the {\file autodetect} one at
+bootup (default) resolution. Minor numbers 2--23 within each frame
+buffer assignment are used for specific device-dependent resolutions.
+There appears to be no standard naming for these devices. Finally,
+24--31 within each device are reserved for user-selected modes,
+usually entered at boot time. Currently only Linux/68k uses the
+mode-specific devices.
+
+\begin{devicelist}
+\major{ }{}{block}{Aztech/Orchid/Okano/Wearnes CD-ROM}
+ \minor{0}{/dev/aztcd}{Aztech CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{30}{}{char }{iBCS-2 compatibility devices}
+ \minor{0}{/dev/socksys}{Socket access}
+ \minor{1}{/dev/spx}{SVR3 local X interface}
+ \minor{2}{/dev/inet/arp}{Network access}
+ \minor{2}{/dev/inet/icmp}{Network access}
+ \minor{2}{/dev/inet/ip}{Network access}
+ \minor{2}{/dev/inet/udp}{Network access}
+ \minor{2}{/dev/inet/tcp}{Network access}
+\end{devicelist}
+
+\noindent
+iBCS-2 requires {\file /dev/nfsd} to be a link to {\file /dev/socksys}
+and {\file /dev/X0R} to be a link to {\file /dev/null}.
+
+\begin{devicelist}
+\major{ }{}{block}{Philips LMS CM-205 CD-ROM}
+ \minor{0}{/dev/cm205cd}{Philips LMS CM-205 CD-ROM}
+\end{devicelist}
+
+\noindent
+{\file /dev/lmscd} is an older name for this drive. This driver does
+not work with the CM-205MS CD-ROM.
+
+\begin{devicelist}
+\major{31}{}{char }{MPU-401 MIDI}
+ \minor{0}{/dev/mpu401data}{MPU-401 data port}
+ \minor{1}{/dev/mpu401stat}{MPU-401 status port}
+\\
+\major{ }{}{block}{ROM/flash memory card}
+ \minor{0}{/dev/rom0}{First ROM card (rw)}
+ \minordots
+ \minor{7}{/dev/rom7}{Eighth ROM card (rw)}
+ \minor{8}{/dev/rrom0}{First ROM card (ro)}
+ \minordots
+ \minor{15}{/dev/rrom0}{Eighth ROM card (ro)}
+ \minor{16}{/dev/flash0}{First flash memory card (rw)}
+ \minordots
+ \minor{23}{/dev/flash7}{Eighth flash memory card (rw)}
+ \minor{24}{/dev/rflash0}{First flash memory card (ro)}
+ \minordots
+ \minor{31}{/dev/rflash7}{Eighth flash memory card (ro)}
+\end{devicelist}
+
+\noindent
+The read-write (rw) devices support back-caching written data in RAM,
+as well as writing to flash RAM devices. The read-only devices (ro)
+support reading only.
+
+\begin{devicelist}
+\major{32}{}{char }{Specialix serial card}
+ \minor{0}{/dev/ttyX0}{First Specialix port}
+ \minor{1}{/dev/ttyX1}{Second Specialix port}
+ \minordots
+\\
+\major{ }{}{block}{Philips LMS CM-206 CD-ROM}
+ \minor{0}{/dev/cm206cd}{Philips LMS CM-206 CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{33}{}{char }{Specialix serial card -- alternate devices}
+ \minor{0}{/dev/cux0}{Callout device corresponding to {\file ttyX0}}
+ \minor{1}{/dev/cux1}{Callout device corresponding to {\file ttyX1}}
+ \minordots
+\\
+\major{ }{}{block}{Third IDE hard disk/CD-ROM interface}
+ \minor{0}{/dev/hde}{Master: whole disk (or CD-ROM)}
+ \minor{64}{/dev/hdf}{Slave: whole disk (or CD-ROM)}
+\end{devicelist}
+
+\noindent
+Partitions are handled the same way as for the first interface (see
+major number 3).
+
+\begin{devicelist}
+\major{34}{}{char }{Z8530 HDLC driver}
+ \minor{0}{/dev/scc0}{First Z8530, first port}
+ \minor{1}{/dev/scc1}{First Z8530, second port}
+ \minor{2}{/dev/scc2}{Second Z8530, first port}
+ \minor{3}{/dev/scc3}{Second Z8530, second port}
+ \minordots
+\end{devicelist}
+
+\noindent
+In a previous version these devices were named {\file /dev/sc1} for
+{\file /dev/scc0}, {\file /dev/sc2} for {\file /dev/scc1}, and so on.
+
+\begin{devicelist}
+\major{ }{}{block}{Fourth IDE hard disk/CD-ROM interface}
+ \minor{0}{/dev/hdg}{Master: whole disk (or CD-ROM)}
+ \minor{64}{/dev/hdh}{Slave: whole disk (or CD-ROM)}
+\end{devicelist}
+
+\noindent
+Partitions are handled the same way as for the first interface (see
+major number 3).
+
+\begin{devicelist}
+\major{35}{}{char }{tclmidi MIDI driver}
+ \minor{0}{/dev/midi0}{First MIDI port, kernel timed}
+ \minor{1}{/dev/midi1}{Second MIDI port, kernel timed}
+ \minor{2}{/dev/midi2}{Third MIDI port, kernel timed}
+ \minor{3}{/dev/midi3}{Fourth MIDI port, kernel timed}
+ \minor{64}{/dev/rmidi0}{First MIDI port, untimed}
+ \minor{65}{/dev/rmidi1}{Second MIDI port, untimed}
+ \minor{66}{/dev/rmidi2}{Third MIDI port, untimed}
+ \minor{67}{/dev/rmidi3}{Fourth MIDI port, untimed}
+ \minor{128}{/dev/smpte0}{First MIDI port, SMPTE timed}
+ \minor{129}{/dev/smpte1}{Second MIDI port, SMPTE timed}
+ \minor{130}{/dev/smpte2}{Third MIDI port, SMPTE timed}
+ \minor{131}{/dev/smpte3}{Fourth MIDI port, SMPTE timed}
+\\
+\major{ }{}{block}{Modular RAM disk}
+\end{devicelist}
+
+\noindent
+This device number is provided for older kernels which did not have
+the modular RAM disk in the standard distribution. See major number
+1. This assignment will be removed when the 2.0 kernel is released.
+
+\begin{devicelist}
+\major{36}{}{char }{Netlink support}
+ \minor{0}{/dev/route}{Routing, device updates (kernel to user)}
+ \minor{1}{/dev/skip}{enSKIP security cache control}
+\\
+\major{ }{}{block}{MCA ESDI hard disk}
+ \minor{0}{/dev/eda}{First ESDI disk whole disk}
+ \minor{64}{/dev/edb}{Second ESDI disk whole disk}
+ \minordots
+\end{devicelist}
+
+\noindent
+Partitions are handled the same way as for IDE disks (see major number
+3).
+
+\begin{devicelist}
+\major{37}{}{char }{IDE tape}
+ \minor{0}{/dev/ht0}{First IDE tape}
+ \minor{128}{/dev/nht0}{First IDE tape, no rewind-on-close}
+\end{devicelist}
+
+\noindent
+Currently, only one IDE tape drive is supported.
+
+\begin{devicelist}
+\major{ }{}{block}{Zorro II ramdisk}
+ \minor{0}{/dev/z2ram}{Zorro II ramdisk}
+\end{devicelist}
+
+\begin{devicelist}
+\major{38}{}{char }{Myricom PCI Myrinet board}
+ \minor{0}{/dev/mlanai0}{First Myrinet board}
+ \minor{1}{/dev/mlanai1}{Second Myrinet board}
+ \minordots
+\end{devicelist}
+
+\noindent
+This device is used for board control, status query and ``user level
+packet I/O''. The board is also accessible as a regular {\file eth}
+networking device.
+
+\begin{devicelist}
+\major{ }{}{block}{Reserved for Linux/AP+}
+\end{devicelist}
+
+\begin{devicelist}
+\major{39}{}{char }{ML-16P experimental I/O board}
+ \minor{0}{/dev/ml16pa-a0}{First card, first analog channel}
+ \minor{1}{/dev/ml16pa-a1}{First card, second analog channel}
+ \minordots
+ \minor{15}{/dev/ml16pa-a15}{First card, 16th analog channel}
+ \minor{16}{/dev/ml16pa-d}{First card, digital lines}
+ \minor{17}{/dev/ml16pa-c0}{First card, first counter/timer}
+ \minor{18}{/dev/ml16pa-c1}{First card, second counter/timer}
+ \minor{19}{/dev/ml16pa-c2}{First card, third counter/timer}
+ \minor{32}{/dev/ml16pb-a0}{Second card, first analog channel}
+ \minor{33}{/dev/ml16pb-a1}{Second card, second analog channel}
+ \minordots
+ \minor{47}{/dev/ml16pb-a15}{Second card, 16th analog channel}
+ \minor{48}{/dev/ml16pb-d}{Second card, digital lines}
+ \minor{49}{/dev/ml16pb-c0}{Second card, first counter/timer}
+ \minor{50}{/dev/ml16pb-c1}{Second card, second counter/timer}
+ \minor{51}{/dev/ml16pb-c2}{Second card, third counter/timer}
+ \minordots
+\\
+\major{ }{}{block}{Reserved for Linux/AP+}
+\end{devicelist}
+
+\begin{devicelist}
+\major{40}{}{char }{Matrox Meteor frame grabber}
+ \minor{0}{/dev/mmetfgrab}{Matrox Meteor frame grabber}
+\\
+\major{ }{}{block}{Syquest EZ135 parallel port removable drive}
+ \minor{0}{/dev/eza}{Parallel EZ135 drive whole disk}
+\end{devicelist}
+
+\noindent
+Partitions are handled the same way as for IDE disks (see major number
+3).
+
+\begin{devicelist}
+\major{41}{}{char }{Yet Another Micro Monitor}
+ \minor{0}{/dev/yamm}{Yet Another Micro Monitor}
+\\
+\major{ }{}{block}{MicroSolutions BackPack parallel port CD-ROM}
+ \minor{0}{/dev/bpcd}{BackPack CD-ROM}
+\end{devicelist}
+
+\begin{devicelist}
+\major{42}{}{}{Demo/sample use}
+\end{devicelist}
+
+\noindent
+This number is intended for use in sample code, as well as a general
+``example'' device number. It should never be used for a device
+driver that is being distributed; either obtain an official number or
+use the local/experimental range. The sudden addition or removal of a
+driver with this number should not cause ill effects to the system
+(bugs excepted.)
+
+\begin{devicelist}
+\major{43}{}{char }{isdn4linux virtual modem}
+ \minor{0}{/dev/ttyI0}{First virtual modem}
+ \minordots
+ \minor{63}{/dev/ttyI63}{64th virtual modem}
+\end{devicelist}
+
+\begin{devicelist}
+\major{44}{}{char }{isdn4linux virtual modem -- alternate devices}
+ \minor{0}{/dev/cui0}{Callout device corresponding to {\file ttyI0}}
+ \minordots
+ \minor{63}{/dev/cui63}{Callout device corresponding to {\file ttyI63}}
+\end{devicelist}
+
+\begin{devicelist}
+\major{45}{}{char }{isdn4linux ISDN BRI driver}
+ \minor{0}{/dev/isdn0}{First virtual B channel raw data}
+ \minordots
+ \minor{63}{/dev/isdn63}{64th virtual B channel raw data}
+ \minor{64}{/dev/isdnctrl0}{First channel control/debug}
+ \minordots
+ \minor{127}{/dev/isdnctrl63}{64th channel control/debug}
+ \minor{128}{/dev/ippp0}{First SyncPPP device}
+ \minordots
+ \minor{191}{/dev/ippp63}{64th SyncPPP device}
+ \minor{255}{/dev/isdninfo}{ISDN monitor interface}
+\end{devicelist}
+
+\begin{devicelist}
+\major{46}{}{char }{Comtrol Rocketport serial card}
+ \minor{0}{/dev/ttyR0}{First Rocketport port}
+ \minor{1}{/dev/ttyR1}{Second Rocketport port}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{47}{}{char }{Comtrol Rocketport serial card -- alternate devices}
+ \minor{0}{/dev/cur0}{Callout device corresponding to {\file ttyR0}}
+ \minor{1}{/dev/cur1}{Callout device corresponding to {\file ttyR1}}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{48}{}{char }{SDL RISCom serial card}
+ \minor{0}{/dev/ttyL0}{First RISCom port}
+ \minor{1}{/dev/ttyL1}{Second RISCom port}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{49}{}{char }{SDL RISCom serial card -- alternate devices}
+ \minor{0}{/dev/cul0}{Callout device corresponding to {\file ttyL0}}
+ \minor{1}{/dev/cul1}{Callout device corresponding to {\file ttyL1}}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{50}{}{char}{Reserved for GLINT}
+\end{devicelist}
+
+\begin{devicelist}
+\major{51}{}{char }{Baycom radio modem}
+ \minor{0}{/dev/bc0}{First Baycom radio modem}
+ \minor{1}{/dev/bc1}{Second Baycom radio modem}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{52}{}{char }{Spellcaster DataComm/BRI ISDN card}
+ \minor{0}{/dev/dcbri0}{First DataComm card}
+ \minor{1}{/dev/dcbri1}{Second DataComm card}
+ \minor{2}{/dev/dcbri2}{Third DataComm card}
+ \minor{3}{/dev/dcbri3}{Fourth DataComm card}
+\end{devicelist}
+
+\begin{devicelist}
+\major{53}{}{char }{BDM interface for remote debugging MC683xx
+microcontrollers}
+ \minor{0}{/dev/pd\_bdm0}{PD BDM interface on {\file lp0}}
+ \minor{1}{/dev/pd\_bdm1}{PD BDM interface on {\file lp1}}
+ \minor{2}{/dev/pd\_bdm2}{PD BDM interface on {\file lp2}}
+ \minor{4}{/dev/icd\_bdm0}{ICD BDM interface on {\file lp0}}
+ \minor{5}{/dev/icd\_bdm1}{ICD BDM interface on {\file lp1}}
+ \minor{6}{/dev/icd\_bdm2}{ICD BDM interface on {\file lp2}}
+\end{devicelist}
+
+\noindent
+This device is used for the interfacing to the MC683xx
+microcontrollers via Background Debug Mode by use of a Parallel Port
+interface. PD is the Motorola Public Domain Interface and ICD is the
+commercial interface by P\&E.
+
+\begin{devicelist}
+\major{54}{}{char }{Electrocardiognosis Holter serial card}
+ \minor{0}{/dev/holter0}{First Holter port}
+ \minor{1}{/dev/holter1}{Second Holter port}
+ \minor{2}{/dev/holter2}{Third Holter port}
+\end{devicelist}
+
+\noindent
+A custom serial card used by Electrocardiognosis SRL
+$<$mseritan@ottonel.pub.ro$>$ to transfer data from Holter 24-hour
+heart monitoring equipment.
+
+\begin{devicelist}
+\major{55}{}{char }{DSP56001 digital signal processor}
+ \minor{0}{/dev/dsp56k}{First DSP56001}
+\end{devicelist}
+
+\begin{devicelist}
+\major{56}{}{char }{Apple Desktop Bus}
+ \minor{0}{/dev/adb}{ADB bus control}
+\end{devicelist}
+
+\noindent
+Additional devices will be added to this number, all starting with
+{\file /dev/adb}.
+
+\begin{devicelist}
+\major{57}{}{char }{Hayes ESP serial card}
+ \minor{0}{/dev/ttyP0}{First ESP port}
+ \minor{1}{/dev/ttyP1}{Second ESP port}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{58}{}{char }{Hayes ESP serial card -- alternate devices}
+ \minor{0}{/dev/cup0}{Callout device corresponding to {\file ttyP0}}
+ \minor{1}{/dev/cup1}{Callout device corresponding to {\file ttyP1}}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{59}{}{char }{sf firewall package}
+ \minor{0}{/dev/firewall}{Communication with sf kernel module}
+\end{devicelist}
+
+\begin{devicelist}
+\major{60}{--63}{}{Local/experimental use}
+\end{devicelist}
+
+\noindent
+For devices not assigned official numbers, these ranges should be
+used, in order to avoid conflict with future assignments.
+
+\begin{devicelist}
+\major{64}{--119}{}{Unallocated}
+\end{devicelist}
+
+\begin{devicelist}
+\major{120}{--127}{}{Local/experimental use}
+\end{devicelist}
+
+\begin{devicelist}
+\major{128}{--239}{}{Unallocated}
+\end{devicelist}
+
+\begin{devicelist}
+\major{240}{--254}{}{Local/experimental use}
+\end{devicelist}
+
+\begin{devicelist}
+\major{255}{}{}{Reserved}
+\end{devicelist}
+
+\section{Additional /dev directory entries}
+
+This section details additional entries that should or may exist in the
+{\file /dev} directory. It is preferred that symbolic links use the
+same form (absolute or relative) as is indicated here. Links are
+classified as {\em hard\/} or {\em symbolic\/} depending on the
+preferred type of link; if possible, the indicated type of link should
+be used.
+
+\subsection{Compulsory links}
+
+These links should exist on all systems:
+
+\begin{nodelist}
+\link{/dev/fd}{/proc/self/fd}{symbolic}{File descriptors}
+\link{/dev/stdin}{fd/0}{symbolic}{Standard input file descriptor}
+\link{/dev/stdout}{fd/1}{symbolic}{Standard output file descriptor}
+\link{/dev/stderr}{fd/2}{symbolic}{Standard error file descriptor}
+\link{/dev/nfsd}{socksys}{symbolic}{Required by iBCS-2}
+\link{/dev/X0R}{null}{symbolic}{Required by iBCS-2}
+\end{nodelist}
+
+\noindent
+Note: The last device is: $<$letter {\tt X}$>$-$<$digit {\tt
+0}$>$-$<$letter {\tt R}$>$.
+
+\subsection{Recommended links}
+
+It is recommended that these links exist on all systems:
+
+\begin{nodelist}
+\link{/dev/core}{/proc/kcore}{symbolic}{Backward compatibility}
+\link{/dev/ramdisk}{ram0}{symbolic}{Backward compatibility}
+\link{/dev/ftape}{rft0}{symbolic}{Backward compatibility}
+\link{/dev/scd?}{sr?}{hard}{Alternate name for CD-ROMs}
+\link{/dev/fd?D*}{fd?u*}{hard}{Backward compatibility}
+\link{/dev/fd?H*}{fd?u*}{hard}{Backward compatibility}
+\link{/dev/fd?E*}{fd?u*}{hard}{Backward compatibility}
+\end{nodelist}
+
+\subsection{Locally defined links}
+
+The following links may be established locally to conform to the
+configuration of the system. This is merely a tabulation of existing
+practice, and does not constitute a recommendation. However, if they
+exist, they should have the following uses.
+
+\begin{nodelist}
+\vlink{/dev/mouse}{mouse port}{symbolic}{Current mouse device}
+\vlink{/dev/tape}{tape device}{symbolic}{Current tape device}
+\vlink{/dev/cdrom}{CD-ROM device}{symbolic}{Current CD-ROM device}
+\vlink{/dev/cdwriter}{CD-writer}{symbolic}{Current CD-writer device}
+\vlink{/dev/scanner}{scanner device}{symbolic}{Current scanner device}
+\vlink{/dev/modem}{modem port}{symbolic}{Current dialout device}
+\vlink{/dev/root}{root device}{symbolic}{Current root filesystem}
+\vlink{/dev/swap}{swap device}{symbolic}{Current swap device}
+\end{nodelist}
+
+\noindent
+{\file /dev/modem} should not be used for a modem which supports
+dialin as well as dialout, as it tends to cause lock file problems.
+If it exists, {\file /dev/modem} should point to the appropriate
+dialout (alternate) device.
+
+For SCSI devices, {\file /dev/tape} and {\file /dev/cdrom} should
+point to the ``cooked'' devices ({\file /dev/st*} and {\file
+/dev/sr*}, respectively), whereas {\file /dev/cdwriter} and {\file
+/dev/scanner} should point to the appropriate generic SCSI devices
+({\file /dev/sg*}.)
+
+{\file /dev/mouse} may point to a primary serial TTY device, a
+hardware mouse device, or a socket for a mouse driver program
+(e.g. {\file /dev/gpmdata}.)
+
+\subsection{Sockets and pipes}
+
+Non-transient sockets or named pipes may exist in {\file /dev}.
+Common entries are:
+
+\begin{nodelist}
+\node{/dev/printer}{socket}{{\file lpd} local socket}
+\node{/dev/log}{socket}{{\file syslog} local socket}
+\node{/dev/gpmdata}{socket}{{\file gpm} mouse multiplexer}
+\end{nodelist}
+
+\end{document}
+