# device classes


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# PCI device classes and subclasses

 baseclass.id		0x000
+baseclass.name		Unclassified device

 baseclass.id		0x000
&subclass.id		0x00
+subclass.name		Unclassified device

 baseclass.id		0x000
&subclass.id		0x01
+subclass.name		VGA compatible unclassified device

 baseclass.id		0x001
+baseclass.name		Mass storage controller

 baseclass.id		0x001
&subclass.id		0x00
+subclass.name		SCSI storage controller

 baseclass.id		0x001
&subclass.id		0x01
+subclass.name		IDE interface

 baseclass.id		0x001
&subclass.id		0x02
+subclass.name		Floppy disk controller

 baseclass.id		0x001
&subclass.id		0x03
+subclass.name		IPI bus controller

 baseclass.id		0x001
&subclass.id		0x04
+subclass.name		RAID bus controller

 baseclass.id		0x001
&subclass.id		0x80
+subclass.name		Storage controller

 baseclass.id		0x002
+baseclass.name		Network controller

 baseclass.id		0x002
&subclass.id		0x00
+subclass.name		Ethernet controller

 baseclass.id		0x002
&subclass.id		0x01
+subclass.name		Token ring network controller

 baseclass.id		0x002
&subclass.id		0x02
+subclass.name		FDDI network controller

 baseclass.id		0x002
&subclass.id		0x03
+subclass.name		ATM network controller

 baseclass.id		0x002
&subclass.id		0x04
+subclass.name		ISDN controller

 baseclass.id		0x002
&subclass.id		0x80
+subclass.name		Network controller

 baseclass.id		0x002
&subclass.id		0x81
+subclass.name		Myrinet controller

 baseclass.id		0x002
&subclass.id		0x82
+subclass.name		WLAN controller

 baseclass.id		0x002
&subclass.id		0x83
+subclass.name		XPNET controller

 baseclass.id		0x002
&subclass.id		0x86
+subclass.name		OSA-Express controller

 baseclass.id		0x002
&subclass.id		0x87
+subclass.name		HiperSocket controller

 baseclass.id		0x002
&subclass.id		0x88
+subclass.name		CTC controller

 baseclass.id		0x002
&subclass.id		0x89
+subclass.name		OSA-2 controller

 baseclass.id		0x002
&subclass.id		0x8e
+subclass.name		FICON controller

 baseclass.id		0x002
&subclass.id		0x8f
+subclass.name		ESCON controller

 baseclass.id		0x002
&subclass.id		0x90
+subclass.name		IUCV connection

 baseclass.id		0x002
&subclass.id		0x91
+subclass.name		USB Host-to-Host link

 baseclass.id		0x003
+baseclass.name		Display controller

 baseclass.id		0x003
&subclass.id		0x00
+subclass.name		VGA compatible controller

 baseclass.id		0x003
&subclass.id		0x00
&progif.id		0x00
+progif.name		VGA

 baseclass.id		0x003
&subclass.id		0x00
&progif.id		0x01
+progif.name		8514

 baseclass.id		0x003
&subclass.id		0x01
+subclass.name		XGA compatible controller

 baseclass.id		0x003
&subclass.id		0x02
+subclass.name		3D controller

 baseclass.id		0x003
&subclass.id		0x80
+subclass.name		Display controller

 baseclass.id		0x004
+baseclass.name		Multimedia controller

 baseclass.id		0x004
&subclass.id		0x00
+subclass.name		Multimedia video controller

 baseclass.id		0x004
&subclass.id		0x01
+subclass.name		Multimedia audio controller

 baseclass.id		0x004
&subclass.id		0x02
+subclass.name		Computer telephony device

 baseclass.id		0x004
&subclass.id		0x80
+subclass.name		Multimedia controller

 baseclass.id		0x005
+baseclass.name		Memory controller

 baseclass.id		0x005
&subclass.id		0x00
+subclass.name		RAM memory

 baseclass.id		0x005
&subclass.id		0x01
+subclass.name		FLASH memory

 baseclass.id		0x005
&subclass.id		0x80
+subclass.name		Memory controller

 baseclass.id		0x006
+baseclass.name		Bridge

 baseclass.id		0x006
&subclass.id		0x00
+subclass.name		Host bridge

 baseclass.id		0x006
&subclass.id		0x01
+subclass.name		ISA bridge

 baseclass.id		0x006
