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

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

?? cdu31a.h

?? LINUX1.0源代碼,代碼條理清晰
?? H
字號:
/*
 * Definitions for a Sony interface CDROM drive.
 *
 * Corey Minyard (minyard@wf-rch.cirr.com)
 *
 *  Copyright (C) 1993  Corey Minyard
 *
 *  This program 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.
 *
 *  This program 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 this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */

/*
 * Offsets (from the base address) and bits for the various write registers
 * of the drive.
 */
#define SONY_CMD_REG_OFFSET	0
#define SONY_PARAM_REG_OFFSET	1
#define SONY_WRITE_REG_OFFSET	2
#define SONY_CONTROL_REG_OFFSET	3
#	define SONY_ATTN_CLR_BIT	0x01
#	define SONY_RES_RDY_CLR_BIT	0x02
#	define SONY_DATA_RDY_CLR_BIT	0x04
#	define SONY_ATTN_INT_EN_BIT	0x08
#	define SONY_RES_RDY_INT_EN_BIT	0x10
#	define SONY_DATA_RDY_INT_EN_BIT	0x20
#	define SONY_PARAM_CLR_BIT	0x40
#	define SONY_DRIVE_RESET_BIT	0x80

/*
 * Offsets (from the base address) and bits for the various read registers
 * of the drive.
 */
#define SONY_STATUS_REG_OFFSET	0
#	define SONY_ATTN_BIT		0x01
#	define SONY_RES_RDY_BIT		0x02
#	define SONY_DATA_RDY_BIT	0x04
#	define SONY_ATTN_INT_ST_BIT	0x08
#	define SONY_RES_RDY_INT_ST_BIT	0x10
#	define SONY_DATA_RDY_INT_ST_BIT	0x20
#	define SONY_DATA_REQUEST_BIT	0x40
#	define SONY_BUSY_BIT		0x80
#define SONY_RESULT_REG_OFFSET	1
#define SONY_READ_REG_OFFSET	2
#define SONY_FIFOST_REG_OFFSET	3
#	define SONY_PARAM_WRITE_RDY_BIT	0x01
#	define SONY_PARAM_REG_EMPTY_BIT	0x02
#	define SONY_RES_REG_NOT_EMP_BIT	0x04
#	define SONY_RES_REG_FULL_BIT	0x08

#define LOG_START_OFFSET	150	/* Offset of first logical sector */

#define SONY_DETECT_TIMEOUT	80	/* Maximum amount of time
					   that drive detection code
					   will wait for response
					   from drive (in 1/100th's
					   of seconds). */
 
#define SONY_JIFFIES_TIMEOUT	500	/* Maximum number of times the
					   drive will wait/try for an
					   operation */
#define SONY_RESET_TIMEOUT	100	/* Maximum number of times the
					   drive will wait/try a reset
					   operation */
#define SONY_READY_RETRIES	20000	/* How many times to retry a
					   spin waiting for a register
					   to come ready */

#define MAX_CDU31A_RETRIES	3	/* How many times to retry an
					   operation */

/* Commands to request or set drive control parameters and disc information */
#define SONY_REQ_DRIVE_CONFIG_CMD	0x00    /* Returns s_sony_drive_config */
#define SONY_REQ_DRIVE_MODE_CMD		0x01
#define SONY_REQ_DRIVE_PARAM_CMD	0x02
#define SONY_REQ_MECH_STATUS_CMD	0x03
#define SONY_REQ_AUDIO_STATUS_CMD	0x04
#define SONY_SET_DRIVE_PARAM_CMD	0x10
#define SONY_REQ_TOC_DATA_CMD		0x20    /* Returns s_sony_toc */
#define SONY_REQ_SUBCODE_ADDRESS_CMD	0x21    /* Returns s_sony_subcode */
#define SONY_REQ_UPC_EAN_CMD		0x22
#define SONY_REQ_ISRC_CMD		0x23
#define SONY_REQ_TOC_DATA_SPEC_CMD	0x24

