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 screwy 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.

					Theodore Ts'o
					31 Mar 94

The magic table is current to Linux 2.1.55.

					Michael Chastain
					<mailto:mec@shout.net>
					22 Sep 1997

Now it should be up to date with Linux 2.1.112. Because
we are in feature freeze time it is very unlikely that
something will change before 2.2.x. The entries are
sorted by number field.

					Krzysztof G. Baranowski
					<mailto: kgb@knm.org.pl>
					29 Jul 1998

Updated the magic table to Linux 2.5.45. Right over the feature freeze,
but it is possible that some new magic numbers will sneak into the
kernel before 2.6.x yet.

					Petr Baudis
					<pasky@ucw.cz>
					03 Nov 2002

Updated the magic table to Linux 2.5.74.

					Fabian Frederick
					<ffrederick@users.sourceforge.net>
					09 Jul 2003


Magic Name            Number      Structure            File
===========================================================================
PG_MAGIC              'P'         pg_{read,write}_hdr include/linux/pg.h
CMAGIC                0x0111      user              include/linux/a.out.h
MKISS_DRIVER_MAGIC    0x04bf      mkiss_channel     drivers/net/mkiss.h
RISCOM8_MAGIC         0x0907      riscom_port       drivers/char/riscom8.h
SPECIALIX_MAGIC       0x0907      specialix_port    drivers/char/specialix_io8.h
AURORA_MAGIC          0x0A18      Aurora_port       drivers/sbus/char/aurora.h
HDLC_MAGIC            0x239e      n_hdlc            drivers/char/n_hdlc.c
APM_BIOS_MAGIC        0x4101      apm_user          arch/i386/kernel/apm.c
CYCLADES_MAGIC        0x4359      cyclades_port     include/linux/cyclades.h
DB_MAGIC              0x4442      fc_info           drivers/net/iph5526_novram.c
DL_MAGIC              0x444d      fc_info           drivers/net/iph5526_novram.c
FASYNC_MAGIC          0x4601      fasync_struct     include/linux/fs.h
FF_MAGIC              0x4646      fc_info           drivers/net/iph5526_novram.c
ISICOM_MAGIC          0x4d54      isi_port          include/linux/isicom.h
PTY_MAGIC             0x5001                        drivers/char/pty.c
PPP_MAGIC             0x5002      ppp               include/linux/if_pppvar.h
SERIAL_MAGIC          0x5301      async_struct      include/linux/serial.h
SSTATE_MAGIC          0x5302      serial_state      include/linux/serial.h
SLIP_MAGIC            0x5302      slip              drivers/net/slip.h
STRIP_MAGIC           0x5303      strip             drivers/net/strip.c
X25_ASY_MAGIC         0x5303      x25_asy           drivers/net/x25_asy.h
SIXPACK_MAGIC         0x5304      sixpack           drivers/net/hamradio/6pack.h
AX25_MAGIC            0x5316      ax_disp           drivers/net/mkiss.h
ESP_MAGIC             0x53ee      esp_struct        drivers/char/esp.h
TTY_MAGIC             0x5401      tty_struct        include/linux/tty.h
MGSL_MAGIC            0x5401      mgsl_info         drivers/char/synclink.c
TTY_DRIVER_MAGIC      0x5402      tty_driver        include/linux/tty_driver.h
MGSLPC_MAGIC          0x5402      mgslpc_info       drivers/char/pcmcia/synclink_cs.c
TTY_LDISC_MAGIC       0x5403      tty_ldisc         include/linux/tty_ldisc.h
USB_SERIAL_MAGIC      0x6702      usb_serial        drivers/usb/serial/usb-serial.h
FULL_DUPLEX_MAGIC     0x6969                        drivers/net/tulip/de2104x.c
USB_BLUETOOTH_MAGIC   0x6d02      usb_bluetooth     drivers/usb/class/bluetty.c
RFCOMM_TTY_MAGIC      0x6d02                        net/bluetooth/rfcomm/tty.c
USB_SERIAL_PORT_MAGIC 0x7301      usb_serial_port   drivers/usb/serial/usb-serial.h
CG_MAGIC              0x00090255  ufs_cylinder_group include/linux/ufs_fs.h
A2232_MAGIC           0x000a2232  gs_port           drivers/char/ser_a2232.h
SOLARIS_SOCKET_MAGIC  0x000ADDED  sol_socket_struct arch/sparc64/solaris/socksys.h
RPORT_MAGIC           0x00525001  r_port            drivers/char/rocket_int.h
LSEMAGIC              0x05091998  lse               drivers/fc4/fc.c
GDTIOCTL_MAGIC        0x06030f07  gdth_iowr_str     drivers/scsi/gdth_ioctl.h
RIEBL_MAGIC           0x09051990                    drivers/net/atarilance.c
RIO_MAGIC             0x12345678  gs_port           drivers/char/rio/rio_linux.c
SX_MAGIC              0x12345678  gs_port           drivers/char/sx.h
NBD_REQUEST_MAGIC     0x12560953  nbd_request       include/linux/nbd.h
RED_MAGIC2            0x170fc2a5  (any)             mm/slab.c
BAYCOM_MAGIC          0x19730510  baycom_state      drivers/net/baycom_epp.c
ISDN_X25IFACE_MAGIC   0x1e75a2b9  isdn_x25iface_proto_data
                                                    drivers/isdn/isdn_x25iface.h