&subclass.id		0x02
+subclass.name		EISA bridge

 baseclass.id		0x006
&subclass.id		0x03
+subclass.name		MicroChannel bridge

 baseclass.id		0x006
&subclass.id		0x04
+subclass.name		PCI bridge

 baseclass.id		0x006
&subclass.id		0x04
&progif.id		0x00
+progif.name		Normal decode

 baseclass.id		0x006
&subclass.id		0x04
&progif.id		0x01
+progif.name		Subtractive decode

 baseclass.id		0x006
&subclass.id		0x05
+subclass.name		PCMCIA bridge

 baseclass.id		0x006
&subclass.id		0x06
+subclass.name		NuBus bridge

 baseclass.id		0x006
&subclass.id		0x07
+subclass.name		CardBus bridge

 baseclass.id		0x006
&subclass.id		0x08
+subclass.name		RACEway bridge

 baseclass.id		0x006
&subclass.id		0x08
&progif.id		0x00
+progif.name		Transparent mode

 baseclass.id		0x006
&subclass.id		0x08
&progif.id		0x01
+progif.name		Endpoint mode

 baseclass.id		0x006
&subclass.id		0x09
+subclass.name		Semi-transparent PCI-to-PCI bridge

 baseclass.id		0x006
&subclass.id		0x09
&progif.id		0x40
+progif.name		Primary bus towards host CPU

 baseclass.id		0x006
&subclass.id		0x09
&progif.id		0x80
+progif.name		Secondary bus towards host CPU

 baseclass.id		0x006
&subclass.id		0x0a
+subclass.name		InfiniBand to PCI host bridge

 baseclass.id		0x006
&subclass.id		0x80
+subclass.name		Bridge

 baseclass.id		0x007
+baseclass.name		Communication controller

 baseclass.id		0x007
&subclass.id		0x00
+subclass.name		Serial controller

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x00
+progif.name		8250

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x01
+progif.name		16450

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x02
+progif.name		16550

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x03
+progif.name		16650

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x04
+progif.name		16750

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x05
+progif.name		16850

 baseclass.id		0x007
&subclass.id		0x00
&progif.id		0x06
+progif.name		16950

 baseclass.id		0x007
&subclass.id		0x01
+subclass.name		Parallel controller

 baseclass.id		0x007
&subclass.id		0x01
&progif.id		0x00
+progif.name		SPP

 baseclass.id		0x007
&subclass.id		0x01
&progif.id		0x01
+progif.name		BiDir

 baseclass.id		0x007
&subclass.id		0x01
&progif.id		0x02
+progif.name		ECP

 baseclass.id		0x007
&subclass.id		0x01
&progif.id		0x03
+progif.name		IEEE1284

 baseclass.id		0x007
&subclass.id		0x01
&progif.id		0xfe
+progif.name		IEEE1284 Target

 baseclass.id		0x007
&subclass.id		0x02
+subclass.name		Multiport serial controller

 baseclass.id		0x007
&subclass.id		0x03
+subclass.name		Modem

 baseclass.id		0x007
&subclass.id		0x03
&progif.id		0x01
+progif.name		Hayes/16450

 baseclass.id		0x007
&subclass.id		0x03
&progif.id		0x02
+progif.name		Hayes/16550

 baseclass.id		0x007
&subclass.id		0x03
&progif.id		0x03
+progif.name		Hayes/16650

 baseclass.id		0x007
&subclass.id		0x03
&progif.id		0x04
+progif.name		Hayes/16750

 baseclass.id		0x007
&subclass.id		0x80
+subclass.name		Communication controller

 baseclass.id		0x007+0x0002
&subclass.id		0x03
&progif.id		0x00
+progif.name		Generic

 baseclass.id		0x008
+baseclass.name		Generic system peripheral

 baseclass.id		0x008
&subclass.id		0x00
+subclass.name		PIC

 baseclass.id		0x008
&subclass.id		0x00
&progif.id		0x00
+progif.name		8259

 baseclass.id		0x008
&subclass.id		0x00
&progif.id		0x01
+progif.name		ISA PIC

 baseclass.id		0x008
&subclass.id		0x00
&progif.id		0x02
+progif.name		EISA PIC

 baseclass.id		0x008
&subclass.id		0x00
&progif.id		0x10
+progif.name		IO-APIC

 baseclass.id		0x008
