libcdio 2.4.0
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, 2025, 2026 Rocky Bernstein
4 <rocky@gnu.org>
5
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
35
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
71mmc_get_configuration(const CdIo_t *p_cdio, void *p_buf, unsigned int i_size,
72 unsigned int i_return_type,
73 unsigned int i_starting_feature_number,
74 unsigned int i_timeout_ms);
75
87 uint8_t out_buf[2]);
88
107driver_return_code_t mmc_mode_select_10(CdIo_t *p_cdio, /*out*/ void *p_buf,
108 unsigned int i_size, int page,
109 unsigned int i_timeout_ms);
123driver_return_code_t mmc_mode_sense_10(CdIo_t *p_cdio, /*out*/ void *p_buf,
124 unsigned int i_size,
125 unsigned int i_page_code);
126
136driver_return_code_t mmc_mode_sense_6(CdIo_t *p_cdio, /*out*/ void *p_buf,
137 unsigned int i_size, int page);
138
155mmc_prevent_allow_medium_removal(const CdIo_t *p_cdio, bool b_persistent,
156 bool b_prevent, unsigned int i_timeout_ms);
157
261driver_return_code_t mmc_read_cd(const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn,
262 int expected_sector_type,
263 bool b_digital_audio_play, bool b_sync,
264 uint8_t header_codes, bool b_user_data,
265 bool b_edc_ecc, uint8_t c2_error_information,
266 uint8_t subchannel_selection,
267 uint16_t i_blocksize, uint32_t i_blocks);
268
288 const CdIo_t *p_cdio, /*out*/ void *p_buf, unsigned int i_size,
289 cdio_mmc_read_disc_info_datatype_t data_type, unsigned int i_timeout_ms);
290
317driver_return_code_t mmc_set_speed(const CdIo_t *p_cdio, int i_Kbs_speed,
318 unsigned int i_timeout_ms);
319
341 bool b_immediate,
342 uint8_t power_condition,
343 unsigned int i_timeout_ms);
344
357 unsigned int i_timeout_ms);
358
376 unsigned char sub_chan_param,
377 unsigned int *i_length, char *p_buf,
378 unsigned int i_timeout_ms);
379
426 unsigned int *i_length,
427 unsigned char *p_buf,
428 unsigned int i_timeout_ms);
429
430#ifndef DO_NOT_WANT_OLD_MMC_COMPATIBILITY
431#define mmc_start_stop_media(c, e, i, p, t) \
432 mmc_start_stop_unit(c, e, i, p, t, 0)
433#endif /*DO_NOT_WANT_PARANOIA_COMPATIBILITY*/
434
435#ifdef __cplusplus
436}
437#endif /* __cplusplus */
438
439#endif /* CDIO_MMC_HL_CMDS_H_ */
440
441/*
442 * Local variables:
443 * c-file-style: "gnu"
444 * tab-width: 8
445 * indent-tabs-mode: nil
446 * End:
447 */
struct _CdIo CdIo_t
Definition cdio.h:47
driver_return_code_t
Definition device.h:200
Common definitions for MMC (Multimedia Commands). Applications include this for direct MMC access.
cdio_mmc_read_disc_info_datatype_t
Definition mmc.h:331
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:258
int32_t lsn_t
Definition types.h:248

Generated for libcdio by doxygen 1.15.0