ECP_MAGIC             0x21504345  cdkecpsig         include/linux/cdk.h
LSOMAGIC              0x27091997  lso               drivers/fc4/fc.c
LSMAGIC               0x2a3b4d2a  ls                drivers/fc4/fc.c
WANPIPE_MAGIC         0x414C4453  sdla_{dump,exec}  include/linux/wanpipe.h
CS_CARD_MAGIC         0x43525553  cs_card           sound/oss/cs46xx.c
LABELCL_MAGIC         0x4857434c  labelcl_info_s    include/asm/ia64/sn/labelcl.h
ISDN_ASYNC_MAGIC      0x49344C01  modem_info        include/linux/isdn.h
CTC_ASYNC_MAGIC       0x49344C01  ctc_tty_info      drivers/s390/net/ctctty.c
ISDN_NET_MAGIC        0x49344C02  isdn_net_local_s  drivers/isdn/i4l/isdn_net_lib.h
SAVEKMSG_MAGIC2       0x4B4D5347  savekmsg          arch/*/amiga/config.c
STLI_BOARDMAGIC       0x4bc6c825  stlibrd           include/linux/istallion.h
CS_STATE_MAGIC        0x4c4f4749  cs_state          sound/oss/cs46xx.c
SLAB_C_MAGIC          0x4f17a36d  kmem_cache_s      mm/slab.c
COW_MAGIC             0x4f4f4f4d  cow_header_v1     arch/um/drivers/ubd_user.c
I810_CARD_MAGIC       0x5072696E  i810_card         sound/oss/i810_audio.c
TRIDENT_CARD_MAGIC    0x5072696E  trident_card      sound/oss/trident.c
ROUTER_MAGIC          0x524d4157  wan_device        include/linux/wanrouter.h
SCC_MAGIC             0x52696368  gs_port           drivers/char/scc.h
SAVEKMSG_MAGIC1       0x53415645  savekmsg          arch/*/amiga/config.c
GDA_MAGIC             0x58464552  gda               include/asm-mips64/sn/gda.h
RED_MAGIC1            0x5a2cf071  (any)             mm/slab.c
STL_PORTMAGIC         0x5a7182c9  stlport           include/linux/stallion.h
EEPROM_MAGIC_VALUE    0X5ab478d2  lanai_dev         drivers/atm/lanai.c
HDLCDRV_MAGIC         0x5ac6e778  hdlcdrv_state     include/linux/hdlcdrv.h
EPCA_MAGIC            0x5c6df104  channel           include/linux/epca.h
PCXX_MAGIC            0x5c6df104  channel           drivers/char/pcxx.h
KV_MAGIC              0x5f4b565f  kernel_vars_s     include/asm-mips64/sn/klkernvars.h
I810_STATE_MAGIC      0x63657373  i810_state        sound/oss/i810_audio.c
TRIDENT_STATE_MAGIC   0x63657373  trient_state      sound/oss/trident.c
M3_CARD_MAGIC         0x646e6f50  m3_card           sound/oss/maestro3.c
FW_HEADER_MAGIC       0x65726F66  fw_header         drivers/atm/fore200e.h
SLOT_MAGIC            0x67267321  slot              drivers/hotplug/cpqphp.h
SLOT_MAGIC            0x67267322  slot              drivers/hotplug/acpiphp.h
LO_MAGIC              0x68797548  nbd_device        include/linux/nbd.h
OPROFILE_MAGIC        0x6f70726f  super_block       drivers/oprofile/oprofilefs.h
M3_STATE_MAGIC        0x734d724d  m3_state          sound/oss/maestro3.c
STL_PANELMAGIC        0x7ef621a1  stlpanel          include/linux/stallion.h
VMALLOC_MAGIC         0x87654320  snd_alloc_track   sound/core/memory.c
KMALLOC_MAGIC         0x87654321  snd_alloc_track   sound/core/memory.c
PWC_MAGIC             0x89DC10AB  pwc_device        drivers/usb/media/pwc.h
NBD_REPLY_MAGIC       0x96744668  nbd_reply         include/linux/nbd.h
STL_BOARDMAGIC        0xa2267f52  stlbrd            include/linux/stallion.h
ENI155_MAGIC          0xa54b872d  midway_eprom	    drivers/atm/eni.h
SCI_MAGIC             0xbabeface  gs_port           drivers/char/sh-sci.h
CODA_MAGIC            0xC0DAC0DA  coda_file_info    include/linux/coda_fs_i.h
DPMEM_MAGIC           0xc0ffee11  gdt_pci_sram      drivers/scsi/gdth.h
STLI_PORTMAGIC        0xe671c7a1  stliport          include/linux/istallion.h
YAM_MAGIC             0xF10A7654  yam_port          drivers/net/hamradio/yam.c
CCB_MAGIC             0xf2691ad2  ccb               drivers/scsi/ncr53c8xx.c
QUEUE_MAGIC_FREE      0xf7e1c9a3  queue_entry       drivers/scsi/arm/queue.c
QUEUE_MAGIC_USED      0xf7e1cc33  queue_entry       drivers/scsi/arm/queue.c
HTB_CMAGIC            0xFEFAFEF1  htb_class         net/sched/sch_htb.c
NMI_MAGIC             0x48414d4d455201 nmi_s        include/asm-mips64/sn/nmi.h

Note that there are also defined special per-driver magic numbers in sound
memory management. See include/sound/sndmagic.h for complete list of them. Many
OSS sound drivers have their magic numbers constructed from the soundcard PCI
ID - these are not listed here as well.

IrDA subsystem also uses large number of own magic numbers, see
include/net/irda/irda.h for a complete list of them.

HFS is another larger user of magic numbers - you can find them in
fs/hfs/hfs.h.