&subclass.id		0x00
&progif.id		0x20
+progif.name		IO(X)-APIC

 baseclass.id		0x008
&subclass.id		0x01
+subclass.name		DMA controller

 baseclass.id		0x008
&subclass.id		0x01
&progif.id		0x00
+progif.name		8237

 baseclass.id		0x008
&subclass.id		0x01
&progif.id		0x01
+progif.name		ISA DMA

 baseclass.id		0x008
&subclass.id		0x01
&progif.id		0x02
+progif.name		EISA DMA

 baseclass.id		0x008
&subclass.id		0x02
+subclass.name		Timer

 baseclass.id		0x008
&subclass.id		0x02
&progif.id		0x00
+progif.name		8254

 baseclass.id		0x008
&subclass.id		0x02
&progif.id		0x01
+progif.name		ISA Timer

 baseclass.id		0x008
&subclass.id		0x02
&progif.id		0x02
+progif.name		EISA Timers

 baseclass.id		0x008
&subclass.id		0x03
+subclass.name		RTC

 baseclass.id		0x008
&subclass.id		0x03
&progif.id		0x01
+progif.name		ISA RTC

 baseclass.id		0x008
&subclass.id		0x04
+subclass.name		PCI Hot-plug controller

 baseclass.id		0x008
&subclass.id		0x80
+subclass.name		System peripheral

 baseclass.id		0x009
+baseclass.name		Input device controller

 baseclass.id		0x009
&subclass.id		0x00
+subclass.name		Keyboard controller

 baseclass.id		0x009
&subclass.id		0x01
+subclass.name		Digitizer Pen

 baseclass.id		0x009
&subclass.id		0x02
+subclass.name		Mouse controller

 baseclass.id		0x009
&subclass.id		0x03
+subclass.name		Scanner controller

 baseclass.id		0x009
&subclass.id		0x04
+subclass.name		Gameport controller

 baseclass.id		0x009
&subclass.id		0x04
&progif.id		0x00
+progif.name		Generic

 baseclass.id		0x009
&subclass.id		0x04
&progif.id		0x10
+progif.name		Extended

 baseclass.id		0x009
&subclass.id		0x80
+subclass.name		Input device controller

 baseclass.id		0x00a
+baseclass.name		Docking station

 baseclass.id		0x00a
&subclass.id		0x00
+subclass.name		Generic Docking Station

 baseclass.id		0x00a
&subclass.id		0x80
+subclass.name		Docking Station

 baseclass.id		0x00b
+baseclass.name		Processor

 baseclass.id		0x00b
&subclass.id		0x00
+subclass.name		386

 baseclass.id		0x00b
&subclass.id		0x01
+subclass.name		486

 baseclass.id		0x00b
&subclass.id		0x02
+subclass.name		Pentium

 baseclass.id		0x00b
&subclass.id		0x10
+subclass.name		Alpha

 baseclass.id		0x00b
&subclass.id		0x20
+subclass.name		Power PC

 baseclass.id		0x00b
&subclass.id		0x30
+subclass.name		MIPS

 baseclass.id		0x00b
&subclass.id		0x40
+subclass.name		Co-processor

 baseclass.id		0x00c
+baseclass.name		Serial bus controller

 baseclass.id		0x00c
&subclass.id		0x00
+subclass.name		FireWire (IEEE 1394)

 baseclass.id		0x00c
&subclass.id		0x00
&progif.id		0x00
+progif.name		Generic

 baseclass.id		0x00c
&subclass.id		0x00
&progif.id		0x10
+progif.name		OHCI

 baseclass.id		0x00c
&subclass.id		0x01
+subclass.name		ACCESS Bus

 baseclass.id		0x00c
&subclass.id		0x02
+subclass.name		SSA

 baseclass.id		0x00c
&subclass.id		0x03
+subclass.name		USB Controller

 baseclass.id		0x00c
&subclass.id		0x03
&progif.id		0x00
+progif.name		UHCI

 baseclass.id		0x00c
&subclass.id		0x03
&progif.id		0x10
+progif.name		OHCI

 baseclass.id		0x00c
&subclass.id		0x03
&progif.id		0x20
+progif.name		EHCI

 baseclass.id		0x00c
&subclass.id		0x03
&progif.id		0x80
+progif.name		Unspecified

 baseclass.id		0x00c
