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

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

?? generic.c

?? 話帶數據中傳真解調程序
?? C
字號:
/* *	$Id: generic.c,v 1.4 1999/02/28 20:23:10 mj Exp $ * *	The PCI Library -- Generic Direct Access Functions * *	Copyright (c) 1997--1999 Martin Mares <mj@atrey.karlin.mff.cuni.cz> * *	Can be freely distributed and used under the terms of the GNU GPL. */#include <string.h>#include "internal.h"static voidpci_generic_scan_bus(struct pci_access *a, byte *busmap, int bus){  int dev, multi, ht;  struct pci_dev *t = pci_alloc_dev(a);  a->debug("Scanning bus %02x for devices...\n", bus);  if (busmap[bus])    {      a->warning("Bus %02x seen twice (firmware bug). Ignored.", bus);      return;    }  busmap[bus] = 1;  t->bus = bus;  for(dev=0; dev<32; dev++)    {      t->dev = dev;      multi = 0;      for(t->func=0; t->func<8; t->func++)	{	  u32 vd = pci_read_long(t, PCI_VENDOR_ID);	  struct pci_dev *d;	  if (!vd || vd == 0xffffffff)	    break;	  ht = pci_read_byte(t, PCI_HEADER_TYPE);	  if (!t->func)	    multi = ht & 0x80;	  ht &= 0x7f;	  d = pci_alloc_dev(a);	  d->bus = t->bus;	  d->dev = t->dev;	  d->func = t->func;	  d->vendor_id = vd & 0xffff;	  d->device_id = vd >> 16U;	  d->known_fields = PCI_FILL_IDENT;	  d->hdrtype = ht;	  pci_link_dev(a, d);	  switch (ht)	    {	    case PCI_HEADER_TYPE_NORMAL:	      break;	    case PCI_HEADER_TYPE_BRIDGE:	    case PCI_HEADER_TYPE_CARDBUS:	      pci_generic_scan_bus(a, busmap, pci_read_byte(t, PCI_SECONDARY_BUS));	      break;	    default:	      a->debug("Device %02x:%02x.%d has unknown header type %02x.\n", d->bus, d->dev, d->func, ht);	    }	  if (!multi)	    break;	}    }}voidpci_generic_scan(struct pci_access *a){  byte busmap[256];  bzero(busmap, sizeof(busmap));  pci_generic_scan_bus(a, busmap, 0);}voidpci_generic_fill_info(struct pci_dev *d, int flags){  struct pci_access *a = d->access;  if (flags & PCI_FILL_IDENT)    {      d->vendor_id = pci_read_word(d, PCI_VENDOR_ID);      d->device_id = pci_read_word(d, PCI_DEVICE_ID);    }  if (flags & PCI_FILL_IRQ)    d->irq = pci_read_byte(d, PCI_INTERRUPT_LINE);  if (flags & PCI_FILL_BASES)    {      int cnt = 0, i;      bzero(d->base_addr, sizeof(d->base_addr));      switch (d->hdrtype)	{	case PCI_HEADER_TYPE_NORMAL:	  cnt = 6;	  break;	case PCI_HEADER_TYPE_BRIDGE:	  cnt = 2;	  break;	case PCI_HEADER_TYPE_CARDBUS:	  cnt = 1;	  break;	}      if (cnt)	{	  u16 cmd = pci_read_word(d, PCI_COMMAND);	  for(i=0; i<cnt; i++)	    {	      u32 x = pci_read_long(d, PCI_BASE_ADDRESS_0 + i*4);	      if (!x || x == (u32) ~0)		continue;	      d->base_addr[i] = x;	      if (x & PCI_BASE_ADDRESS_SPACE_IO)		{		  if (!a->buscentric && !(cmd & PCI_COMMAND_IO))		    d->base_addr[i] = 0;		}	      else if (a->buscentric || (cmd & PCI_COMMAND_MEMORY))		{		  if ((x & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == PCI_BASE_ADDRESS_MEM_TYPE_64)		    {		      if (i >= cnt-1)			a->warning("%02x:%02x.%d: Invalid 64-bit address seen.", d->bus, d->dev, d->func);		      else			{			  u32 y = pci_read_long(d, PCI_BASE_ADDRESS_0 + (++i)*4);#ifdef HAVE_64BIT_ADDRESS			  d->base_addr[i-1] |= ((pciaddr_t) y) << 32;#else			  if (y)			    {			      a->warning("%02x:%02x.%d 64-bit device address ignored.", d->bus, d->dev, d->func);			      d->base_addr[i-1] = 0;			    }#endif			}		    }		}	      else		d->base_addr[i] = 0;	    }	}    }  if (flags & PCI_FILL_ROM_BASE)    {      int reg = 0;      d->rom_base_addr = 0;      switch (d->hdrtype)	{	case PCI_HEADER_TYPE_NORMAL:	  reg = PCI_ROM_ADDRESS;	  break;	case PCI_HEADER_TYPE_BRIDGE:	  reg = PCI_ROM_ADDRESS1;	  break;	}      if (reg)	{	  u32 a = pci_read_long(d, reg);	  if (a & PCI_ROM_ADDRESS_ENABLE)	    d->rom_base_addr = a;	}    }}static intpci_generic_block_op(struct pci_dev *d, int pos, byte *buf, int len,		 int (*r)(struct pci_dev *d, int pos, byte *buf, int len)){  if ((pos & 1) && len >= 1)    {      if (!r(d, pos, buf, 1))	return 0;      pos++; buf++; len--;    }  if ((pos & 3) && len >= 2)    {      if (!r(d, pos, buf, 2))	return 0;      pos += 2; buf += 2; len -= 2;    }  while (len >= 4)    {      if (!r(d, pos, buf, 4))	return 0;      pos += 4; buf += 4; len -= 4;    }  if (len >= 2)    {      if (!r(d, pos, buf, 2))	return 0;      pos += 2; buf += 2; len -= 2;    }  if (len && !r(d, pos, buf, 1))    return 0;  return 1;}intpci_generic_block_read(struct pci_dev *d, int pos, byte *buf, int len){  return pci_generic_block_op(d, pos, buf, len, d->access->methods->read);}intpci_generic_block_write(struct pci_dev *d, int pos, byte *buf, int len){  return pci_generic_block_op(d, pos, buf, len, d->access->methods->write);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产生活片100| 色综合久久久久综合体 | 成人动漫在线一区| 国产精品1024久久| 国产成人免费视| 国产盗摄一区二区| 成人性生交大片免费看中文| 成人黄色小视频| 91在线国产福利| 日本伦理一区二区| 欧美日韩高清一区| 日韩欧美你懂的| 久久一区二区三区国产精品| 国产色一区二区| 亚洲视频每日更新| 亚洲国产成人av网| 欧美亚洲综合一区| 99国产一区二区三精品乱码| 91麻豆.com| 精品视频一区二区三区免费| 欧美精选一区二区| 日韩免费视频线观看| 久久香蕉国产线看观看99| 国产精品视频第一区| 一区二区三区蜜桃网| 日韩一区精品字幕| 国产一区二区91| hitomi一区二区三区精品| 欧洲在线/亚洲| 欧美电视剧在线观看完整版| 日本一区二区三区免费乱视频| 《视频一区视频二区| 性做久久久久久久免费看| 免费人成精品欧美精品| 国产成人av在线影院| 欧美性欧美巨大黑白大战| 日韩欧美久久一区| |精品福利一区二区三区| 日韩在线卡一卡二| 成人午夜私人影院| 6080日韩午夜伦伦午夜伦| 国产偷国产偷精品高清尤物| 亚洲人成精品久久久久| 六月丁香综合在线视频| 91色综合久久久久婷婷| 日韩午夜电影av| 亚洲美女电影在线| 国产一区二区主播在线| 色呦呦国产精品| 欧美精品一区二区三区四区| 亚洲综合视频在线| 丁香婷婷深情五月亚洲| 欧美日韩高清不卡| 亚洲欧美综合在线精品| 欧美精三区欧美精三区| 久久精品欧美一区二区三区不卡 | 国产日韩精品一区| 亚洲成人一区二区| av一二三不卡影片| 欧美成人一区二区| 亚洲一区欧美一区| 国产盗摄视频一区二区三区| 欧美老年两性高潮| 亚洲精品免费在线| 国产91在线看| 26uuu国产日韩综合| 亚洲地区一二三色| www.在线欧美| 久久综合久久综合久久| 日韩国产在线观看一区| 色婷婷狠狠综合| 国产三级精品在线| 美女在线视频一区| 欧美美女喷水视频| 亚洲中国最大av网站| 白白色 亚洲乱淫| 久久久精品黄色| 久久精品72免费观看| 欧美精品丝袜中出| 亚洲一区在线观看免费| 91日韩一区二区三区| 国产精品另类一区| 国产综合久久久久久鬼色| 欧美一级精品在线| 亚洲成人777| 欧美中文字幕一二三区视频| 成人欧美一区二区三区在线播放| 国产伦精品一区二区三区免费迷| 欧美一区欧美二区| 亚洲午夜一区二区| 欧美区视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 一本久道中文字幕精品亚洲嫩| 国产精品天干天干在观线| 国产精品资源站在线| 久久亚洲一级片| 精品一区二区三区欧美| 日韩精品一区国产麻豆| 欧美a级一区二区| 日韩欧美国产小视频| 蜜臀av国产精品久久久久 | 亚洲综合丁香婷婷六月香| 亚洲少妇最新在线视频| 国产伦理精品不卡| 久久亚洲精精品中文字幕早川悠里| 精品亚洲国内自在自线福利| 欧美刺激脚交jootjob| 精品一区二区三区在线观看国产| 日韩免费一区二区三区在线播放| 久99久精品视频免费观看| 亚洲精品一线二线三线无人区| 久久av中文字幕片| 久久久精品免费网站| 成人午夜在线视频| 亚洲男人的天堂一区二区| 欧美视频一区二区三区在线观看 | 亚洲五月六月丁香激情| 欧美日韩国产一级| 看电影不卡的网站| 国产丝袜美腿一区二区三区| av网站一区二区三区| 一区二区三国产精华液| 678五月天丁香亚洲综合网| 久久爱另类一区二区小说| 国产精品午夜在线观看| 一本到高清视频免费精品| 香蕉成人啪国产精品视频综合网| 欧美一区二区视频网站| 激情国产一区二区| 亚洲欧美在线观看| 欧美日韩国产乱码电影| 精品一区二区三区久久| 国产精品理伦片| 欧美日韩午夜精品| 中文字幕中文乱码欧美一区二区| 九九视频精品免费| 亚洲国产成人一区二区三区| 色吧成人激情小说| 美洲天堂一区二卡三卡四卡视频| 久久美女高清视频| 色噜噜狠狠色综合中国| 男男成人高潮片免费网站| 国产午夜精品久久久久久免费视 | 国产精品美女久久久久久久| 欧美日韩在线观看一区二区| 久久99国产精品久久99| 亚洲欧美一区二区三区久本道91 | 国产农村妇女精品| 欧美四级电影网| 国产在线国偷精品免费看| 一区二区三区中文字幕| 日韩免费一区二区| 91在线观看一区二区| 久久国产免费看| 亚洲一区二区三区国产| 国产喷白浆一区二区三区| 欧美色欧美亚洲另类二区| 国产精品一区二区你懂的| 午夜精品久久久久久久99樱桃| 国产三级精品三级在线专区| 欧美群妇大交群中文字幕| 成人福利视频在线| 久久99久久99精品免视看婷婷 | 91精品国产综合久久小美女| 国产成人精品影视| 五月激情丁香一区二区三区| 欧美激情一区二区在线| 欧美一区二区在线免费播放| 色婷婷精品大在线视频| 国产白丝网站精品污在线入口| 日韩av在线免费观看不卡| 亚洲免费在线观看视频| 中文字幕欧美日韩一区| 精品国产免费视频| 欧美一区二区视频观看视频| 色综合久久综合网欧美综合网| 国产成人av电影| 久久国内精品自在自线400部| 亚洲综合免费观看高清完整版在线| 久久精品欧美日韩精品| 精品国产乱码久久久久久老虎 | 久久精品网站免费观看| 欧美电影免费观看高清完整版在线 | 亚洲在线中文字幕| ...av二区三区久久精品| 国产午夜精品美女毛片视频| 欧美mv日韩mv国产网站app| 91麻豆精品国产自产在线| 日本韩国一区二区三区| av网站免费线看精品| 成人黄色在线网站| 国产91高潮流白浆在线麻豆 | 97精品视频在线观看自产线路二| 国产成人鲁色资源国产91色综| 精品一区二区三区视频| 蜜桃av噜噜一区| 久久精品免费观看| 久久成人18免费观看| 久久 天天综合| 激情久久久久久久久久久久久久久久|