libcdio  0.83
mmc_ll_cmds.h
Go to the documentation of this file.
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  */

Generated for libcdio by doxygen 1.8.0