&subclass.id		0x03
&progif.id		0xfe
+progif.name		USB Device

 baseclass.id		0x00c
&subclass.id		0x04
+subclass.name		Fibre Channel

 baseclass.id		0x00c
&subclass.id		0x05
+subclass.name		SMBus

 baseclass.id		0x00c
&subclass.id		0x06
+subclass.name		InfiniBand

 baseclass.id		0x00d
+baseclass.name		Wireless controller

 baseclass.id		0x00d
&subclass.id		0x00
+subclass.name		IRDA controller

 baseclass.id		0x00d
&subclass.id		0x01
+subclass.name		Consumer IR controller

 baseclass.id		0x00d
&subclass.id		0x10
+subclass.name		RF controller

 baseclass.id		0x00d
&subclass.id		0x80
+subclass.name		Wireless controller

 baseclass.id		0x00e
+baseclass.name		Intelligent controller

 baseclass.id		0x00e
&subclass.id		0x00
+subclass.name		I2O

 baseclass.id		0x00f
+baseclass.name		Satellite communications controller

 baseclass.id		0x00f
&subclass.id		0x00
+subclass.name		Satellite TV controller

 baseclass.id		0x00f
&subclass.id		0x01
+subclass.name		Satellite audio communication controller

 baseclass.id		0x00f
&subclass.id		0x03
+subclass.name		Satellite voice communication controller

 baseclass.id		0x00f
&subclass.id		0x04
+subclass.name		Satellite data communication controller

 baseclass.id		0x010
+baseclass.name		Encryption controller

 baseclass.id		0x010
&subclass.id		0x00
+subclass.name		Network and computing encryption device

 baseclass.id		0x010
&subclass.id		0x10
+subclass.name		Entertainment encryption device

 baseclass.id		0x010
&subclass.id		0x80
+subclass.name		Encryption controller

 baseclass.id		0x011
+baseclass.name		Signal processing controller

 baseclass.id		0x011
&subclass.id		0x00
+subclass.name		DPIO module

 baseclass.id		0x011
&subclass.id		0x01
+subclass.name		Performance counters

 baseclass.id		0x011
&subclass.id		0x10
+subclass.name		Communication synchronizer

 baseclass.id		0x011
&subclass.id		0x80
+subclass.name		Signal processing controller


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# our own class definitions

 baseclass.id		0x0ff
+baseclass.name		Unclassified device

 baseclass.id		0x100
+baseclass.name		Monitor

 baseclass.id		0x100
&subclass.id		0x01
+subclass.name		CRT Monitor

 baseclass.id		0x100
&subclass.id		0x02
+subclass.name		LCD Monitor

 baseclass.id		0x101
+baseclass.name		Internally Used Class

 baseclass.id		0x101
&subclass.id		0x01
+subclass.name		ISA PnP Interface

 baseclass.id		0x101
&subclass.id		0x02
+subclass.name		Main Memory

 baseclass.id		0x101
&subclass.id		0x03
+subclass.name		CPU

 baseclass.id		0x101
&subclass.id		0x04
+subclass.name		FPU

 baseclass.id		0x101
&subclass.id		0x05
+subclass.name		BIOS

 baseclass.id		0x101
&subclass.id		0x06
+subclass.name		PROM

 baseclass.id		0x101
&subclass.id		0x07
+subclass.name		System

 baseclass.id		0x102
+baseclass.name		Modem

 baseclass.id		0x102
&subclass.id		0x00
+subclass.name		Modem

 baseclass.id		0x102
&subclass.id		0x01+4
+subclass.name		LinModem

 baseclass.id		0x103
+baseclass.name		ISDN Adapter

 baseclass.id		0x104
+baseclass.name		PS/2 Controller

 baseclass.id		0x105
+baseclass.name		Mouse

 baseclass.id		0x105
&subclass.id		0x00
+subclass.name		PS/2 Mouse

 baseclass.id		0x105
&subclass.id		0x01
+subclass.name		Serial Mouse

 baseclass.id		0x105
&subclass.id		0x02
+subclass.name		Bus Mouse

 baseclass.id		0x105
&subclass.id		0x03
+subclass.name		USB Mouse

 baseclass.id		0x105
&subclass.id		0x80
+subclass.name		Mouse

 baseclass.id		0x106
+baseclass.name		Mass Storage Device

 baseclass.id		0x106
&subclass.id		0x00
+subclass.name		Disk

 baseclass.id		0x106
