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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? access.c

?? 話帶數(shù)據(jù)中傳真解調(diào)程序
?? C
字號(hào):
/* *	$Id: access.c,v 1.3 1999/01/27 14:53:02 mj Exp $ * *	The PCI Library -- User Access * *	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 <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <string.h>#include "internal.h"static struct pci_methods *pci_methods[PCI_ACCESS_MAX] = {  NULL,#ifdef HAVE_PM_LINUX_PROC  &pm_linux_proc,#else  NULL,#endif#ifdef HAVE_PM_SYSCALLS  &pm_syscalls,#else  NULL,#endif#ifdef HAVE_PM_INTEL_CONF  &pm_intel_conf1,  &pm_intel_conf2,#else  NULL,  NULL,#endif#ifdef HAVE_PM_DUMP  &pm_dump,#else  NULL,#endif};struct pci_access *pci_alloc(void){  struct pci_access *a = malloc(sizeof(struct pci_access));  int i;  bzero(a, sizeof(*a));  a->id_file_name = PATH_PCI_IDS;  for(i=0; i<PCI_ACCESS_MAX; i++)    if (pci_methods[i] && pci_methods[i]->config)      pci_methods[i]->config(a);  return a;}void *pci_malloc(struct pci_access *a, int size){  void *x = malloc(size);  if (!x)    a->error("Out of memory (allocation of %d bytes failed)", size);  return x;}voidpci_mfree(void *x){  if (x)    free(x);}static voidpci_generic_error(char *msg, ...){  va_list args;  va_start(args, msg);  fputs("pcilib: ", stderr);  vfprintf(stderr, msg, args);  fputc('\n', stderr);  exit(1);}static voidpci_generic_warn(char *msg, ...){  va_list args;  va_start(args, msg);  fputs("pcilib: ", stderr);  vfprintf(stderr, msg, args);  fputc('\n', stderr);}static voidpci_generic_debug(char *msg, ...){  va_list args;  va_start(args, msg);  vfprintf(stdout, msg, args);  va_end(args);}static voidpci_null_debug(char * UNUSED msg, ...){}voidpci_init(struct pci_access *a){  if (!a->error)    a->error = pci_generic_error;  if (!a->warning)    a->warning = pci_generic_warn;  if (!a->debug)    a->debug = pci_generic_debug;  if (!a->debugging)    a->debug = pci_null_debug;  if (a->method)    {      if (a->method >= PCI_ACCESS_MAX || !pci_methods[a->method])	a->error("This access method is not supported.");      a->methods = pci_methods[a->method];    }  else    {      unsigned int i;      for(i=0; i<PCI_ACCESS_MAX; i++)	if (pci_methods[i])	  {	    a->debug("Trying method %d...", i);	    if (pci_methods[i]->detect(a))	      {		a->debug("...OK\n");		a->methods = pci_methods[i];		a->method = i;		break;	      }	    a->debug("...No.\n");	  }      if (!a->methods)	a->error("Cannot find any working access method.");    }  a->debug("Decided to use %s\n", a->methods->name);  a->methods->init(a);}voidpci_cleanup(struct pci_access *a){  struct pci_dev *d, *e;  for(d=a->devices; d; d=e)    {      e = d->next;      pci_free_dev(d);    }  if (a->methods)    a->methods->cleanup(a);  pci_free_name_list(a);  pci_mfree(a);}voidpci_scan_bus(struct pci_access *a){  a->methods->scan(a);}struct pci_dev *pci_alloc_dev(struct pci_access *a){  struct pci_dev *d = pci_malloc(a, sizeof(struct pci_dev));  bzero(d, sizeof(*d));  d->access = a;  d->methods = a->methods;  if (d->methods->init_dev)    d->methods->init_dev(d);  return d;}intpci_link_dev(struct pci_access *a, struct pci_dev *d){  d->next = a->devices;  a->devices = d;  return 1;}struct pci_dev *pci_get_dev(struct pci_access *a, int bus, int dev, int func){  struct pci_dev *d = pci_alloc_dev(a);  d->bus = bus;  d->dev = dev;  d->func = func;  return d;}void pci_free_dev(struct pci_dev *d){  if (d->methods->cleanup_dev)    d->methods->cleanup_dev(d);  pci_mfree(d);}static inline voidpci_read_data(struct pci_dev *d, void *buf, int pos, int len){  if (pos & (len-1))    d->access->error("Unaligned read: pos=%02x, len=%d", pos, len);  if (pos + len <= d->cache_len)    memcpy(buf, d->cache + pos, len);  else if (!d->methods->read(d, pos, buf, len))    memset(buf, 0xff, len);}bytepci_read_byte(struct pci_dev *d, int pos){  byte buf;  pci_read_data(d, &buf, pos, 1);  return buf;}wordpci_read_word(struct pci_dev *d, int pos){  word buf;  pci_read_data(d, &buf, pos, 2);  return le16_to_cpu(buf);}u32pci_read_long(struct pci_dev *d, int pos){  u32 buf;  pci_read_data(d, &buf, pos, 4);  return le32_to_cpu(buf);}intpci_read_block(struct pci_dev *d, int pos, byte *buf, int len){  return d->methods->read(d, pos, buf, len);}static inline intpci_write_data(struct pci_dev *d, void *buf, int pos, int len){  if (pos & (len-1))    d->access->error("Unaligned write: pos=%02x,len=%d", pos, len);  if (pos + len <= d->cache_len)    memcpy(d->cache + pos, buf, len);  return d->methods->write(d, pos, buf, len);}intpci_write_byte(struct pci_dev *d, int pos, byte data){  return pci_write_data(d, &data, pos, 1);}intpci_write_word(struct pci_dev *d, int pos, word data){  word buf = cpu_to_le16(data);  return pci_write_data(d, &buf, pos, 2);}intpci_write_long(struct pci_dev *d, int pos, u32 data){  u32 buf = cpu_to_le32(data);  return pci_write_data(d, &buf, pos, 4);}intpci_write_block(struct pci_dev *d, int pos, byte *buf, int len){  if (pos < d->cache_len)    {      int l = (pos + len >= d->cache_len) ? (d->cache_len - pos) : len;      memcpy(d->cache + pos, buf, l);    }  return d->methods->write(d, pos, buf, len);}voidpci_fill_info(struct pci_dev *d, int flags){  if (flags & PCI_FILL_RESCAN)    {      flags &= ~PCI_FILL_RESCAN;      d->known_fields = 0;    }  if (flags & ~d->known_fields)    d->methods->fill_info(d, flags & ~d->known_fields);  d->known_fields |= flags;}voidpci_setup_cache(struct pci_dev *d, byte *cache, int len){  d->cache = cache;  d->cache_len = len;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲福利社区一区| 香蕉乱码成人久久天堂爱免费| 九九精品一区二区| 一区二区免费在线| 亚洲欧美视频一区| 亚洲视频一区二区在线观看| 国产精品国产三级国产aⅴ原创 | 偷偷要91色婷婷| 亚洲五码中文字幕| 亚洲成人激情社区| 天天做天天摸天天爽国产一区 | 国产白丝网站精品污在线入口| 久久精品国产99国产精品| 不卡一区二区三区四区| 国产福利一区二区三区视频在线| 狠狠色丁香婷婷综合久久片| 国产精选一区二区三区| 国产成人在线观看免费网站| 成人av午夜影院| 91美女视频网站| 欧美少妇性性性| 成人在线一区二区三区| 精品国产91乱码一区二区三区 | 美女在线一区二区| 久久se精品一区精品二区| 韩国成人精品a∨在线观看| 国产呦萝稀缺另类资源| 成人理论电影网| 色婷婷综合久久久久中文一区二区 | 蜜臀91精品一区二区三区| 久久99久久精品| 国产91高潮流白浆在线麻豆 | 国产精品自拍三区| 成人午夜激情视频| 93久久精品日日躁夜夜躁欧美| 一本到不卡精品视频在线观看 | 日本一区二区三区四区在线视频| 中文字幕亚洲视频| 在线观看91精品国产入口| 日日夜夜免费精品视频| 久久免费视频一区| 国产精品电影一区二区| 亚洲一级片在线观看| 蜜桃久久精品一区二区| 国产成人av一区二区三区在线| 99re这里只有精品首页| 6080午夜不卡| 国产人成亚洲第一网站在线播放| 亚洲欧洲色图综合| 大白屁股一区二区视频| 色综合色狠狠综合色| 91精品国产欧美一区二区成人| 国产片一区二区| 亚洲一级电影视频| 国产精品一级二级三级| 91久久精品一区二区三| 精品国产一区二区国模嫣然| 一区二区三区四区中文字幕| 麻豆精品久久久| 91丨九色丨蝌蚪富婆spa| 欧美一区二区啪啪| 亚洲美女免费在线| 国产精品一区二区视频| 欧美群妇大交群中文字幕| 日本一二三不卡| 日本不卡高清视频| 色综合久久综合网97色综合| 欧美精品一区二区蜜臀亚洲| 亚洲午夜av在线| 成a人片亚洲日本久久| 日韩免费一区二区三区在线播放| 成人欧美一区二区三区白人| 紧缚奴在线一区二区三区| 在线观看中文字幕不卡| 国产精品午夜春色av| 中文在线一区二区| 美女尤物国产一区| 欧美日韩精品一区二区在线播放| 日韩一区在线看| 精品一区二区三区在线播放视频 | 日韩精品一区国产麻豆| 一区二区三区不卡在线观看 | 久久亚洲免费视频| 首页综合国产亚洲丝袜| 91久久久免费一区二区| 亚洲欧洲精品天堂一级| 国产激情一区二区三区桃花岛亚洲| 欧美精品 日韩| 午夜久久久久久| 欧美在线制服丝袜| 亚洲视频电影在线| 欧美一区二区三区爱爱| 中文字幕一区二区三区在线播放| 极品少妇xxxx精品少妇偷拍| 制服丝袜亚洲播放| 亚洲成人www| 在线精品视频一区二区| 自拍偷拍国产精品| 99在线精品观看| 欧美高清在线精品一区| 国产成人精品一区二区三区四区| 日韩欧美一二三| 午夜精品久久久| 欧美日韩mp4| 尤物av一区二区| 一本色道**综合亚洲精品蜜桃冫| 欧美国产日韩亚洲一区| 国产成人午夜电影网| 欧美国产激情二区三区| 白白色 亚洲乱淫| 国产精品青草久久| 91丝袜呻吟高潮美腿白嫩在线观看| 精品久久久久久久久久久院品网 | 午夜精品久久久久久久久| 欧美三级三级三级爽爽爽| 亚洲成av人片在www色猫咪| 欧美亚洲尤物久久| 亚洲成人av在线电影| 欧美精品一二三| 日韩av高清在线观看| 日韩美女视频在线| 国产麻豆成人精品| 久久久www成人免费无遮挡大片| 国产精品一卡二卡在线观看| 中文成人综合网| 97久久久精品综合88久久| 一区二区三区在线免费播放 | 国产精品萝li| 日本高清不卡视频| 亚洲福利国产精品| 日韩午夜av一区| 国产精品一线二线三线精华| 国产精品素人一区二区| 色吧成人激情小说| 日韩专区中文字幕一区二区| 日韩精品一区二区三区swag| 国产盗摄女厕一区二区三区| 《视频一区视频二区| 91久久人澡人人添人人爽欧美| 亚洲成人综合网站| 精品美女在线播放| 色欧美片视频在线观看在线视频| 丝袜诱惑制服诱惑色一区在线观看| 日韩三级精品电影久久久| 国产精品一卡二卡| 亚洲一区二区偷拍精品| 日韩欧美国产三级| 成人免费电影视频| 亚洲一卡二卡三卡四卡五卡| 久久只精品国产| 日本韩国欧美一区二区三区| 美女视频第一区二区三区免费观看网站| 久久久久久久精| 欧美色图一区二区三区| 久久99深爱久久99精品| 亚洲日本va午夜在线影院| 8x8x8国产精品| 成人午夜av影视| 亚洲成a人v欧美综合天堂 | 蜜臀av一区二区在线观看| 日本一区二区三区视频视频| 欧美日韩精品电影| 国产不卡免费视频| 蜜臀99久久精品久久久久久软件 | 黄页网站大全一区二区| 亚洲人亚洲人成电影网站色| 日韩一级大片在线观看| 成人视屏免费看| 一区二区三区四区亚洲| 精品91自产拍在线观看一区| 欧美在线小视频| 粉嫩av一区二区三区粉嫩| 欧美aⅴ一区二区三区视频| 亚洲欧美日韩国产成人精品影院 | 日韩va亚洲va欧美va久久| 亚洲婷婷国产精品电影人久久| 激情综合亚洲精品| 亚洲国产精品一区二区久久| 国产精品视频你懂的| 欧美一区二区三区人| 色狠狠一区二区| 成人国产精品免费观看动漫| 久久国产精品露脸对白| 午夜视频在线观看一区二区三区| 国产精品蜜臀av| 日韩免费视频线观看| 欧美日本一区二区在线观看| 99久久99精品久久久久久 | 日韩亚洲电影在线| 欧美在线小视频| 99精品桃花视频在线观看| 国产精品综合二区| 日精品一区二区三区| 一区二区三区欧美| 国产色婷婷亚洲99精品小说| 日本电影欧美片| 99re视频这里只有精品| 国产成人精品影院| 国内精品国产三级国产a久久| 日韩av中文字幕一区二区三区|