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

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

?? iin_optical.cpp

?? PS2游戲硬盤直灌(HDL)的Windows下VC的源代碼
?? CPP
字號:
/* * iin_optical.c * $Id: iin_optical.c,v 1.8 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 <assert.h>#include <ctype.h>#include <string.h>#include "iin_optical.h"#include "osal.h"#include "retcodes.h"#include "aligned.h"typedef struct iin_optical_type{  iin_t iin;  osal_handle_t device;  aligned_t *al;  unsigned long error_code; /* against osal_... */} iin_optical_t;/**************************************************************/static intopt_stat (iin_t *iin,	  u_int32_t *sector_size,	  u_int32_t *num_sectors){  iin_optical_t *opt = (iin_optical_t*) iin;  u_int64_t size_in_bytes;  int result = osal_get_device_size (opt->device, &size_in_bytes);  if (result == OSAL_OK)    {      *sector_size = IIN_SECTOR_SIZE;      *num_sectors = (u_int32_t) (size_in_bytes / IIN_SECTOR_SIZE);    }  else    opt->error_code = osal_get_last_error_code ();  return (result);}/**************************************************************/static intopt_read (iin_t *iin,	  u_int32_t start_sector,	  u_int32_t num_sectors,	  const char **data,	  u_int32_t *length){  iin_optical_t *opt = (iin_optical_t*) iin;  int result = al_read (opt->al, (u_int64_t) start_sector * IIN_SECTOR_SIZE, data,			num_sectors * IIN_SECTOR_SIZE, length);  if (result == RET_OK)    ;  else    opt->error_code = osal_get_last_error_code ();  return (result);}/**************************************************************/static intopt_close (iin_t *iin){  iin_optical_t *opt = (iin_optical_t*) iin;  int result;  al_free (opt->al);  result = osal_close (opt->device);  if (result == RET_OK)    ;  else    opt->error_code = osal_get_last_error_code ();  osal_free (iin);  return (result);}/**************************************************************/static char*opt_last_error (iin_t *iin){  iin_optical_t *opt = (iin_optical_t*) iin;  return (osal_get_error_msg (opt->error_code));}/**************************************************************/static voidopt_dispose_error (iin_t *iin,		   char* error){  osal_dispose_error_msg (error);}/**************************************************************/static iin_optical_t*opt_alloc (osal_handle_t device,	   u_int32_t device_sector_size){  iin_optical_t *opt = (iin_optical_t*) osal_alloc (sizeof (iin_optical_t));  if (opt != NULL)    {      iin_t *iin = &opt->iin;      aligned_t *al = al_alloc (device, device_sector_size,				IIN_SECTOR_SIZE * IIN_NUM_SECTORS / device_sector_size);      if (al != NULL)	{ /* success */	  memset (opt, 0, sizeof (iin_optical_t));	  iin->stat = &opt_stat;	  iin->read = &opt_read;	  iin->close = &opt_close;	  iin->last_error = &opt_last_error;	  iin->dispose_error = &opt_dispose_error;	  strcpy (iin->source_type, "Optical drive");	  opt->device = device;	  opt->al = al;	}      else	{ /* failed */	  osal_free (opt);	  opt = NULL;	}    }  return (opt);}/**************************************************************/intiin_optical_probe_path (const char *path,			iin_t **iin){  if (tolower (path [0]) == 'c' &&      tolower (path [1]) == 'd' &&      isdigit (path [2]) &&      ((path [3] == ':' &&	path [4] == '\0') ||       (isdigit (path [3]) &&	path [4] == ':' &&	path [5] == '\0')))    { /* "cd?:" or "cd??:" matched */      char device_name [MAX_PATH];      int result = osal_map_device_name (path, device_name);      if (result == OSAL_OK)	{	  osal_handle_t device;	  result = osal_open (device_name, &device, 1);	  if (result == OSAL_OK)	    {	      u_int32_t sector_size;	      result = osal_get_device_sect_size (device, &sector_size);	      if (result == OSAL_OK)		{		  *iin = (iin_t*) opt_alloc (device, sector_size);		  if (*iin != NULL)		    ; /* success */		  else		    { /* opt_alloc failed */		      osal_close (device);		      result = RET_NO_MEM;		    }		}	    }	}      return (result);    }  else    return (RET_NOT_COMPAT);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频一区二区不卡| 日本一二三四高清不卡| 2023国产精华国产精品| 亚洲激情校园春色| 国产精品一区二区91| 欧美日韩精品二区第二页| 国产视频一区二区在线| 免费黄网站欧美| 欧美在线观看一区| 中文字幕欧美一| 国产一区二区三区在线观看免费 | 日韩午夜激情视频| 亚洲国产毛片aaaaa无费看| 成人在线综合网| 久久久精品tv| 精品亚洲国产成人av制服丝袜| 欧美日韩午夜在线视频| 亚洲自拍与偷拍| 91免费国产在线| 国产精品久久99| 国产成人av电影在线| 久久尤物电影视频在线观看| 免费在线看成人av| 欧美电影一区二区| 婷婷久久综合九色综合伊人色| 91免费看`日韩一区二区| 中文字幕在线不卡| 99天天综合性| 中文字幕中文乱码欧美一区二区| 国产九色sp调教91| 久久久91精品国产一区二区三区| 寂寞少妇一区二区三区| 日韩欧美一二区| 国产一区二区福利视频| 久久精品男人天堂av| 国产成人av电影在线播放| 国产精品视频观看| 99re66热这里只有精品3直播| 综合亚洲深深色噜噜狠狠网站| 成人毛片老司机大片| 成人免费小视频| 在线精品视频一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品视频一区二区三区免费| 免费人成网站在线观看欧美高清| 日韩视频在线一区二区| 国产一区欧美二区| 国产精品视频一二三| 91福利在线观看| 欧美aaaaaa午夜精品| 久久久亚洲精品一区二区三区 | 国产精品麻豆视频| 成人一区二区在线观看| 亚洲制服丝袜在线| 日韩欧美在线综合网| 国产盗摄视频一区二区三区| 中文字幕一区二区5566日韩| 欧美性生活一区| 精品一区二区三区免费播放| 国产精品国产三级国产普通话蜜臀| 91麻豆福利精品推荐| 日韩精品欧美成人高清一区二区| 精品国产一二三区| 日本高清不卡aⅴ免费网站| 日本最新不卡在线| 亚洲欧美日韩中文字幕一区二区三区 | 欧美男女性生活在线直播观看| 久久精品国产精品亚洲综合| 国产精品久久久久9999吃药| 6080亚洲精品一区二区| 成人精品免费网站| 日本亚洲欧美天堂免费| 自拍偷拍亚洲综合| 日韩欧美国产成人一区二区| 欧亚洲嫩模精品一区三区| 激情小说亚洲一区| 亚洲成人黄色小说| 日本一区二区成人在线| 欧美疯狂性受xxxxx喷水图片| 成人黄色av网站在线| 美腿丝袜在线亚洲一区| 一区二区三区在线视频免费| 久久免费国产精品| 制服丝袜一区二区三区| 色综合婷婷久久| 风流少妇一区二区| 捆绑紧缚一区二区三区视频| 亚洲一区二区精品视频| 中文字幕在线视频一区| 久久影院午夜片一区| 51精品秘密在线观看| 在线观看亚洲一区| 99re这里只有精品6| 国产一区二区日韩精品| 秋霞影院一区二区| 偷窥少妇高潮呻吟av久久免费| 亚洲欧洲无码一区二区三区| 日本一区二区动态图| 久久久久久久精| 久久影院午夜论| 精品国精品自拍自在线| 欧美一级艳片视频免费观看| 欧美日韩精品欧美日韩精品 | 2020国产精品| 一区二区三区美女| 亚洲免费在线播放| 樱花影视一区二区| 亚洲日本一区二区| 夜夜嗨av一区二区三区 | 国产欧美综合色| 久久久国产午夜精品| 久久久亚洲综合| 国产日韩欧美精品一区| 久久久不卡网国产精品一区| 久久先锋资源网| 国产日韩欧美一区二区三区综合| 欧美精品一区二区三区视频| 26uuuu精品一区二区| 2021国产精品久久精品| 国产视频一区二区在线观看| 中日韩av电影| 一区二区三区产品免费精品久久75| 亚洲女与黑人做爰| 午夜亚洲国产au精品一区二区| 婷婷开心激情综合| 国内外成人在线| 成人精品视频一区二区三区| 色吊一区二区三区| 777xxx欧美| 久久亚洲精品国产精品紫薇| 国产精品免费人成网站| 亚洲免费观看高清在线观看| 午夜久久久久久久久久一区二区| 久久 天天综合| 成人av午夜影院| 欧美日韩在线免费视频| 精品裸体舞一区二区三区| 国产精品视频免费| 亚洲国产精品一区二区尤物区| 精品一区二区三区视频在线观看| 福利一区二区在线| 欧美性视频一区二区三区| 久久综合色8888| 一区二区三区毛片| 国产毛片一区二区| 91久久精品午夜一区二区| 日韩欧美一区二区不卡| 中国色在线观看另类| 视频一区在线播放| 粉嫩一区二区三区性色av| 欧洲一区在线电影| 日韩一本二本av| 亚洲女人小视频在线观看| 精品一区二区影视| 日本乱人伦aⅴ精品| 久久综合狠狠综合久久综合88| 亚洲精品videosex极品| 国产毛片精品国产一区二区三区| 在线亚洲欧美专区二区| 久久久噜噜噜久噜久久综合| 亚洲午夜激情av| 国产91丝袜在线播放九色| 欧美日韩成人综合| 最近中文字幕一区二区三区| 国产一区二区美女诱惑| 欧美日韩国产天堂| 亚洲精品国久久99热| 国产精品白丝jk黑袜喷水| 欧美久久一二三四区| 国产精品久久久久一区| 精品一区二区久久| 欧美电影在线免费观看| 亚洲最大色网站| 99re热这里只有精品免费视频| 亚洲精品在线观| 麻豆精品新av中文字幕| 欧美日产国产精品| 亚洲最大色网站| 色吧成人激情小说| 亚洲天堂成人网| 成人aaaa免费全部观看| 国产亚洲成aⅴ人片在线观看| 蜜臀a∨国产成人精品| 欧美精品18+| 亚洲电影第三页| 欧美日韩中文字幕一区二区| 亚洲色图色小说| 成人av免费在线| ...av二区三区久久精品| 福利电影一区二区| 国产精品人妖ts系列视频| 国产精品影音先锋| 欧美国产97人人爽人人喊| 国产福利精品导航| 国产欧美日韩精品一区| 国产福利一区二区三区| 国产精品伦理在线| av动漫一区二区| 一区二区三区免费网站| 欧美日韩一区二区三区四区|