/* Commands to request information from the drive */
#define SONY_READ_TOC_CMD		0x30
#define SONY_SEEK_CMD			0x31
#define SONY_READ_CMD			0x32
#define SONY_READ_BLKERR_STAT_CMD	0x34
#define SONY_ABORT_CMD			0x35
#define SONY_READ_TOC_SPEC_CMD		0x36

/* Commands to control audio */
#define SONY_AUDIO_PLAYBACK_CMD		0x40
#define SONY_AUDIO_STOP_CMD		0x41
#define SONY_AUDIO_SCAN_CMD		0x42

/* Miscellaneous control commands */
#define SONY_EJECT_CMD			0x50
#define SONY_SPIN_UP_CMD		0x51
#define SONY_SPIN_DOWN_CMD		0x52

/* Diagnostic commands */
#define SONY_WRITE_BUFFER_CMD		0x60
#define SONY_READ_BUFFER_CMD		0x61
#define SONY_DIAGNOSTICS_CMD		0x62


/*
 * The following are command paramters for the set drive parameter command
 */
#define SONY_SD_DECODE_PARAM		0x00
#define SONY_SD_INTERFACE_PARAM		0x01
#define SONY_SD_BUFFERING_PARAM		0x02
#define SONY_SD_AUDIO_PARAM		0x03
#define SONY_SD_AUDIO_VOLUME		0x04
#define SONY_SD_MECH_CONTROL		0x05
#define SONY_SD_AUTO_SPIN_DOWN_TIME	0x06

/*
 * The following extract information from the drive configuration about
 * the drive itself.
 */
#define SONY_HWC_GET_LOAD_MECH(c)	(c.hw_config[0] & 0x03)
#define SONY_HWC_EJECT(c)		(c.hw_config[0] & 0x04)
#define SONY_HWC_LED_SUPPORT(c)		(c.hw_config[0] & 0x08)
#define SONY_HWC_GET_BUF_MEM_SIZE(c)	((c.hw_config[0] & 0xc0) >> 6)
#define SONY_HWC_AUDIO_PLAYBACK(c)	(c.hw_config[1] & 0x01)
#define SONY_HWC_ELECTRIC_VOLUME(c)	(c.hw_config[1] & 0x02)
#define SONY_HWC_ELECTRIC_VOLUME_CTL(c)	(c.hw_config[1] & 0x04)

#define SONY_HWC_CADDY_LOAD_MECH	0x00
#define SONY_HWC_TRAY_LOAD_MECH		0x01
#define SONY_HWC_POPUP_LOAD_MECH	0x02
#define SONY_HWC_UNKWN_LOAD_MECH	0x03

#define SONY_HWC_8KB_BUFFER		0x00
#define SONY_HWC_32KB_BUFFER		0x01
#define SONY_HWC_64KB_BUFFER		0x02
#define SONY_HWC_UNKWN_BUFFER		0x03

/*
 * This is the complete status returned from the drive configuration request
 * command.
 */
struct s_sony_drive_config
{
   unsigned char exec_status[2];
   char vendor_id[8];
   char product_id[16];
   char product_rev_level[8];
   unsigned char hw_config[2];
};

/* The following is returned from the request subcode address command */
struct s_sony_subcode
{
   unsigned char exec_status[2];
   unsigned char address	:4;
   unsigned char control	:4;
   unsigned char track_num;
   unsigned char index_num;
   unsigned char rel_msf[3];
   unsigned char reserved1;
   unsigned char abs_msf[3];
};

/*
 * The following is returned from the request TOC (Table Of Contents) command.
 * (last_track_num-first_track_num+1) values are valid in tracks.
 */
