libcdio  0.94
mmc_ll_cmds.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010, 2012, 2016 Rocky Bernstein <rocky@gnu.org>
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17 
35 #ifndef CDIO_MMC_LL_CMDS_H_
36 #define CDIO_MMC_LL_CMDS_H_
37 
38 #include <cdio/mmc.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif /* __cplusplus */
43 
68  mmc_get_configuration(const CdIo_t *p_cdio, void *p_buf,
69  unsigned int i_size,
70  unsigned int i_return_type,
71  unsigned int i_starting_feature_number,
72  unsigned int i_timeout_ms);
73 
85  uint8_t out_buf[2]);
86 
87 
106  driver_return_code_t mmc_mode_select_10(CdIo_t *p_cdio, /*out*/ void *p_buf,
107  unsigned int i_size, int page,
108  unsigned int i_timeout_ms);
122  driver_return_code_t mmc_mode_sense_10( CdIo_t *p_cdio, /*out*/ void *p_buf,
123  unsigned int i_size,
124  unsigned int i_page_code);
125 
135  driver_return_code_t mmc_mode_sense_6( CdIo_t *p_cdio, /*out*/ void *p_buf,
136  unsigned int i_size, int page);
137 
155  bool b_persistent, bool b_prevent,
156  unsigned int i_timeout_ms);
157 
262  mmc_read_cd(const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn,
263  int expected_sector_type, bool b_digital_audio_play,
264  bool b_sync, uint8_t header_codes, bool b_user_data,
265  bool b_edc_ecc, uint8_t c2_error_information,
266  uint8_t subchannel_selection, uint16_t i_blocksize,
267  uint32_t i_blocks);
268 
288  mmc_read_disc_information(const CdIo_t *p_cdio, /*out*/ void *p_buf,
289  unsigned int i_size,
291  unsigned int i_timeout_ms);
292 
320  int i_Kbs_speed,
321  unsigned int i_timeout_ms);
322 
343  driver_return_code_t mmc_start_stop_unit(const CdIo_t *p_cdio, bool b_eject,
344  bool b_immediate,
345  uint8_t power_condition,
346  unsigned int i_timeout_ms);
347 
360  unsigned int i_timeout_ms);
361 
379 mmc_read_subchannel ( const CdIo_t *p_cdio,
380  track_t i_track,
381  unsigned char sub_chan_param,
382  unsigned int *i_length,
383  char *p_buf,
384  unsigned int i_timeout_ms
385  );
386 
387 
399 mmc_read_toc_cdtext ( const CdIo_t *p_cdio, unsigned int *i_length,
400  unsigned char *p_buf, unsigned int i_timeout_ms );
401 
402 
403 #ifndef DO_NOT_WANT_OLD_MMC_COMPATIBILITY
404 #define mmc_start_stop_media(c, e, i, p, t) \
405  mmc_start_stop_unit(c, e, i, p, t, 0)
406 #endif /*DO_NOT_WANT_PARANOIA_COMPATIBILITY*/
407 
408 #ifdef __cplusplus
409 }
410 #endif /* __cplusplus */
411 
412 #endif /* CDIO_MMC_HL_CMDS_H_ */
413 
414 /*
415  * Local variables:
416  * c-file-style: "gnu"
417  * tab-width: 8
418  * indent-tabs-mode: nil
419  * End:
420  */
driver_return_code_t
Definition: device.h:219
driver_return_code_t mmc_get_event_status(const CdIo_t *p_cdio, uint8_t out_buf[2])
driver_return_code_t mmc_start_stop_unit(const CdIo_t *p_cdio, bool b_eject, bool b_immediate, uint8_t power_condition, unsigned int i_timeout_ms)
int32_t lsn_t
Definition: types.h:266
driver_return_code_t mmc_read_cd(const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, int expected_sector_type, bool b_digital_audio_play, bool b_sync, uint8_t header_codes, bool b_user_data, bool b_edc_ecc, uint8_t c2_error_information, uint8_t subchannel_selection, uint16_t i_blocksize, uint32_t i_blocks)
driver_return_code_t mmc_read_subchannel(const CdIo_t *p_cdio, track_t i_track, unsigned char sub_chan_param, unsigned int *i_length, char *p_buf, unsigned int i_timeout_ms)
uint8_t track_t
Definition: types.h:276
driver_return_code_t mmc_mode_select_10(CdIo_t *p_cdio, void *p_buf, unsigned int i_size, int page, unsigned int i_timeout_ms)
driver_return_code_t mmc_prevent_allow_medium_removal(const CdIo_t *p_cdio, bool b_persistent, bool b_prevent, unsigned int i_timeout_ms)
cdio_mmc_read_disc_info_datatype_t
Definition: mmc.h:330
driver_return_code_t mmc_mode_sense_10(CdIo_t *p_cdio, void *p_buf, unsigned int i_size, unsigned int i_page_code)
driver_return_code_t mmc_set_speed(const CdIo_t *p_cdio, int i_Kbs_speed, unsigned int i_timeout_ms)
driver_return_code_t mmc_mode_sense_6(CdIo_t *p_cdio, void *p_buf, unsigned int i_size, int page)
driver_return_code_t mmc_test_unit_ready(const CdIo_t *p_cdio, unsigned int i_timeout_ms)
struct _CdIo CdIo_t
Definition: cdio.h:47
driver_return_code_t mmc_read_disc_information(const CdIo_t *p_cdio, void *p_buf, unsigned int i_size, cdio_mmc_read_disc_info_datatype_t data_type, unsigned int i_timeout_ms)
Common definitions for MMC (Multimedia Commands). Applications include this for direct MMC access...
driver_return_code_t mmc_get_configuration(const CdIo_t *p_cdio, void *p_buf, unsigned int i_size, unsigned int i_return_type, unsigned int i_starting_feature_number, unsigned int i_timeout_ms)
driver_return_code_t mmc_read_toc_cdtext(const CdIo_t *p_cdio, unsigned int *i_length, unsigned char *p_buf, unsigned int i_timeout_ms)