Develop and Download Open Source Software

Browse CVS Repository

Contents of /enbanfukusyaya/EnbanFukusyaYa/DriveAccess/cmd.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.16 - (show annotations) (download) (as text)
Mon Nov 1 14:34:11 2010 UTC (13 years, 5 months ago) by bananajinn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.15: +4 -4 lines
File MIME type: text/x-chdr
*** empty log message ***

1 /**
2 * @file cmd.h
3 * @brief コマンド発行関連
4 * @author BananaJinn
5 * @version $Id: cmd.h,v 1.15 2008/01/04 14:09:58 bananajinn Exp $
6 * 円盤複写屋
7 * Copyright (C) 2004-2006 BananaJinn<banana@mxh.mesh.ne.jp>.
8 */
9 #ifndef __CMD_H__
10 #define __CMD_H__
11
12 #include "aspi.h"
13 #include "netaccess.h"
14 #include "image.h"
15 #include "struct.h"
16 #include "drive.h"
17
18
19 // ASPI Command
20 #define CMD_TEST_UNIT_READY 0x00
21 #define CMD_REZERO_UNIT 0x01
22 #define CMD_REQUEST_SENSE 0x03
23 #define CMD_FORMAT_UNIT 0x04
24 #define CMD_READ6 0x08
25 #define CMD_SEEK6 0x0b
26 #define CMD_INQUIRY 0x12
27 #define CMD_MODE_SELECT6 0x15
28 #define CMD_RESERVE 0x16
29 #define CMD_RELEASE 0x17
30 #define CMD_MODE_SENSE6 0x1a
31 #define CMD_START_STOP 0x1b
32 #define CMD_RECIEVE_DIAG 0x1c
33 #define CMD_SEND_DIAG 0x1d
34 #define CMD_PREVENT_ALLOW 0x1e
35 #define CMD_READ_CAPACITY 0x25
36 #define CMD_READ10 0x28
37 #define CMD_SEEK10 0x2b
38 #define CMD_VERIFY 0x2f
39 #define CMD_PRE_FETCH 0x34
40 #define CMD_WRITE_BUFFER 0x3b
41 #define CMD_READ_BUFFER 0x3c
42 #define CMD_READ_SUBCHANNEL 0x42
43 #define CMD_READ_TOC 0x43
44 #define CMD_READ_HEADER 0x44
45 #define CMD_PLAY_AUDIO10 0x45
46 #define CMD_PLAY_AUDIO_MSF 0x47
47 #define CMD_PLAY_TRACK_INDEX 0x48
48 #define CMD_PLAY_RELATIVE10 0x49
49 #define CMD_PAUSE 0x4b
50 #define CMD_MODE_SELECT10 0x55
51 #define CMD_MODE_SENSE10 0x5a
52 #define CMD_PLAY_AUDIO12 0xa5
53 #define CMD_READ12 0xa8
54 #define CMD_PLAY_RELATIVE12 0xa9
55 #define CMD_SET_CD_SPEED 0xbb
56 #define CMD_MECHANISM_STATUS 0xbd
57 #define CMD_READ_CD 0xbe
58 #define CMD_READ_CD_DA 0xd4
59 #define CMD_READ_P_W_SUBCODE 0xd6
60 #define CMD_WRITE10 0x2a
61 #define CMD_WRITE12 0xaa
62 #define CMD_WRITE_AND_VERIFY 0x2e
63 #define CMD_SYNCHRONIZE_CACHE 0x35
64 #define CMD_READ_DISC_INFO 0x51
65 #define CMD_READ_TRACK_INFO 0x52
66 #define CMD_RESERVE_TRACK 0x53
67 #define CMD_REPAIR_TRACK 0x58
68 #define CMD_READ_MASTER_CUE 0x59
69 #define CMD_CLOSE_TRACK_SESSION 0x5b
70 #define CMD_READ_BUFFER_CAPACITY 0x5c
71 #define CMD_SEND_CUE_SHEET 0x5d
72 #define CMD_SEND_OPC_INFOMATION 0x54
73 #define CMD_BLANK 0xa1
74 #define CMD_READ_CD_MSF 0xb9
75 #define CMD_AUDIO_SCAN 0xba
76 #define CMD_GET_CONFIGURATION 0x46
77 #define CMD_GET_PERFORMANCE 0x4C
78 #define CMD_READ_DVD_STRUCTURE 0xad
79 #define CMD_READ_FORMAT_CAPACITIES 0x23
80 #define CMD_REPORT_KEY 0xa4
81 #define CMD_SEND_EVENT 0xa2
82 #define CMD_SEND_KEY 0xa3
83 #define CMD_SET_READ_AHEAD 0xa7
84 #define CMD_SET_STREAMING 0xb6
85 #define CMD_SEND_DVD_STRUCTURE 0xbf
86
87
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91
92 extern WORD Get2bytes(BYTE *buf);
93 extern DWORD Get3bytes(BYTE *buf);
94 extern DWORD Get4bytes(BYTE *buf);
95 extern void Set2bytes(BYTE *buf, WORD value);
96 extern void Set3bytes(BYTE *buf, DWORD value);
97 extern void Set4bytes(BYTE *buf, DWORD value);
98 extern WORD Get2bytesLE(BYTE *buf);
99 extern DWORD Get3bytesLE(BYTE *buf);
100 extern DWORD Get4bytesLE(BYTE *buf);
101 extern void Set2bytesLE(BYTE *buf, WORD value);
102 extern void Set3bytesLE(BYTE *buf, DWORD value);
103 extern void Set4bytesLE(BYTE *buf, DWORD value);
104
105 extern DWORD MSF2LBA(BYTE min, BYTE sec, BYTE frame, BOOL force_positive);
106 extern BOOL LBA2MSF(DWORD lba, BYTE *min, BYTE *sec, BYTE *frame);
107
108 extern int SendTestUnitReady(CMDDRIVE *drive);
109 extern int SendStartStop(CMDDRIVE *drive, BYTE immed, BYTE load_eject, BYTE start_or_load);
110 extern int SendPreventAllow(CMDDRIVE *drive, BYTE prevent);
111 extern int SendModeSense(CMDDRIVE *drive, BYTE page_control, BYTE page_code);
112 /* page_control */
113 #define MSPC_CURRENT 0
114 #define MSPC_CHANGEABLE 1
115 #define MSPC_DEFAULT 2
116 #define MSPC_SAVED 3
117 extern int SendModeSelect(CMDDRIVE *drive, BYTE pf);
118 extern int SendReadToc(CMDDRIVE *drive, WORD track_sess_num, BYTE msf, BYTE format);
119 /* format */
120 #define RTF_TOC 0
121 #define RTF_SESS 1
122 #define RTF_FULLTOC 2
123 #define RTF_PMA 3
124 #define RTF_ATIP 4
125 #define RTF_CDTEXT 5
126 extern int SendReadDiscInfo(CMDDRIVE *drive);
127 extern int SendReadTrackInfo(CMDDRIVE *drive, WORD track_num);
128 extern int SendCloseTrackSession(CMDDRIVE *drive, BYTE immed, BYTE type, WORD track_num);
129 /* type */
130 #define CTST_CLOSETRACK 1
131 #define CTST_CLOSESESSION 2
132 extern int SendReadSubchannel(CMDDRIVE *drive, BYTE track_num, BYTE msf, BYTE subq, BYTE format);
133 #define RSCF_CURRENT_POS 1
134 #define RSCF_MCN 2
135 #define RSCF_ISRC 3
136 extern int SendReadCD(CMDDRIVE *drive, DWORD addr, DWORD len);
137 extern int SendReadFormatCapacities(CMDDRIVE *drive);
138 extern int SendFormatUnit(CMDDRIVE *drive, BYTE fmtdata, BYTE cmplist, BYTE format_code, WORD len);
139 #define FUFC_CDRW 7
140 #define FUFC_OTHER 1
141 extern int SendSetCdSpeed(CMDDRIVE *drive, WORD read_speed, WORD write_speed, BYTE rotctl);
142 extern int SendSetStreaming(CMDDRIVE *drive);
143 extern int SendSynchronizeCache(CMDDRIVE *drive, BYTE immed);
144 extern int SendReserveTrack(CMDDRIVE *drive, DWORD size);
145 extern int SendRead10(CMDDRIVE *drive, DWORD lba, WORD len, DWORD buflen);
146 extern int SendWrite10(CMDDRIVE *drive, DWORD lba, WORD len, DWORD buflen,
147 BOOL retry);
148 extern int SendSeek10(CMDDRIVE *drive, DWORD lba);
149 extern int SendSendCueSheet(CMDDRIVE *drive, void *cuesheet, DWORD len);
150 extern int SendReadBufferCapacity(CMDDRIVE *drive, BYTE block);
151
152 extern int SendLongRead12(CMDDRIVE *drive, DWORD lba, DWORD len, DWORD buflen,
153 DWORD total_blocks);
154 extern int SendLongReadCD(CMDDRIVE *drive, DWORD addr, DWORD len,
155 DWORD total_blocks);
156
157 extern int OpenTray(CMDDRIVE *drive);
158 extern int OpenTrayImmediate(CMDDRIVE *drive);
159 extern int CloseTray(CMDDRIVE *drive);
160 extern int GetDiscType(CMDDRIVE *drive, int *disc_type_ret, BOOL bWaitDisc);
161 extern int CheckReady(CMDDRIVE *drive, BOOL bWaitDisc);
162 extern int BlankDisc(CMDDRIVE *drive, BYTE type);
163 extern int WaitProgress(CMDDRIVE *drive, const char *message, BOOL meter1);
164 extern void DispCommandError(CMDDRIVE *drive);
165 extern int GetSubQ(CMDDRIVE *drive, DWORD lba, DWORD len);
166 extern int SetSpeed(CMDDRIVE *drive, int read_speed, int write_speed);
167
168
169 #ifdef __cplusplus
170 }
171 #endif
172
173 #endif /* !__CMD_H__ */

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26