亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pcicfg.cpp

?? windwos環境下查看PCI驅動信息的源代碼。
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/************************************************************************/
/*									*/
/*  Version 1.19							*/
/*	 by Ralf Brown							*/
/*									*/
/*  File pcicfg.cpp	       PCI configuration data dumper		*/
/*  LastEdit: 10jan99							*/
/*									*/
/*  (c) Copyright 1995,1996,1997,1998,1999 Ralf Brown			*/
/*									*/
/*  This code may be freely redistributed in its entirety.  Excerpts    */
/*  may be incorporated into other programs provided that credit is     */
/*  given.								*/
/*									*/
/************************************************************************/

#include <ctype.h>
#include <dos.h>
#include <io.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define VERSION "1.19"

#define lengthof(x) ((sizeof(x))/(sizeof(x[0])))

#ifdef __TURBOC__
# pragma option -a-  /* byte alignment */
#endif /* __TURBOC__ */

#ifndef FALSE
# define FALSE (0)
#endif /* FALSE */

#ifndef TRUE
# define TRUE (!FALSE)
#endif /* TRUE */

/************************************************************************/
/*	Manifest Constants						*/
/************************************************************************/

#define CAPLIST_BIT 0x0010		// does device have capabilities list?

#define MAX_LINE     512		// max length of a line in .PCI files
#define MAX_VENDOR_NAME 50		// max length of vendor's name
#define MAX_DEVICE_NAME 50		// max length of device name
#define MAX_VENDOR_DATA 16384		// maximum data per vendor

#define SIGNATURE "PCICFG"		// PCICFG.DAT signature at start of file
#define SIGNATURE_LENGTH (sizeof(SIGNATURE)-1)

/************************************************************************/
/*	Types								*/
/************************************************************************/

typedef unsigned char  BYTE ;
typedef unsigned short WORD ;
typedef unsigned long DWORD ;

//----------------------------------------------------------------------

struct PCIcfg
   {
   WORD	 vendorID ;
   WORD	 deviceID ;
   WORD	 command_reg ;
   WORD	 status_reg ;
   BYTE	 revisionID ;
   BYTE	 progIF ;
   BYTE	 subclass ;
   BYTE	 classcode ;
   BYTE	 cacheline_size ;
   BYTE	 latency ;
   BYTE	 header_type ;
   BYTE	 BIST ;
   union
      {
      struct
	 {
	 DWORD base_address0 ;
	 DWORD base_address1 ;
	 DWORD base_address2 ;
	 DWORD base_address3 ;
	 DWORD base_address4 ;
	 DWORD base_address5 ;
	 DWORD CardBus_CIS ;
	 WORD  subsystem_vendorID ;
	 WORD  subsystem_deviceID ;
	 DWORD expansion_ROM ;
	 BYTE  cap_ptr ;
	 BYTE  reserved1[3] ;
	 DWORD reserved2[1] ;
	 BYTE  interrupt_line ;
	 BYTE  interrupt_pin ;
	 BYTE  min_grant ;
	 BYTE  max_latency ;
	 DWORD device_specific[48] ;
	 } nonbridge ;
      struct
	 {
	 DWORD base_address0 ;
	 DWORD base_address1 ;
	 BYTE  primary_bus ;
	 BYTE  secondary_bus ;
	 BYTE  subordinate_bus ;
	 BYTE  secondary_latency ;
	 BYTE  IO_base_low ;
	 BYTE  IO_limit_low ;
	 WORD  secondary_status ;
	 WORD  memory_base_low ;
	 WORD  memory_limit_low ;
	 WORD  prefetch_base_low ;
	 WORD  prefetch_limit_low ;
	 DWORD prefetch_base_high ;
	 DWORD prefetch_limit_high ;
	 WORD  IO_base_high ;
	 WORD  IO_limit_high ;
	 DWORD reserved2[1] ;
	 DWORD expansion_ROM ;
	 BYTE  interrupt_line ;
	 BYTE  interrupt_pin ;
	 WORD  bridge_control ;
	 DWORD device_specific[48] ;
	 } bridge ;
      struct
	 {
	 DWORD ExCa_base ;
	 BYTE  cap_ptr ;
	 BYTE  reserved05 ;
	 WORD  secondary_status ;
	 BYTE  PCI_bus ;
	 BYTE  CardBus_bus ;
	 BYTE  subordinate_bus ;
	 BYTE  latency_timer ;
	 DWORD memory_base0 ;
	 DWORD memory_limit0 ;
	 DWORD memory_base1 ;
	 DWORD memory_limit1 ;
	 WORD  IObase_0low ;
	 WORD  IObase_0high ;
	 WORD  IOlimit_0low ;
	 WORD  IOlimit_0high ;
	 WORD  IObase_1low ;
	 WORD  IObase_1high ;
	 WORD  IOlimit_1low ;
	 WORD  IOlimit_1high ;
	 BYTE  interrupt_line ;
	 BYTE  interrupt_pin ;
	 WORD  bridge_control ;
	 WORD  subsystem_vendorID ;
	 WORD  subsystem_deviceID ;
	 DWORD legacy_baseaddr ;
	 DWORD cardbus_reserved[14] ;
	 DWORD vendor_specific[32] ;
	 } cardbus ;
      } ;
   } ;

