patch-1.3.99 linux/MAGIC

Next file: linux/MAINTAINERS
Previous file: linux/Documentation/rtc.txt
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.98/linux/MAGIC linux/MAGIC
@@ -1,105 +0,0 @@
-This file is a registry of magic numbers which are in use.  When you
-add a magic number to a structure, you should also add it to this
-file, since it is best if the magic numbers used by various structures
-are unique.
-
-It is a *very* good idea to protect kernel data structures with magic
-numbers.  This allows you to check at run time whether (a) a structure
-has been clobbered, or (b) you've passed the wrong structure to a
-routine.  This last is especially useful --- particularly when you are
-passing pointers to structures via a void * pointer.  The tty code,
-for example, does this frequently to pass driver-specific and line
-discipline-specific structures back and forth.
-
-The way to use magic numbers is to declare then at the beginning of
-the structure, like so:
-
-struct tty_ldisc {
-	int	magic;
-	...
-};
-
-Please follow this discipline when you are adding future enhancements
-to the kernel!  It has saved me countless hours of debugging,
-especially in the screw cases where an array has been overrun and
-structures following the array have been overwritten.  Using this
-discipline, these cases get detected quickly and safely.
-
-You should also register the magic number used by ioctls in the table
-below.  This allows ioctls on inappropriate devices to fail, rather than
-doing something completely unexpected.  The magic number is the first
-argument to the _IO family of macros (see include/linux/ioctl.h) or
-in general bits 8..15 of the ioctl number.  Where ioctls are done on
-devices with a major device number, it is recommended that you use the
-major device number as the ioctl magic value (e.g. hd, lp).
-
-					Theodore Ts'o
-					31-Mar-94
-
-The magic table is current to Linux 1.3.35.
-The ioctl table is current to Linux 1.3.35.
-For a complete list of kernel ioctl's, look for 'ioctl-list.X.Y.ZZ' on
-an ftp site, where 'X.Y.ZZ' is the kernel version for the ioctl list.
-
-					Michael Chastain
-					<mec@duracef.shout.net>
-					17-Oct-95
-
-
-
-
-Magic Name          Number  Structure            File
-===========================================================================
-APM_BIOS_MAGIC      0x4101  struct apm_struct    include/linux/apm_bios.h
-CYCLADES_MAGIC      0x4359  struct cyclades_port include/linux/cyclades.h
-FASYNC_MAGIC        0x4601  struct fasync_struct include/linux/fs.h
-PTY_MAGIC           0x5001  struct pty_struct    drivers/char/pty.c
-PPP_MAGIC           0x5002  struct ppp_struct    include/linux/if_ppp.h
-TTY_MAGIC           0x5401  struct tty_struct    include/linux/tty.h
-TTY_DRIVER_MAGIC    0x5402  struct tty_driver    include/linux/tty_driver.h
-TTY_LDISC_MAGIC     0x5403  struct tty_ldisc     include/linux/tty_ldisc.h
-SERIAL_MAGIC        0x5301  struct async_struct  include/linux/serial.h
-SLIP_MAGIC          0x5302  struct slip          drivers/net/slip.h
-SCC_MAGIC           0x8530  struct scc_channel   include/linux/scc.h
-RISCOM8_MAGIC       0x0907  struct riscom_port	 drivers/char/riscom8.h
-
-
-
-Ioctl	Include File		Comments
-========================================================
-0x00	linux/fs.h		only FIBMAP, FIGETBSZ
-0x00	linux/random.h		codes in 0x010800NN
-0x02	linux/fd.h
-0x03	linux/hdreg.h
-0x04	linux/umsdos_fs.h
-0x06	linux/lp.h
-0x09	linux/md.h
-0x12	linux/fs.h
-0x20	linux/cm206.h
-0x22	linux/scc.h
-'A'	linux/apm_bios.h
-'C'	linux/soundcard.h
-'I'	linux/isdn.h
-'K'	linux/kd.h
-'L'	linux/loop.h
-'M'	linux/soundcard.h
-'P'	linux/soundcard.h
-'Q'	linux/soundcard.h
-'S'	linux/cdrom.h		conflict!
-'S'	linux/scsi.h		conflict!
-'T'	linux/soundcard.h	conflict!
-'T'	asm/termios.h		conflict!
-'V'	linux/vt.h
-'Y'	linux/cyclades.h	codes in 0x004359NN
-'a'	various, see http://lrcwww.epfl.ch/linux-atm/magic.html
-'f'	linux/ext2_fs.h
-'m'	linux/mtio.h		conflict!
-'m'	linux/soundcard.h	conflict!
-'n'	linux/ncp_fs.h
-'s'	linux/cdk.h
-'t'	linux/if_ppp.h
-'u'	linux/smb_fs.h
-'u'	linux/smb_fs.h
-'v'	linux/ext2_fs.h
-0x89	asm/socket.h		no conflict
-0x89	linux/sockios.h		no conflict

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this