1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 struct linux_cdrom_blk
33 {
34 unsigned from;
35 unsigned short len;
36 };
37
38
39 struct linux_cdrom_msf
40 {
41 u_char cdmsf_min0;
42 u_char cdmsf_sec0;
43 u_char cdmsf_frame0;
44 u_char cdmsf_min1;
45 u_char cdmsf_sec1;
46 u_char cdmsf_frame1;
47 };
48
49 struct linux_cdrom_ti
50 {
51 u_char cdti_trk0;
52 u_char cdti_ind0;
53 u_char cdti_trk1;
54 u_char cdti_ind1;
55 };
56
57 struct linux_cdrom_tochdr
58 {
59 u_char cdth_trk0;
60 u_char cdth_trk1;
61 };
62
63 struct linux_cdrom_msf0
64 {
65 u_char minute;
66 u_char second;
67 u_char frame;
68 };
69
70 union linux_cdrom_addr
71 {
72 struct linux_cdrom_msf0 msf;
73 int lba;
74 };
75
76 struct linux_cdrom_tocentry
77 {
78 u_char cdte_track;
79 u_char cdte_adr :4;
80 u_char cdte_ctrl :4;
81 u_char cdte_format;
82 union linux_cdrom_addr cdte_addr;
83 u_char cdte_datamode;
84 };
85
86 #define LINUX_CDROM_LBA 0x01
87 #define LINUX_CDROM_MSF 0x02
88
89 #define LINUX_CDROM_DATA_TRACK 0x04
90
91 #define LINUX_CDROM_LEADOUT 0xAA
92
93 struct linux_cdrom_subchnl
94 {
95 u_char cdsc_format;
96 u_char cdsc_audiostatus;
97 u_char cdsc_adr: 4;
98 u_char cdsc_ctrl: 4;
99 u_char cdsc_trk;
100 u_char cdsc_ind;
101 union linux_cdrom_addr cdsc_absaddr;
102 union linux_cdrom_addr cdsc_reladdr;
103 };
104
105 struct linux_cdrom_mcn {
106 u_char medium_catalog_number[14];
107 };
108
109
110 struct linux_cdrom_volctrl
111 {
112 u_char channel0;
113 u_char channel1;
114 u_char channel2;
115 u_char channel3;
116 };
117
118 struct linux_cdrom_read
119 {
120 int cdread_lba;
121 caddr_t cdread_bufaddr;
122 int cdread_buflen;
123 };
124
125 #define LINUX_CDROMPAUSE 0x5301
126 #define LINUX_CDROMRESUME 0x5302
127 #define LINUX_CDROMPLAYMSF 0x5303
128 #define LINUX_CDROMPLAYTRKIND 0x5304
129
130 #define LINUX_CDROMREADTOCHDR 0x5305
131 #define LINUX_CDROMREADTOCENTRY 0x5306
132
133 #define LINUX_CDROMSTOP 0x5307
134 #define LINUX_CDROMSTART 0x5308
135
136 #define LINUX_CDROMEJECT 0x5309
137
138 #define LINUX_CDROMVOLCTRL 0x530a
139
140 #define LINUX_CDROMSUBCHNL 0x530b
141
142 #define LINUX_CDROMREADMODE2 0x530c
143 #define LINUX_CDROMREADMODE1 0x530d
144 #define LINUX_CDROMREADAUDIO 0x530e
145
146 #define LINUX_CDROMEJECT_SW 0x530f
147
148 #define LINUX_CDROMMULTISESSION 0x5310
149
150 #define LINUX_CDROM_GET_UPC 0x5311
151
152 #define LINUX_CDROMRESET 0x5312
153 #define LINUX_CDROMVOLREAD 0x5313
154
155 #define LINUX_CDROMPLAYBLK 0x5317