struct subclass_info
   {
   int subclass_code ;
   const char *subclass_name ;
   } ;

/************************************************************************/
/*	Global Data							*/
/************************************************************************/

static const char * const class_names[] =
   {
    "reserved",		// 00
    "disk",		// 01
    "network",		// 02
    "display",		// 03
    "multimedia",	// 04
    "memory",		// 05
    "bridge",		// 06
    "communication",	// 07
    "system peripheral",// 08
    "input",		// 09
    "docking station",	// 0A
    "CPU",		// 0B
    "serial bus",	// 0C
   } ;

static const subclass_info subclass_info_01[] =
   {
     { 0x00, "SCSI" },
     { 0x01, "IDE" },
     { 0x02, "floppy" },
     { 0x03, "IPI"},
     { 0x04, "RAID" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_02[] =
   {
     { 0x00, "Ethernet" },
     { 0x01, "TokenRing" },
     { 0x02, "FDDI" },
     { 0x03, "ATM" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_03[] =
   {
     { 0x00, "VGA" },
     { 0x01, "SuperVGA" },
     { 0x02, "XGA" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_04[] =
   {
     { 0x00, "video" },
     { 0x01, "audio" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_05[] =
   {
     { 0x00, "RAM" },
     { 0x01, "Flash memory" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_06[] =
   {
     { 0x00, "CPU/PCI" },
     { 0x01, "PCI/ISA" },
     { 0x02, "PCI/EISA" },
     { 0x03, "PCI/MCA" },
     { 0x04, "PCI/PCI" },
     { 0x05, "PCI/PCMCIA" },
     { 0x06, "PCI/NuBus" },
     { 0x07, "PCI/CardBus" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_07[] =
   {
     { 0x00, "serial" },
     { 0x01, "parallel" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_08[] =
   {
     { 0x00, "PIC" },
     { 0x01, "DMAC" },
     { 0x02, "timer" },
     { 0x03, "RTC" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_09[] =
   {
     { 0x00, "keyboard" },
     { 0x01, "digitizer" },
     { 0x02, "mouse" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_0A[] =
   {
     { 0x00, "generic" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_0B[] =
   {
     { 0x00, "386" },
     { 0x01, "486" },
     { 0x02, "Pentium" },
     { 0x03, "P6" },
     { 0x10, "Alpha" },
     { 0x40, "coproc" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info subclass_info_0C[] =
   {
     { 0x00, "Firewire" },
     { 0x01, "ACCESS.bus" },
     { 0x02, "SSA" },
     { 0x03, "USB" },
     { 0x04, "Fiber Channel" },
     { 0x80, "other" },
     { -1, 0 },
   } ;

static const subclass_info *subclass_data[] =
   {
   0, subclass_info_01, subclass_info_02,
   subclass_info_03, subclass_info_04, subclass_info_05,
   subclass_info_06, subclass_info_07, subclass_info_08,
   subclass_info_09, subclass_info_0A, subclass_info_0B,
   subclass_info_0C,
   } ;

//----------------------------------------------------------------------

static const char *const command_bits[] =
   {
     "I/O-on",
     "mem-on",
     "busmstr",
     "spec-cyc",
     "invalidate",
     "VGAsnoop",
     "parity-err",
     "wait-cyc",
     "sys-err",                         // bit 8
     "fast-trns",			// bit 9
     0,					// bit 10
     0,					// bit 11
     0,					// bit 12
     0,					// bit 13
     0,					// bit 14
     0,					// bit 15
   } ;

static const char *const status_bits[] =
   {
     0,					// bit 0
     0,					// bit 1
     0,					// bit 2
     0,					// bit 3
     "CapList",                         // bit 4
     "66Mhz",				// bit 5
     "UDF",				// bit 6
     "fast-trns",			// bit 7
     "parity-err",			// bit 8
     0,					// bits 9-10 are select timing
     0,
     "sig-abort",			// bit 11
     "rcv-abort",			// bit 12
     "mst-abort",			// bit 13
     "sig-serr",			// bit 14
     "det-parity",			// bit 15
   } ;

static const char *const bctrl_bits[] =
   {
     "parity-resp",			// bit 0
     0,					// bit 1
     "ISA",				// bit 2
     "VGA",				// bit 3
     0,					// bit 4
     "mst-abort",			// bit 5
     "bus-reset",			// bit 6
     "fast-b2b",			// bit 7
   } ;

static const char *const select_timing[] =
   {
    "fast",
    "med",
    "slow",
    "???"
   } ;

static const char *const PMC_bits[] =
   {
     0, 				// bits 0-2: version (001)
     0,
     0,
     "PME-Clk",				// bit 3: PM Event Clock
     "aux-pwr-PME#",			// bit 4: need aux power for PME#
     "DevSpec Init",                    // bit 5
     0, 				// bits 6-7: DynClk
     0,
     "FullClk",
     "D1-supp",
     "D2-supp",
     "PME#-D0",                         // bit 11
     "PME#-D1",                         // bit 12
     "PME#-D2",                         // bit 13
     "PME#-D3hot",                      // bit 14
     "PME#-D3cold",                     // bit 15
   } ;

/************************************************************************/
/*    global variables							*/
/************************************************************************/

static int verbose = FALSE ;
static int terse = FALSE ;
static int first_device = TRUE ;
static int bypass_BIOS = FALSE ;
static int cfg_mech = 1 ;		// PCI access mechanism: 1 or 2

static char *exe_directory = "." ;

static char *device_ID_data = 0 ;
/* format of ID data once loaded:
          char*  -> next vendor or 0
	  WORD   vendor ID
	  ASCIZ	 vendor name
	  WORD   device ID
	  ASCIZ	 device name

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影免费提供在线观看| 精品久久人人做人人爱| 免播放器亚洲一区| **欧美大码日韩| 一区视频在线播放| 欧美精品第1页| 成人免费不卡视频| 久久99国产精品久久99果冻传媒| 国产精品女同一区二区三区| 日韩欧美美女一区二区三区| 日本大香伊一区二区三区| 国产精品亚洲第一| 麻豆91在线播放免费| 亚洲免费观看高清完整版在线 | 成人性生交大片| 日本成人在线看| 一区二区三区波多野结衣在线观看 | 亚洲日本va午夜在线影院| 精品91自产拍在线观看一区| 欧美久久久久免费| 欧美性感一类影片在线播放| 成人国产精品免费| 国产美女精品人人做人人爽| 麻豆精品一区二区av白丝在线| 亚洲一级二级三级在线免费观看| 中文字幕一区二区在线播放| 国产亚洲精品7777| 久久亚洲精品小早川怜子| 日韩美女视频在线| 日韩欧美三级在线| 欧美一级夜夜爽| 欧美日韩精品欧美日韩精品一综合| 91丨porny丨首页| 99久久久久久| 91色综合久久久久婷婷| 99精品视频一区二区三区| 成人午夜电影久久影院| 国产91清纯白嫩初高中在线观看 | 日韩欧美国产精品一区| 在线成人av网站| 欧美电影在线免费观看| 欧美久久久影院| 91精品国产综合久久香蕉的特点| 91精品国产黑色紧身裤美女| 制服丝袜亚洲色图| 日韩色视频在线观看| 精品国产亚洲在线| 久久综合精品国产一区二区三区| 欧美精品一区男女天堂| 久久天天做天天爱综合色| 久久久久久久综合色一本| 国产亚洲欧美日韩在线一区| 国产女主播在线一区二区| 国产清纯白嫩初高生在线观看91| 亚洲国产精品高清| 亚洲欧美欧美一区二区三区| 亚洲午夜久久久| 视频一区中文字幕国产| 精品在线播放午夜| 国产成人综合在线| 93久久精品日日躁夜夜躁欧美| 一本在线高清不卡dvd| 欧美精品aⅴ在线视频| 精品乱码亚洲一区二区不卡| 久久久国产一区二区三区四区小说 | 欧美mv和日韩mv的网站| 久久蜜桃一区二区| 自拍偷拍欧美激情| 天天免费综合色| 国产一区二区三区日韩| 99久久国产免费看| 在线不卡的av| 国产日产欧美一区| 亚洲一区二区三区中文字幕| 蜜桃av一区二区| 菠萝蜜视频在线观看一区| 在线观看视频一区二区欧美日韩| 91精品国产色综合久久不卡蜜臀 | 国产成人免费在线观看不卡| 一本久久a久久免费精品不卡| 欧美视频完全免费看| 精品裸体舞一区二区三区| 日韩理论片在线| 久久99国产精品麻豆| 色哟哟在线观看一区二区三区| 日韩欧美在线不卡| 亚洲婷婷综合色高清在线| 男男gaygay亚洲| av电影天堂一区二区在线观看| 欧美日本韩国一区二区三区视频| 久久免费视频色| 亚洲成av人综合在线观看| 国产福利一区二区三区视频在线| 欧美又粗又大又爽| 国产欧美va欧美不卡在线| 日韩综合小视频| 成人动漫av在线| 欧美mv和日韩mv的网站| 亚洲综合精品自拍| 岛国av在线一区| 欧美一区二区在线播放| 亚洲免费毛片网站| 国产一区二区久久| 911精品产国品一二三产区 | 日韩经典中文字幕一区| av网站一区二区三区| www欧美成人18+| 日韩二区在线观看| 色婷婷av一区二区三区gif| 国产嫩草影院久久久久| 蜜臀久久99精品久久久画质超高清| 99精品在线免费| 久久久久久久久久久久电影| 日本怡春院一区二区| 欧美视频一区二区三区在线观看 | 国精产品一区一区三区mba桃花| 在线看日本不卡| 中文字幕欧美激情一区| 精品一区二区在线免费观看| 欧美人妇做爰xxxⅹ性高电影| 亚洲欧美自拍偷拍| 成人中文字幕电影| 国产夜色精品一区二区av| 美女精品自拍一二三四| 69成人精品免费视频| 一区二区三区在线不卡| 99久久国产综合精品麻豆| 欧美经典一区二区| 国产乱国产乱300精品| 精品毛片乱码1区2区3区| 免费在线观看成人| 日韩三级免费观看| 日韩在线观看一区二区| 欧美日韩成人在线| 日韩精品一二三四| 7777精品伊人久久久大香线蕉 | 精品国精品自拍自在线| 日韩国产欧美三级| 制服丝袜激情欧洲亚洲| 日韩成人一区二区三区在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 一区二区国产视频| 91丨porny丨国产入口| 亚洲欧美日韩国产成人精品影院 | 亚洲一区二三区| 欧美午夜电影在线播放| 亚洲国产综合视频在线观看| 在线精品亚洲一区二区不卡| 亚洲福利一区二区三区| 欧美精品自拍偷拍动漫精品| 日本美女视频一区二区| 精品国产乱码久久久久久闺蜜| 国产一区二区伦理片| 国产精品久久久久影院| 91麻豆国产精品久久| 一区二区三区高清在线| 在线播放一区二区三区| 国模少妇一区二区三区| 亚洲国产高清aⅴ视频| 色噜噜狠狠色综合中国| 午夜不卡av在线| 26uuu亚洲综合色欧美| 成人性生交大片免费看在线播放| 亚洲色图欧洲色图婷婷| 欧美揉bbbbb揉bbbbb| 麻豆高清免费国产一区| 国产欧美一区二区精品久导航| www.久久久久久久久| 午夜成人免费视频| 国产欧美中文在线| 在线视频一区二区三区| 美日韩黄色大片| 中国色在线观看另类| 欧美三区在线观看| 国产一区二区精品久久99| 亚洲欧美激情视频在线观看一区二区三区| 欧美性猛交一区二区三区精品| 免费人成黄页网站在线一区二区| 中文字幕欧美三区| 337p亚洲精品色噜噜噜| 成人av网站在线| 日本aⅴ精品一区二区三区 | 欧美三级在线视频| 黄色日韩三级电影| 樱桃国产成人精品视频| 精品欧美久久久| 色哟哟一区二区| 国产一区二区福利视频| 亚洲综合免费观看高清完整版| 欧美成人国产一区二区| 在线看日本不卡| 国产传媒一区在线| 日本强好片久久久久久aaa| 国产精品素人一区二区| 91麻豆精品久久久久蜜臀| 91免费看`日韩一区二区| 久久爱www久久做| 亚洲 欧美综合在线网络| 中文字幕av一区二区三区免费看| 欧美久久高跟鞋激|