00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00035 #ifndef __CDIO_MMC_LL_CMDS_H__
00036 #define __CDIO_MMC_LL_CMDS_H__
00037
00038 #include <cdio/mmc.h>
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00059 driver_return_code_t
00060 mmc_get_configuration(const CdIo_t *p_cdio, void *p_buf,
00061 unsigned int i_size,
00062 unsigned int return_type,
00063 unsigned int i_starting_feature_number,
00064 unsigned int i_timeout_ms);
00065
00076 driver_return_code_t mmc_get_event_status(const CdIo_t *p_cdio,
00077 uint8_t out_buf[2]);
00078
00079
00098 driver_return_code_t mmc_mode_select_10(CdIo_t *p_cdio, void *p_buf,
00099 unsigned int i_size, int page,
00100 unsigned int i_timeout_ms);
00114 driver_return_code_t mmc_mode_sense_10( CdIo_t *p_cdio, void *p_buf,
00115 unsigned int i_size,
00116 unsigned int i_page_code);
00117
00127 driver_return_code_t mmc_mode_sense_6( CdIo_t *p_cdio, void *p_buf,
00128 unsigned int i_size, int page);
00129
00145 driver_return_code_t
00146 mmc_prevent_allow_medium_removal(const CdIo_t *p_cdio,
00147 bool b_persistent, bool b_prevent,
00148 unsigned int i_timeout_ms);
00149
00252 driver_return_code_t
00253 mmc_read_cd(const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn,
00254 int expected_sector_type, bool b_digital_audio_play,
00255 bool b_sync, uint8_t header_codes, bool b_user_data,
00256 bool b_edc_ecc, uint8_t c2_error_information,
00257 uint8_t subchannel_selection, uint16_t i_blocksize,
00258 uint32_t i_blocks);
00259
00274 driver_return_code_t
00275 mmc_read_disc_information(const CdIo_t *p_cdio, void *p_buf,
00276 unsigned int i_size,
00277 cdio_mmc_read_disc_info_datatype_t data_type,
00278 unsigned int i_timeout_ms);
00279
00306 driver_return_code_t mmc_set_speed( const CdIo_t *p_cdio,
00307 int i_Kbs_speed,
00308 unsigned int i_timeout_ms);
00309
00326 driver_return_code_t mmc_start_stop_unit(const CdIo_t *p_cdio, bool b_eject,
00327 bool b_immediate,
00328 uint8_t power_condition,
00329 unsigned int i_timeout_ms);
00330
00342 driver_return_code_t mmc_test_unit_ready(const CdIo_t *p_cdio,
00343 unsigned int i_timeout_ms);
00344
00345
00346 #ifndef DO_NOT_WANT_OLD_MMC_COMPATIBILITY
00347 #define mmc_start_stop_media(c, e, i, p, t) \
00348 mmc_start_stop_unit(c, e, i, p, t, 0)
00349 #endif
00350
00351 #ifdef __cplusplus
00352 }
00353 #endif
00354
00355 #endif
00356
00357
00358
00359
00360
00361
00362
00363