The Class Code register is read-only and is used to identify the
generic function of the device and,in some cases, a specific registerlevel programming interface.
The register is broken into three bytesize fields.
The upper byte (at offset 0Bh) is a base class code which
broadly classifies the type of function the device performs.
The middle byte (at offset 0Ah) is a sub-class code which identifies more
specifically the function of the device.
The lower byte (at offset 09h) identifies a specific register-level programming interface (if any) so that device independent software can interact with the device.
Base Class (at offset 0Bh), Sub-class (at offset 0Ah).
BaseClass = 0x01 - Mass storage controller
0x02 - Network controller
0x03 - Display controller
0x06 - Bridge device
0x0C - Serial bus controller