libcdio 0.83
|
00001 /* 00002 Copyright (C) 2010 Rocky Bernstein <rocky@gnu.org> 00003 00004 This program is free software: you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation, either version 3 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program. If not, see <http://www.gnu.org/licenses/>. 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 /* __cplusplus */ 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, /*out*/ 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, /*out*/ 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, /*out*/ 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, /*out*/ 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 /*DO_NOT_WANT_PARANOIA_COMPATIBILITY*/ 00350 00351 #ifdef __cplusplus 00352 } 00353 #endif /* __cplusplus */ 00354 00355 #endif /* __CDIO_MMC_HL_CMDS_H__ */ 00356 00357 /* 00358 * Local variables: 00359 * c-file-style: "gnu" 00360 * tab-width: 8 00361 * indent-tabs-mode: nil 00362 * End: 00363 */