home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005 / CHIP Utilities 2005.iso / dosapps / pci / classes.pas next >
Encoding:
Pascal/Delphi Source File  |  2004-06-27  |  9.0 KB  |  203 lines

  1. { PCI Classes }
  2.  
  3. type pci_record =
  4.   record
  5.     class,
  6.     subclass,
  7.     progif      : byte;
  8.     name        : string[40];
  9.   end;
  10.  
  11. const
  12.    pci_class_names      : array [0..$11] of string[40] = (
  13.  
  14.    'Unknown',
  15.    'Storage',
  16.    'Network',
  17.    'Display',
  18.    'Multimedia',
  19.    'Memory',
  20.    'Bridge',
  21.    'Simple Communication',
  22.    'System',
  23.    'Input',
  24.    'Docking',
  25.    'Processor',
  26.    'Serial',
  27.    'Wireless',
  28.    'Intelligent I/O',
  29.    'Satellite Communication',
  30.    'En/Decryption',
  31.    'Data Aquisition & Signal Processing'
  32.    );
  33.  
  34.  
  35.    high_class_name    : word = $11;    { update this to same as line above }
  36.  
  37.    high_class_array    : word = 140;    { update this to same as line below }
  38.  
  39.    pci_class_array : array [0..140] of pci_record = (
  40.  
  41.    (class:$00;subclass:$00;progif:$00;name:'Undefined'),
  42.    (class:$00;subclass:$01;progif:$00;name:'VGA'),
  43.  
  44.    (class:$01;subclass:$00;progif:$00;name:'SCSI'),
  45.    (class:$01;subclass:$01;progif:$00;name:'IDE'),
  46.    (class:$01;subclass:$02;progif:$00;name:'Floppy'),
  47.    (class:$01;subclass:$03;progif:$00;name:'IPI'),
  48.    (class:$01;subclass:$04;progif:$00;name:'RAID'),
  49.    (class:$01;subclass:$05;progif:$20;name:'ATA (Single DMA)'),
  50.    (class:$01;subclass:$05;progif:$30;name:'ATA (Chained DMA)'),
  51.    (class:$01;subclass:$06;progif:$00;name:'Serial ATA'),
  52.    (class:$01;subclass:$80;progif:$00;name:'Other'),
  53.  
  54.    (class:$02;subclass:$00;progif:$00;name:'Ethernet'),
  55.    (class:$02;subclass:$01;progif:$00;name:'Token Ring'),
  56.    (class:$02;subclass:$02;progif:$00;name:'FDDI'),
  57.    (class:$02;subclass:$03;progif:$00;name:'ATM'),
  58.    (class:$02;subclass:$04;progif:$00;name:'ISDN'),
  59.    (class:$02;subclass:$05;progif:$00;name:'WorldFip'),
  60.    (class:$02;subclass:$06;progif:$00;name:'PICMG 2.14'),
  61.    (class:$02;subclass:$80;progif:$00;name:'Other'),
  62.  
  63.    (class:$03;subclass:$00;progif:$00;name:'VGA'),
  64.    (class:$03;subclass:$00;progif:$01;name:'VGA+8514'),
  65.    (class:$03;subclass:$01;progif:$00;name:'XGA'),
  66.    (class:$03;subclass:$02;progif:$00;name:'3D'),
  67.    (class:$03;subclass:$80;progif:$00;name:'Other'),
  68.  
  69.    (class:$04;subclass:$00;progif:$00;name:'Video'),
  70.    (class:$04;subclass:$01;progif:$00;name:'Audio'),
  71.    (class:$04;subclass:$02;progif:$00;name:'Telephony'),
  72.    (class:$04;subclass:$80;progif:$00;name:'Other'),
  73.  
  74.    (class:$05;subclass:$00;progif:$00;name:'RAM'),
  75.    (class:$05;subclass:$01;progif:$00;name:'Flash'),
  76.    (class:$05;subclass:$80;progif:$00;name:'Other'),
  77.  
  78.    (class:$06;subclass:$00;progif:$00;name:'PCI to HOST'),
  79.    (class:$06;subclass:$01;progif:$00;name:'PCI to ISA'),
  80.    (class:$06;subclass:$02;progif:$00;name:'PCI to EISA'),
  81.    (class:$06;subclass:$03;progif:$00;name:'PCI to MCA'),
  82.    (class:$06;subclass:$04;progif:$00;name:'PCI to PCI'),
  83.    (class:$06;subclass:$04;progif:$01;name:'PCI to PCI (Subtractive Decode)'),
  84.    (class:$06;subclass:$05;progif:$00;name:'PCI to PCMCIA'),
  85.    (class:$06;subclass:$06;progif:$00;name:'PCI to NuBUS'),
  86.    (class:$06;subclass:$07;progif:$00;name:'PCI to Cardbus'),
  87.    (class:$06;subclass:$08;progif:$00;name:'PCI to RACEway (Transparent)'),
  88.    (class:$06;subclass:$08;progif:$01;name:'PCI to RACEway (End-point)'),
  89.    (class:$06;subclass:$09;progif:$40;name:'PCI to PCI (Primary bus to host)'),
  90.    (class:$06;subclass:$09;progif:$80;name:'PCI to PCI (Secondary bus to host)'),
  91.    (class:$06;subclass:$0A;progif:$00;name:'PCI to InfiBand'),
  92.    (class:$06;subclass:$80;progif:$00;name:'PCI to Other'),
  93.  
  94.    (class:$07;subclass:$00;progif:$00;name:'Serial'),
  95.    (class:$07;subclass:$00;progif:$01;name:'Serial - 16450'),
  96.    (class:$07;subclass:$00;progif:$02;name:'Serial - 16550'),
  97.    (class:$07;subclass:$00;progif:$03;name:'Serial - 16650'),
  98.    (class:$07;subclass:$00;progif:$04;name:'Serial - 16750'),
  99.    (class:$07;subclass:$00;progif:$05;name:'Serial - 16850'),
  100.    (class:$07;subclass:$00;progif:$06;name:'Serial - 16950'),
  101.    (class:$07;subclass:$01;progif:$00;name:'Parallel'),
  102.    (class:$07;subclass:$01;progif:$01;name:'Parallel - BiDir'),
  103.    (class:$07;subclass:$01;progif:$02;name:'Parallel - ECP'),
  104.    (class:$07;subclass:$01;progif:$03;name:'Parallel - IEEE1284 Controller'),
  105.    (class:$07;subclass:$01;progif:$FE;name:'Parallel - IEEE1284 Target'),
  106.    (class:$07;subclass:$02;progif:$00;name:'Multiport Serial'),
  107.    (class:$07;subclass:$03;progif:$00;name:'Hayes Compatible Modem'),
  108.    (class:$07;subclass:$03;progif:$01;name:'Hayes Compatible Modem, 16450'),
  109.    (class:$07;subclass:$03;progif:$02;name:'Hayes Compatible Modem, 16550'),
  110.    (class:$07;subclass:$03;progif:$03;name:'Hayes Compatible Modem, 16650'),
  111.    (class:$07;subclass:$03;progif:$04;name:'Hayes Compatible Modem, 16750'),
  112.    (class:$07;subclass:$04;progif:$00;name:'GPIB (IEEE 488.1/2)'),
  113.    (class:$07;subclass:$05;progif:$00;name:'Smart Card'),
  114.    (class:$07;subclass:$80;progif:$00;name:'Other'),
  115.  
  116.    (class:$08;subclass:$00;progif:$00;name:'PIC'),
  117.    (class:$08;subclass:$00;progif:$01;name:'ISA PIC'),
  118.    (class:$08;subclass:$00;progif:$02;name:'EISA PIC'),
  119.    (class:$08;subclass:$00;progif:$10;name:'I/O APIC'),
  120.    (class:$08;subclass:$00;progif:$20;name:'I/O(x) APIC'),
  121.    (class:$08;subclass:$01;progif:$00;name:'DMA'),
  122.    (class:$08;subclass:$01;progif:$01;name:'ISA DMA'),
  123.    (class:$08;subclass:$01;progif:$02;name:'EISA DMA'),
  124.    (class:$08;subclass:$02;progif:$00;name:'Timer'),
  125.    (class:$08;subclass:$02;progif:$01;name:'ISA Timer'),
  126.    (class:$08;subclass:$02;progif:$02;name:'EISA Timer'),
  127.    (class:$08;subclass:$03;progif:$00;name:'RTC'),
  128.    (class:$08;subclass:$03;progif:$01;name:'ISA RTC'),
  129.    (class:$08;subclass:$04;progif:$00;name:'Hot-Plug'),
  130.    (class:$08;subclass:$80;progif:$00;name:'Other'),
  131.  
  132.    (class:$09;subclass:$00;progif:$00;name:'Keyboard'),
  133.    (class:$09;subclass:$01;progif:$00;name:'Pen'),
  134.    (class:$09;subclass:$02;progif:$00;name:'Mouse'),
  135.    (class:$09;subclass:$03;progif:$00;name:'Scanner'),
  136.    (class:$09;subclass:$04;progif:$00;name:'Game Port'),
  137.    (class:$09;subclass:$04;progif:$10;name:'Game Port (Legacy)'),
  138.    (class:$09;subclass:$80;progif:$00;name:'Other'),
  139.  
  140.    (class:$0a;subclass:$00;progif:$00;name:'Generic'),
  141.    (class:$0a;subclass:$80;progif:$00;name:'Other'),
  142.  
  143.    (class:$0b;subclass:$00;progif:$00;name:'386'),
  144.    (class:$0b;subclass:$01;progif:$00;name:'486'),
  145.    (class:$0b;subclass:$02;progif:$00;name:'Pentium'),
  146.    (class:$0b;subclass:$03;progif:$00;name:'PentiumPro'),
  147.    (class:$0b;subclass:$10;progif:$00;name:'DEC Alpha'),
  148.    (class:$0b;subclass:$20;progif:$00;name:'PowerPC'),
  149.    (class:$0b;subclass:$30;progif:$00;name:'MIPS'),
  150.    (class:$0b;subclass:$40;progif:$00;name:'Coprocessor'),
  151.    (class:$0b;subclass:$80;progif:$00;name:'Other'),
  152.  
  153.    (class:$0c;subclass:$00;progif:$00;name:'FireWire'),
  154.    (class:$0c;subclass:$00;progif:$10;name:'OHCI FireWire'),
  155.    (class:$0c;subclass:$01;progif:$00;name:'ACCESS.bus'),
  156.    (class:$0c;subclass:$02;progif:$00;name:'SSA'),
  157.    (class:$0c;subclass:$03;progif:$00;name:'USB (UHCI)'),
  158.    (class:$0c;subclass:$03;progif:$10;name:'USB (OHCI)'),
  159.    (class:$0c;subclass:$03;progif:$20;name:'USB (EHCI)'),
  160.    (class:$0c;subclass:$03;progif:$80;name:'USB'),
  161.    (class:$0c;subclass:$03;progif:$FE;name:'USB Device'),
  162.    (class:$0c;subclass:$04;progif:$00;name:'Fibre Channel'),
  163.    (class:$0c;subclass:$05;progif:$00;name:'SMBus Controller'),
  164.    (class:$0c;subclass:$06;progif:$00;name:'InfiniBand'),
  165.    (class:$0c;subclass:$07;progif:$00;name:'IPMI (SMIC)'),
  166.    (class:$0c;subclass:$07;progif:$01;name:'IPMI (Keyb)'),
  167.    (class:$0c;subclass:$07;progif:$02;name:'IPMI (Block Tx)'),
  168.    (class:$0c;subclass:$08;progif:$00;name:'SERCOS (IEC61491)'),
  169.    (class:$0c;subclass:$09;progif:$00;name:'CANbus'),
  170.    (class:$0c;subclass:$80;progif:$00;name:'Other'),
  171.  
  172.    (class:$0d;subclass:$00;progif:$00;name:'iRDA Controller'),
  173.    (class:$0d;subclass:$01;progif:$00;name:'Consumer IR'),
  174.    (class:$0d;subclass:$10;progif:$00;name:'RF controller'),
  175.    (class:$0d;subclass:$11;progif:$00;name:'Bluetooth'),
  176.    (class:$0d;subclass:$12;progif:$00;name:'Broadband'),
  177.    (class:$0d;subclass:$20;progif:$00;name:'Wireless Ethernet 802.11a'),
  178.    (class:$0d;subclass:$21;progif:$00;name:'Wireless Ethernet 802.11b'),
  179.    (class:$0d;subclass:$80;progif:$00;name:'Other'),
  180.  
  181.    (class:$0e;subclass:$00;progif:$00;name:'I2O'),
  182.    (class:$0e;subclass:$80;progif:$00;name:'Other'),
  183.  
  184.    (class:$0f;subclass:$01;progif:$00;name:'TV'),
  185.    (class:$0f;subclass:$02;progif:$00;name:'Audio'),
  186.    (class:$0f;subclass:$03;progif:$00;name:'Voice'),
  187.    (class:$0f;subclass:$04;progif:$00;name:'Data'),
  188.    (class:$0f;subclass:$80;progif:$00;name:'Other'),
  189.  
  190.    (class:$10;subclass:$00;progif:$00;name:'Network'),
  191.    (class:$10;subclass:$10;progif:$00;name:'Entertainment'),
  192.    (class:$10;subclass:$80;progif:$00;name:'Other'),
  193.  
  194.    (class:$11;subclass:$00;progif:$00;name:'DPIO Modules'),
  195.    (class:$11;subclass:$01;progif:$00;name:'Performance Counters'),
  196.    (class:$11;subclass:$10;progif:$00;name:'Comm. Sync, Time+Freq. Measurement'),
  197.    (class:$11;subclass:$20;progif:$00;name:'Management Card'),
  198.    (class:$11;subclass:$80;progif:$00;name:'Other')
  199.  
  200.    );
  201.  
  202.  
  203.