# the information in this file comes from openbsd:
# - /sys/dev/pci/pcireg.h
# - /sys/dev/pci/pci_subr.c

class	0x00	Prehistoric
class	0x01	Mass storage
class	0x02	Network
class	0x03	Display
class	0x04	Multimedia
class	0x05	Memory
class	0x06	Bridge
class	0x07	Communications
class	0x08	System
class	0x09	Input
class	0x0a	Dock
class	0x0b	Processor
class	0x0c	Serial bus
class	0x0d	Wireless
class	0x0e	I2O
class	0x0f		Satellite communications
class	0x10	Crypto
class	0x11	DASP


# prehistoric
subclass	0x00	0x00	miscellaneous
subclass	0x00	0x01	VGA


# mass storage
subclass	0x01	0x00	SCSI
subclass	0x01	0x01	IDE
subclass	0x01	0x02	floppy
subclass	0x01	0x03	IPI
subclass	0x01	0x04	RAID
subclass	0x01	0x05	ATA
subclass	0x01	0x06	SATA
subclass	0x01	0x80	miscellaneous


# network
subclass	0x02	0x00	Ethernet
subclass	0x02	0x01	Tokenring
subclass	0x02	0x02	FDDI
subclass	0x02	0x03	ATM
subclass	0x02	0x04	ISDN
subclass	0x02	0x05	WorldFip
subclass	0x02	0x06	PCMIG Multi Computing
subclass	0x02	0x80	Miscellaneous


# display
subclass	0x03	0x00	VGA
subclass	0x03	0x01	XGA
subclass	0x03	0x02	3D
subclass	0x03	0x80	Miscellaneous


# multimedia
subclass	0x04	0x00	Video
subclass	0x04	0x01	Audio
subclass	0x04	0x02	Telephony
subclass	0x04	0x80	Miscellaneous


# memory
subclass	0x05	0x00	RAM
subclass	0x05	0x01	Flash
subclass	0x05	0x80	Miscellaneous


# bridge
subclass	0x06	0x00	Host
subclass	0x06	0x01	ISA
subclass	0x06	0x02	EISA
subclass	0x06	0x03	MicroChannel
subclass	0x06	0x04	PCI
subclass	0x06	0x05	PCMCIA
subclass	0x06	0x06	NuBus
subclass	0x06	0x07	CardBus
subclass	0x06	0x08	RACEway
subclass	0x06	0x09	Semi-transparent PCI
subclass	0x06	0x0a		InfiniBand
subclass	0x06	0x80	Miscellaneous


# communications
subclass	0x07	0x00	Serial
subclass	0x07	0x01	Parallel
subclass	0x07	0x02	Multi-port serial
subclass	0x07	0x03	Modem
subclass	0x07	0x04	GPIB
subclass	0x07	0x05	Smartcard
subclass	0x07	0x80	Miscellaneous


# system
subclass	0x08	0x00	8259 PIC
subclass	0x08	0x01	8237 DMA
subclass	0x08	0x02	8254 timer
subclass	0x08	0x03	RTC
subclass	0x08	0x04	PCI Hot-Plug
subclass	0x08	0x80	Miscellaneous


# input
subclass	0x09	0x00	Keyboard
subclass	0x09	0x01	Digitizer
subclass	0x09	0x02	Mouse
subclass	0x09	0x03	Scanner
subclass	0x09	0x04	Game port
subclass	0x09	0x80	Miscellaneous


# dock
subclass	0x0a	0x00	Generic
subclass	0x0a	0x80	Miscellaneous


# processor
subclass	0x0b	0x00	386
subclass	0x0b	0x01	486
subclass	0x0b	0x02	Pentium
subclass	0x0b	0x10	Alpha
subclass	0x0b	0x20	PowerPC
subclass	0x0b	0x30	MIPS
subclass	0x0b	0x40	Co-processor


# serial bus
subclass	0x0c	0x00	Firewire
subclass	0x0c	0x01	ACCESS.bus
subclass	0x0c	0x02	SSA
subclass	0x0c	0x03	USB
subclass	0x0c	0x04	Fiber
subclass	0x0c	0x05	SMBus
subclass	0x0c	0x06	InfiniBand
subclass	0x0c	0x07	IPMI
subclass	0x0c	0x08	SERCOS
subclass	0x0c	0x09	CANbus


# wireless
subclass	0x0d	0x00	IrDA
subclass	0x0d	0x01	Consumer IR
subclass	0x0d	0x10	RF
subclass	0x0d	0x11	Bluetooth
subclass	0x0d	0x12	Broadband
subclass	0x0d	0x20	802.11a
subclass	0x0d	0x21	802.11b
subclass	0x0d	0x80	Miscellaneous


# I2O
subclass	0x0e		0x00	Standard


# satellite communication
subclass	0x0f		0x01	TV
subclass	0x0f		0x02	Audio
subclass	0x0f		0x03	Voice
subclass	0x0f		0x04	Data


# encryption/decryption
subclass	0x10	0x00	Network/Computing
subclass	0x10	0x10	Entertainment
subclass	0x10	0x80	Miscellaneous


# data acquisition and signal processing
subclass	0x11	0x00	DPIO
subclass	0x11	0x01	Time and Frequency
subclass	0x11	0x10	Sync
subclass	0x11	0x20	MGMT
subclass	0x11	0x80	Miscellaneous