&subclass.id		0x01
+subclass.name		Tape

 baseclass.id		0x106
&subclass.id		0x02
+subclass.name		CD-ROM

 baseclass.id		0x106
&subclass.id		0x02
&progif.id		0x01
+progif.name		CD-R

 baseclass.id		0x106
&subclass.id		0x02
&progif.id		0x02
+progif.name		CD-RW

 baseclass.id		0x106
&subclass.id		0x02
&progif.id		0x03
+progif.name		DVD

 baseclass.id		0x106
&subclass.id		0x02
&progif.id		0x04
+progif.name		DVD-R

 baseclass.id		0x106
&subclass.id		0x02
&progif.id		0x05
+progif.name		DVD-RAM

 baseclass.id		0x106
&subclass.id		0x03
+subclass.name		Floppy Disk

 baseclass.id		0x106
&subclass.id		0x80
+subclass.name		Storage Device

 baseclass.id		0x107
+baseclass.name		Network Interface

 baseclass.id		0x107
&subclass.id		0x00
+subclass.name		Loopback

 baseclass.id		0x107
&subclass.id		0x01
+subclass.name		Ethernet

 baseclass.id		0x107
&subclass.id		0x02
+subclass.name		Tokenring

 baseclass.id		0x107
&subclass.id		0x03
+subclass.name		FDDI

 baseclass.id		0x107
&subclass.id		0x04
+subclass.name		CTC

 baseclass.id		0x107
&subclass.id		0x05
+subclass.name		IUCV

 baseclass.id		0x107
&subclass.id		0x06
+subclass.name		HSI

 baseclass.id		0x107
&subclass.id		0x07
+subclass.name		QETH

 baseclass.id		0x107
&subclass.id		0x08
+subclass.name		ESCON

 baseclass.id		0x107
&subclass.id		0x09
+subclass.name		Myrinet

 baseclass.id		0x107
&subclass.id		0x0a
+subclass.name		WLAN

 baseclass.id		0x107
&subclass.id		0x0b
+subclass.name		XPNET

 baseclass.id		0x107
&subclass.id		0x0c
+subclass.name		USB-Link

 baseclass.id		0x107
&subclass.id		0x80
+subclass.name		Network Interface

 baseclass.id		0x108
+baseclass.name		Keyboard

 baseclass.id		0x108
&subclass.id		0x00
+subclass.name		Keyboard

 baseclass.id		0x108
&subclass.id		0x01
+subclass.name		Console

 baseclass.id		0x109
+baseclass.name		Printer

 baseclass.id		0x10a
+baseclass.name		Hub

 baseclass.id		0x10a
&subclass.id		0x01
+subclass.name		USB Hub

 baseclass.id		0x10b
+baseclass.name		Braille Display

 baseclass.id		0x10c
+baseclass.name		Scanner

 baseclass.id		0x10c
&subclass.id		0x01
+subclass.name		HP OfficeJet Scanner

 baseclass.id		0x10d
+baseclass.name		Joystick

 baseclass.id		0x10d
&subclass.id		0x01
+subclass.name		Gamepad

 baseclass.id		0x10e
+baseclass.name		Chipcard Reader

 baseclass.id		0x10f
+baseclass.name		Camera

 baseclass.id		0x10f
&subclass.id		0x01
+subclass.name		WebCam

 baseclass.id		0x10f
&subclass.id		0x02
+subclass.name		Digital Camera

 baseclass.id		0x110
+baseclass.name		Framebuffer

 baseclass.id		0x110
&subclass.id		0x01
+subclass.name		VESA Framebuffer

 baseclass.id		0x111
+baseclass.name		DVB Card

 baseclass.id		0x111
&subclass.id		0x01
+subclass.name		DVB-C Card

 baseclass.id		0x111
&subclass.id		0x02
+subclass.name		DVB-S Card

 baseclass.id		0x111
&subclass.id		0x03
+subclass.name		DVB-T Card

 baseclass.id		0x112
+baseclass.name		TV Card

 baseclass.id		0x113
+baseclass.name		Partition

 baseclass.id		0x114
+baseclass.name		DSL Card

 baseclass.id		0x115
+baseclass.name		Bluetooth Device

 baseclass.id		0x116
+baseclass.name		Fingerprint Reader

 baseclass.id		0x117
+baseclass.name		MMC Controller

