libcdio 2.1.1
mmc_ll_cmds.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2018 Thomas Schmitt
3 Copyright (C) 2010, 2012, 2016, 2019 Rocky Bernstein <rocky@gnu.org>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
36#ifndef CDIO_MMC_LL_CMDS_H_
37#define CDIO_MMC_LL_CMDS_H_
38
39#include <cdio/mmc.h>
40
41#ifdef __cplusplus
42extern "C" {
43#endif /* __cplusplus */
44
71 mmc_get_configuration(const CdIo_t *p_cdio, void *p_buf,
72 unsigned int i_size,
73 unsigned int i_return_type,
74 unsigned int i_starting_feature_number,
75 unsigned int i_timeout_ms);
76
88 uint8_t out_buf[2]);
89
90
109 driver_return_code_t mmc_mode_select_10(CdIo_t *p_cdio, /*out*/ void *p_buf,
110 unsigned int i_size, int page,
111 unsigned int i_timeout_ms);
125 driver_return_code_t mmc_mode_sense_10( CdIo_t *p_cdio, /*out*/ void *p_buf,
126 unsigned int i_size,
127 unsigned int i_page_code);
128
138 driver_return_code_t mmc_mode_sense_6( CdIo_t *p_cdio, /*out*/ void *p_buf,
139 unsigned int i_size, int page);
140
158 bool b_persistent, bool b_prevent,
159 unsigned int i_timeout_ms);
160
265 mmc_read_cd(const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn,
266 int expected_sector_type, bool b_digital_audio_play,
267 bool b_sync, uint8_t header_codes, bool b_user_data,
268 bool b_edc_ecc, uint8_t c2_error_information,
269 uint8_t subchannel_selection, uint16_t i_blocksize,
270 uint32_t i_blocks);
271
291 mmc_read_disc_information(const CdIo_t *p_cdio, /*out*/ void *p_buf,
292 unsigned int i_size,
294 unsigned int i_timeout_ms);
295
323 int i_Kbs_speed,
324 unsigned int i_timeout_ms);
325
347 bool b_immediate,
348 uint8_t power_condition,
349 unsigned int i_timeout_ms);
350
363 unsigned int i_timeout_ms);
364
383 track_t i_track,
384 unsigned char sub_chan_param,
385 unsigned int *i_length,
386 char *p_buf,
387 unsigned int i_timeout_ms
388 );
389
390
437mmc_read_toc_cdtext ( const CdIo_t *p_cdio, unsigned int *i_length,
438 unsigned char *p_buf, unsigned int i_timeout_ms );
439
440
441#ifndef DO_NOT_WANT_OLD_MMC_COMPATIBILITY
442#define mmc_start_stop_media(c, e, i, p, t) \
443 mmc_start_stop_unit(c, e, i, p, t, 0)
444#endif /*DO_NOT_WANT_PARANOIA_COMPATIBILITY*/
445
446#ifdef __cplusplus
447}
448#endif /* __cplusplus */
449
450#endif /* CDIO_MMC_HL_CMDS_H_ */
451
452/*
453 * Local variables:
454 * c-file-style: "gnu"
455 * tab-width: 8
456 * indent-tabs-mode: nil
457 * End:
458 */
struct _CdIo CdIo_t
Definition cdio.h:47
driver_return_code_t
Definition device.h:205
Common definitions for MMC (Multimedia Commands). Applications include this for direct MMC access.
cdio_mmc_read_disc_info_datatype_t
Definition mmc.h:330
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)
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)
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_test_unit_ready(const CdIo_t *p_cdio, 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_prevent_allow_medium_removal(const CdIo_t *p_cdio, bool b_persistent, bool b_prevent, unsigned int i_timeout_ms)
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_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_get_event_status(const CdIo_t *p_cdio, uint8_t out_buf[2])
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_start_stop_unit(const CdIo_t *p_cdio, bool b_eject, bool b_immediate, uint8_t power_condition, unsigned int i_timeout_ms)
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_read_toc_cdtext(const CdIo_t *p_cdio, unsigned int *i_length, unsigned char *p_buf, unsigned int i_timeout_ms)
uint8_t track_t
Definition types.h:260
int32_t lsn_t
Definition types.h:250