struct s_sony_toc
{
   unsigned char exec_status[2];
   unsigned char address0	:4;
   unsigned char control0	:4;
   unsigned char point0;
   unsigned char first_track_num;
   unsigned char disk_type;
   unsigned char dummy0;
   unsigned char address1	:4;
   unsigned char control1	:4;
   unsigned char point1;
   unsigned char last_track_num;
   unsigned char dummy1;
   unsigned char dummy2;
   unsigned char address2	:4;
   unsigned char control2	:4;
   unsigned char point2;
   unsigned char lead_out_start_msf[3];
   struct
   {
      unsigned char address	:4;
      unsigned char control	:4;
      unsigned char track;
      unsigned char track_start_msf[3];
   } tracks[100];

   unsigned int lead_out_start_lba;
};


/*
 * The following are errors returned from the drive.
 */

/* Command error group */
#define SONY_ILL_CMD_ERR		0x10
#define SONY_ILL_PARAM_ERR		0x11

/* Mechanism group */
#define SONY_NOT_LOAD_ERR		0x20
#define SONY_NO_DISK_ERR		0x21
#define SONY_NOT_SPIN_ERR		0x22
#define SONY_SPIN_ERR			0x23
#define SONY_SPINDLE_SERVO_ERR		0x25
#define SONY_FOCUS_SERVO_ERR		0x26
#define SONY_EJECT_MECH_ERR		0x29
#define SONY_AUDIO_PLAYING_ERR		0x2a
#define SONY_EMERGENCY_EJECT_ERR	0x2c

/* Seek error group */
#define SONY_FOCUS_ERR			0x30
#define SONY_FRAME_SYNC_ERR		0x31
#define SONY_SUBCODE_ADDR_ERR		0x32
#define SONY_BLOCK_SYNC_ERR		0x33
#define SONY_HEADER_ADDR_ERR		0x34

/* Read error group */
#define SONY_ILL_TRACK_R_ERR		0x40
#define SONY_MODE_0_R_ERR		0x41
#define SONY_ILL_MODE_R_ERR		0x42
#define SONY_ILL_BLOCK_SIZE_R_ERR	0x43
#define SONY_MODE_R_ERR			0x44
#define SONY_FORM_R_ERR			0x45
#define SONY_LEAD_OUT_R_ERR		0x46
#define SONY_BUFFER_OVERRUN_R_ERR	0x47

/* Data error group */
#define SONY_UNREC_CIRC_ERR		0x53
#define SONY_UNREC_LECC_ERR		0x57

/* Subcode error group */
#define SONY_NO_TOC_ERR			0x60
#define SONY_SUBCODE_DATA_NVAL_ERR	0x61
#define SONY_FOCUS_ON_TOC_READ_ERR	0x63
#define SONY_FRAME_SYNC_ON_TOC_READ_ERR	0x64
#define SONY_TOC_DATA_ERR		0x65

/* Hardware failure group */
#define SONY_HW_FAILURE_ERR		0x70
#define SONY_LEAD_IN_A_ERR		0x91
#define SONY_LEAD_OUT_A_ERR		0x92
#define SONY_DATA_TRACK_A_ERR		0x93

/*
 * The following are returned from the Read With Block Error Status command.
 * They are not errors but information (Errors from the 0x5x group above may
 * also be returned
 */
#define SONY_NO_CIRC_ERR_BLK_STAT	0x50
#define SONY_NO_LECC_ERR_BLK_STAT	0x54
#define SONY_RECOV_LECC_ERR_BLK_STAT	0x55
#define SONY_NO_ERR_DETECTION_STAT	0x59

/* 
 * The following is not an error returned by the drive, but by the code
 * that talks to the drive.  It is returned because of a timeout.
 */
#define SONY_TIMEOUT_OP_ERR		0x01
#define SONY_SIGNAL_OP_ERR		0x02


/*
 * The following are attention code for asyncronous events from the drive.
 */

/* Standard attention group */
#define SONY_EMER_EJECT_ATTN		0x2c
#define SONY_HW_FAILURE_ATTN		0x70
#define SONY_MECH_LOADED_ATTN		0x80
#define SONY_EJECT_PUSHED_ATTN		0x81

