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

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

?? iin_aspi.cpp

?? PS2游戲硬盤直灌(HDL)的Windows下VC的源代碼
?? CPP
字號(hào):
/* * iin_aspi.c * $Id: iin_aspi.c,v 1.5 2004/12/04 10:20:52 b081 Exp $ * * Copyright 2004 Bobi B., w1zard0f07@yahoo.com * * This file is part of hdl_dump. * * hdl_dump is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * hdl_dump is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with hdl_dump; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#include <windows.h>#include <ctype.h>#include <stdio.h>#include <time.h>#include "wnaspi32.h"#include "iin_aspi.h"#include "osal.h"#include "retcodes.h"#include "iin.h"#include "aspi_hlio.h"/* that is for a preliminary check only; device is probed anyway */#define MAX_HOSTS   15#define MAX_SCSI_ID 15#define MAX_LUN      7typedef struct iin_aspi_type{  iin_t iin;  int host, scsi_id, lun;  u_int32_t size_in_sectors, sector_size; /* cached; can be obtained always, by calling aspi_stat */  char *unaligned, *buffer;  unsigned long error_code; /* against aspi_... */} iin_aspi_t;/**************************************************************/static intaspicd_stat (iin_t *iin,	     u_int32_t *sector_size,	     u_int32_t *size_in_sectors){  const iin_aspi_t *aspi = (const iin_aspi_t*) iin;  *sector_size = aspi->sector_size;  *size_in_sectors = aspi->size_in_sectors;  return (RET_OK);}/**************************************************************/static intaspicd_read (iin_t *iin,	     u_int32_t start_sector,	     u_int32_t num_sectors,	     const char **data,	     u_int32_t *length){  iin_aspi_t *aspi = (iin_aspi_t*) iin;  int result;  /* TODO: divide requests on chunks, of up to 16KB data each */  result = aspi_read_10 (aspi->host, aspi->scsi_id, aspi->lun,			 start_sector, (num_sectors * IIN_SECTOR_SIZE +					aspi->sector_size - 1) / aspi->sector_size,			 aspi->buffer);  if (result == RET_OK)    {      *data = aspi->buffer;      *length = num_sectors * IIN_SECTOR_SIZE;    }  else    aspi->error_code = aspi_get_last_error_code ();  return (result);}/**************************************************************/static intaspicd_close (iin_t *iin){  iin_aspi_t *aspi = (iin_aspi_t*) iin;  osal_free (aspi->unaligned);  osal_free (aspi);  aspi_unload ();  return (RET_OK);}/**************************************************************/static char*aspicd_last_error (iin_t *iin){  iin_aspi_t *aspi = (iin_aspi_t*) iin;  return ((char*) aspi_get_error_msg (aspi->error_code));}/**************************************************************/static voidaspicd_dispose_error (iin_t *iin,		      char* error){  aspi_dispose_error_msg (error);}/**************************************************************/static iin_t*aspicd_alloc (int host, int scsi_id, int lun,	      u_int32_t size_in_sectors,	      u_int32_t sector_size,	      u_int32_t reqd_alignment){  iin_aspi_t *aspi;  /* make data buffer compatible with unbuffered file I/O (should be aligned @ sector size) */  if (reqd_alignment < 512)    reqd_alignment = 512;  aspi = (iin_aspi_t*) osal_alloc (sizeof (iin_aspi_t));  if (aspi != NULL)    {      char *tmp = (char *)osal_alloc (IIN_NUM_SECTORS * IIN_SECTOR_SIZE + reqd_alignment);      if (tmp != NULL)	{	  memset (aspi, 0, sizeof (iin_aspi_t));	  aspi->iin.stat = &aspicd_stat;	  aspi->iin.read = &aspicd_read;	  aspi->iin.close = &aspicd_close;	  aspi->iin.last_error = &aspicd_last_error;	  aspi->iin.dispose_error = &aspicd_dispose_error;	  strcpy (aspi->iin.source_type, "Optical drive via ASPI");	  aspi->host = host; aspi->scsi_id = scsi_id; aspi->lun = lun;	  aspi->size_in_sectors = size_in_sectors;	  aspi->sector_size = sector_size;	  aspi->unaligned = tmp;	  aspi->buffer = (char *)(void*) (((long) tmp + reqd_alignment - 1) & ~(reqd_alignment - 1));	}      else	{ /* unable to allocate read buffer */	  osal_free (aspi);	  aspi = NULL;	}          }  return ((iin_t*) aspi);}/**************************************************************/intiin_aspi_probe_path (const char *path,		     iin_t **iin){  int result = RET_NOT_COMPAT;  int host, scsi_id, lun;  int aspi_init = 0;  /* expected pattern is "cd0:2:0" */  if (tolower (path [0]) == 'c' &&      tolower (path [1]) == 'd')    {      char *endp;      host = strtol (path + 2, &endp, 10);      if (host >= 0 && host <= MAX_HOSTS && *endp == ':')	{	  scsi_id = strtol (endp + 1, &endp, 10);	  if (scsi_id >= 0 && scsi_id <= MAX_SCSI_ID && *endp == ':')	    {	      lun = strtol (endp + 1, &endp, 10);	      if (lun >= 0 && lun <= MAX_LUN && *endp == '\0')		result = RET_OK;	    }	}    }  if (result == RET_OK)    {      result = aspi_load ();      aspi_init = result == RET_OK;    }  if (result == RET_OK)    { /* pattern matched */      u_int32_t size_in_sectors, sector_size;      result = aspi_stat (host, scsi_id, lun, &sector_size, &size_in_sectors);      if (result == RET_OK)	{ /* TODO: inquire SCSI host/device to ask the required alignment */	  *iin = aspicd_alloc (host, scsi_id, lun,			       size_in_sectors, sector_size,			       512);	  if (iin != NULL)	    ;	  else	    result = RET_NO_MEM;	}    }  if (result != RET_OK && aspi_init)    aspi_unload ();  return (result);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利视频网站一区二区三区| 久久亚洲二区三区| 国产精品18久久久久久vr| 日韩电影一二三区| 午夜影视日本亚洲欧洲精品| 亚洲综合丝袜美腿| 丝袜美腿亚洲色图| 免费一区二区视频| 国产一区999| 福利电影一区二区三区| 成人午夜激情影院| 91色|porny| 欧美中文字幕亚洲一区二区va在线| yourporn久久国产精品| 一本在线高清不卡dvd| 在线视频国产一区| 精品国产91久久久久久久妲己 | 亚洲成人资源在线| 秋霞午夜av一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 视频在线观看91| 激情综合网天天干| 99re热视频精品| 欧美日韩视频在线观看一区二区三区| 欧美日韩精品久久久| 精品国产91洋老外米糕| 亚洲色大成网站www久久九九| 亚洲毛片av在线| 日韩av午夜在线观看| 国产精品亚洲午夜一区二区三区| av电影天堂一区二区在线观看| 欧洲av一区二区嗯嗯嗯啊| 欧美一级在线观看| 国产精品伦一区| 日韩精品乱码av一区二区| 国产永久精品大片wwwapp| 色综合久久天天综合网| 日韩欧美亚洲国产精品字幕久久久| 国产精品欧美极品| 麻豆精品蜜桃视频网站| 91小视频免费观看| 久久久久久久综合色一本| 亚洲高清免费视频| 成人久久久精品乱码一区二区三区 | 日韩电影在线免费| jiyouzz国产精品久久| 欧美成人精精品一区二区频| 亚洲女与黑人做爰| 国产xxx精品视频大全| 日韩一级黄色大片| 一区二区久久久久久| 国产不卡一区视频| 欧美精品一区二区三| 首页综合国产亚洲丝袜| 欧美亚洲一区二区三区四区| 国产亚洲成年网址在线观看| 日本麻豆一区二区三区视频| 在线观看91精品国产入口| 国产精品久久久一区麻豆最新章节| 久久99国产精品久久99果冻传媒| 欧美视频日韩视频在线观看| 亚洲黄色小视频| 成人免费三级在线| 国产视频一区二区在线| 加勒比av一区二区| 欧美精品一区男女天堂| 国产一区在线视频| 久久精品视频一区二区三区| 国产一区二区三区av电影| 日韩一级免费一区| 另类综合日韩欧美亚洲| 日韩精品一区二区三区蜜臀| 蜜桃91丨九色丨蝌蚪91桃色| 日韩欧美成人一区| 久久精品国产99国产精品| 欧美一级精品大片| 美女视频黄a大片欧美| 欧美成人精品3d动漫h| 国产一区二区在线视频| 欧美激情在线看| 成人午夜电影久久影院| 综合久久国产九一剧情麻豆| 在线一区二区观看| 亚洲韩国一区二区三区| 日韩亚洲欧美综合| 九色porny丨国产精品| 国产亚洲短视频| 91精彩视频在线观看| 亚洲第一电影网| 日韩欧美一区在线观看| 国产综合色在线| 国产午夜一区二区三区| 成人av小说网| 亚洲成人av一区二区| 91精品国产欧美一区二区18| 麻豆国产91在线播放| 日本一区二区三区四区| 欧美日韩一区高清| 狠狠色丁香久久婷婷综合丁香| 国产欧美精品日韩区二区麻豆天美| 波多野洁衣一区| 亚洲观看高清完整版在线观看| 欧美一区二区三区影视| 久久99精品网久久| 中文字幕一区二区三区不卡在线| 欧日韩精品视频| 国产一区二区不卡| 亚洲综合视频网| 国产亚洲一二三区| 欧美系列亚洲系列| 国产成人精品在线看| 亚洲va韩国va欧美va精品 | 色国产精品一区在线观看| 日韩影院免费视频| 国产精品国产三级国产三级人妇| 欧美高清www午色夜在线视频| 国产麻豆欧美日韩一区| 亚洲综合清纯丝袜自拍| 国产视频不卡一区| 91精品国产一区二区三区蜜臀 | 欧美精品一区二区三区久久久| 一本大道久久a久久精品综合| 久久99热这里只有精品| 亚洲欧美日韩在线播放| 久久综合中文字幕| 91精品国产综合久久精品麻豆| yourporn久久国产精品| 极品少妇一区二区| 日本欧美一区二区| 一区二区三区成人| 国产精品久久久久精k8| 久久嫩草精品久久久久| 制服丝袜av成人在线看| 欧美日韩国产色站一区二区三区| 成人激情免费视频| 国产露脸91国语对白| 九九国产精品视频| 日本在线观看不卡视频| 午夜精品免费在线观看| 一区二区三区四区五区视频在线观看| 久久精品免费在线观看| 精品福利一二区| 精品国产精品网麻豆系列| 日韩欧美一区二区三区在线| 欧美日韩电影在线| 91精品国产福利| 51精品视频一区二区三区| 欧美日韩成人在线一区| 欧美日韩黄色一区二区| 在线成人小视频| 在线不卡欧美精品一区二区三区| 欧美猛男gaygay网站| 欧美精品一二三区| 欧美一级片免费看| 欧美不卡123| 欧美va亚洲va国产综合| 精品剧情在线观看| 久久亚洲欧美国产精品乐播| 国产欧美一区二区三区在线老狼| 久久久久久免费| 中文字幕亚洲综合久久菠萝蜜| 一区在线观看免费| 一二三区精品视频| 美女网站视频久久| 狠狠色伊人亚洲综合成人| 国产精品资源在线| 99re6这里只有精品视频在线观看| 成年人午夜久久久| 色久优优欧美色久优优| 欧美精选在线播放| 久久综合狠狠综合久久综合88| 国产欧美一区二区三区在线看蜜臀| 国产精品久久久久aaaa| 亚洲成人精品影院| 国产精品18久久久久久久久久久久| 国产suv精品一区二区883| 色综合天天综合网天天狠天天| 欧美曰成人黄网| 欧美成人欧美edvon| 国产精品久久网站| 日本欧美加勒比视频| 99精品一区二区| 91精品国产色综合久久久蜜香臀| 日韩欧美国产三级| 国产精品久久毛片a| 日韩成人av影视| 波多野结衣精品在线| 91麻豆精品国产91久久久久久| 欧美国产丝袜视频| 日韩 欧美一区二区三区| www.一区二区| 日韩精品一区在线| 亚洲视频香蕉人妖| 国产一区二区三区在线看麻豆| 一本一本大道香蕉久在线精品 | 亚洲欧美日韩一区| 激情偷乱视频一区二区三区| 91成人免费电影| 欧美国产激情一区二区三区蜜月| 亚洲第四色夜色|