/* Audio attention group */
#define SONY_AUDIO_PLAY_DONE_ATTN	0x90
#define SONY_LEAD_IN_ERR_ATTN	 	0x91
#define SONY_LEAD_OUT_ERR_ATTN	 	0x92
#define SONY_DATA_TRACK_ERR_ATTN	0x93
#define SONY_AUDIO_PLAYBACK_ERR_ATTN	0x94

/* Auto spin up group */
#define SONY_SPIN_UP_COMPLETE_ATTN	0x24
#define SONY_SPINDLE_SERVO_ERR_ATTN	0x25
#define SONY_FOCUS_SERVO_ERR_ATTN	0x26
#define SONY_TOC_READ_DONE_ATTN		0x62
#define SONY_FOCUS_ON_TOC_READ_ERR_ATTN	0x63
#define SONY_SYNC_ON_TOC_READ_ERR_ATTN	0x65

/* Auto eject group */
#define SONY_SPIN_DOWN_COMPLETE_ATTN	0x27
#define SONY_EJECT_COMPLETE_ATTN	0x28
#define SONY_EJECT_MECH_ERR_ATTN	0x29

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕免费一区| 欧美熟乱第一页| 国产午夜亚洲精品午夜鲁丝片| 久久国产剧场电影| 国产欧美视频一区二区| 成人黄动漫网站免费app| 亚洲人成网站影音先锋播放| 色视频欧美一区二区三区| 天堂午夜影视日韩欧美一区二区| 91精品国产91久久久久久一区二区| 美女一区二区视频| 国产精品丝袜91| 欧美群妇大交群的观看方式| 久久不见久久见免费视频1 | 国产日韩影视精品| av毛片久久久久**hd| 亚洲国产美女搞黄色| 日韩精品一区二区三区视频 | 91网站黄www| 日日欢夜夜爽一区| 国产日韩欧美在线一区| 在线免费一区三区| 久久er99精品| 激情五月婷婷综合| 国产精品女上位| 欧美久久久久免费| www.日韩在线| 日本不卡一区二区三区| 中文字幕中文字幕在线一区 | 奇米影视一区二区三区| 国产精品丝袜一区| 欧美一区二区三区四区久久| 99综合影院在线| 久久精品国产99| 亚洲国产精品麻豆| 中文字幕中文字幕在线一区 | 色网综合在线观看| 免费av成人在线| 亚洲情趣在线观看| 久久综合九色综合欧美亚洲| 欧美揉bbbbb揉bbbbb| 成人性生交大片| 男人的j进女人的j一区| 亚洲美女在线一区| 久久久久97国产精华液好用吗| 欧美日本在线一区| 91在线观看一区二区| 国产一区美女在线| 麻豆视频一区二区| 亚洲电影视频在线| 亚洲免费观看高清完整| 国产日韩精品一区| 337p日本欧洲亚洲大胆精品| 777色狠狠一区二区三区| 99精品久久免费看蜜臀剧情介绍| 国产精品小仙女| 国产在线不卡一卡二卡三卡四卡| 图片区小说区国产精品视频| 亚洲资源在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 久久综合久久综合九色| 精品乱人伦小说| 日韩欧美高清一区| 91精品国产黑色紧身裤美女| 欧美日韩国产一区二区三区地区| 97se狠狠狠综合亚洲狠狠| 东方欧美亚洲色图在线| 国产在线麻豆精品观看| 国产乱人伦精品一区二区在线观看| 美女视频黄免费的久久 | 国产自产视频一区二区三区| 蜜桃一区二区三区在线观看| 免费成人美女在线观看.| 日韩综合一区二区| 日本伊人精品一区二区三区观看方式 | 国产成人免费视频网站| 国产精品一区三区| 懂色中文一区二区在线播放| 成人av免费在线播放| 99久久精品久久久久久清纯| 不卡一卡二卡三乱码免费网站| jlzzjlzz亚洲女人18| 色域天天综合网| 国产日韩欧美激情| 国产欧美精品一区二区色综合朱莉| 久久一夜天堂av一区二区三区| 欧美大片国产精品| 国产亚洲va综合人人澡精品| 久久久精品人体av艺术| 国产精品天天摸av网| 亚洲乱码中文字幕综合| 亚洲国产综合在线| 奇米777欧美一区二区| 激情综合色综合久久综合| 福利电影一区二区三区| 91麻豆免费观看| 欧美日韩亚州综合| 久久久一区二区三区捆绑**| 国产精品久久久久永久免费观看 | 另类综合日韩欧美亚洲| 国产精一区二区三区| 99久久99久久精品免费看蜜桃 | 欧美一区二区大片| 国产视频视频一区| 亚洲婷婷综合色高清在线| 一区二区三区精品在线观看| 午夜精品在线视频一区| 国产美女娇喘av呻吟久久| 99精品视频中文字幕| 欧美精品1区2区3区| 国产婷婷色一区二区三区| 亚洲色图视频网站| 日本一不卡视频| 波波电影院一区二区三区| 欧美日韩一区二区在线观看视频| 精品国产一区二区精华| 亚洲欧洲av另类| 久久99精品国产91久久来源| 91丨porny丨户外露出| 欧美一级二级三级蜜桃| 国产精品久久久久影院| 日韩福利电影在线观看| 国产成人免费xxxxxxxx| 欧美日韩中文一区| 中文字幕av资源一区| 午夜久久电影网| 91污在线观看| 久久久精品免费免费| 日韩精品一级中文字幕精品视频免费观看| 国产激情视频一区二区在线观看 | 欧美性受极品xxxx喷水| 久久久久青草大香线综合精品| 亚洲国产日韩a在线播放 | 91一区二区三区在线播放| 日韩一级在线观看| 亚洲成人7777| 91免费精品国自产拍在线不卡 | 亚洲图片欧美激情| 国产精品一区二区在线播放 | 久久这里都是精品| 亚洲一区二区在线视频| 成人性色生活片| 欧美tickling挠脚心丨vk| 亚洲免费av观看| av综合在线播放| 国产欧美视频一区二区| 国内精品伊人久久久久av影院| 欧美电影在哪看比较好| 一区二区国产盗摄色噜噜| 97精品电影院| 国产精品国产自产拍高清av王其 | 国产精品嫩草久久久久| 久久不见久久见免费视频1| 91精品麻豆日日躁夜夜躁| 午夜精品成人在线视频| 欧美日韩三级一区| 亚洲一区二区三区在线| 欧美亚洲图片小说| 亚洲国产视频直播| 欧美视频一区在线| 亚洲高清久久久| 91精品国产色综合久久不卡电影| 亚洲成a人片综合在线| 欧洲中文字幕精品| 亚洲成a天堂v人片| 欧美二区三区91| 美女网站一区二区| 亚洲精品一区二区三区香蕉| 激情综合网av| 中文字幕的久久| 成人三级伦理片| 亚洲女爱视频在线| 日本韩国精品一区二区在线观看| 亚洲婷婷综合久久一本伊一区| 91视视频在线直接观看在线看网页在线看| 中文字幕中文在线不卡住| 成人黄色电影在线| 曰韩精品一区二区| 欧美日韩国产一二三| 肉色丝袜一区二区| 日韩欧美国产午夜精品| 国产一区二区不卡老阿姨| 26uuu成人网一区二区三区| 国产a久久麻豆| 亚洲欧洲99久久| 欧美日韩精品是欧美日韩精品| 日本中文在线一区| 国产欧美精品在线观看| 欧美影院一区二区三区| 七七婷婷婷婷精品国产| 国产视频一区二区三区在线观看| 99精品久久免费看蜜臀剧情介绍| 亚洲午夜在线电影| 日韩欧美精品在线视频| 国产成人在线观看免费网站| 亚洲人成影院在线观看| 日韩一区二区免费视频| 成人ar影院免费观看视频| 亚洲va天堂va国产va久| 久久久久久亚洲综合影院红桃|