libcdio  2.1.0
Functions
mmc_hl_cmds.h File Reference

Higher-level MMC commands which build on top of the lower-level MMC commands. More...

#include <cdio/mmc.h>

Go to the source code of this file.

Functions

driver_return_code_t mmc_close_tray (CdIo_t *p_cdio)
 
driver_return_code_t mmc_get_disc_erasable (const CdIo_t *p_cdio, bool *b_erasable)
 
driver_return_code_t mmc_eject_media (const CdIo_t *p_cdio)
 
driver_return_code_t mmc_get_disctype (const CdIo_t *p_cdio, unsigned int i_timeout_ms, cdio_mmc_feature_profile_t *p_disctype)
 
driver_return_code_t mmc_mode_sense (CdIo_t *p_cdio, void *p_buf, unsigned int i_size, int page)
 
driver_return_code_t mmc_set_drive_speed (const CdIo_t *p_cdio, int i_drive_speed)
 

Detailed Description

Higher-level MMC commands which build on top of the lower-level MMC commands.

Function Documentation

◆ mmc_close_tray()

driver_return_code_t mmc_close_tray ( CdIo_t p_cdio)

Close tray using a MMC START STOP UNIT command.

Parameters
p_cdiothe CD object to be acted upon.
Returns
DRIVER_OP_SUCCESS (0) if we got the status. return codes are the same as driver_return_code_t

◆ mmc_eject_media()

driver_return_code_t mmc_eject_media ( const CdIo_t p_cdio)

Eject using MMC commands. If CD-ROM is "locked" we'll unlock it. Command is not "immediate" – we'll wait for the command to complete. For a more general (and lower-level) routine,

See also
mmc_start_stop_unit.
Parameters
p_cdiothe CD object to be acted upon.
Returns
DRIVER_OP_SUCCESS (0) if we got the status. return codes are the same as driver_return_code_t

◆ mmc_get_disc_erasable()

driver_return_code_t mmc_get_disc_erasable ( const CdIo_t p_cdio,
bool b_erasable 
)

Detects if a disc (CD or DVD) is erasable or not.

Parameters
p_cdiothe CD object to be acted upon.
b_erasableif not NULL, on return will be set indicate whether the operation was a success (DRIVER_OP_SUCCESS) or if not to some other value.
Returns
true if the disc is detected as erasable (rewritable), false otherwise.

◆ mmc_get_disctype()

driver_return_code_t mmc_get_disctype ( const CdIo_t p_cdio,
unsigned int  i_timeout_ms,
cdio_mmc_feature_profile_t p_disctype 
)

Detects the disc type using the SCSI-MMC GET CONFIGURATION command.

Parameters
p_cdiothe CD object to be acted upon.
i_timeout_msnumber of millisections to wait before timeout
p_disctypethe disc type set on success.
Returns
DRIVER_OP_SUCCESS (0) if we got the status. return codes are the same as driver_return_code_t

◆ mmc_mode_sense()

driver_return_code_t mmc_mode_sense ( CdIo_t p_cdio,
void *  p_buf,
unsigned int  i_size,
int  page 
)

Run a SCSI-MMC MODE_SENSE command (6- or 10-byte version) and put the results in p_buf

Parameters
p_cdiothe CD object to be acted upon.
p_bufpointer to location to store mode sense information
i_sizenumber of bytes allocated to p_buf
pagewhich "page" of the mode sense command we are interested in
Returns
DRIVER_OP_SUCCESS if we ran the command ok.

◆ mmc_set_drive_speed()

driver_return_code_t mmc_set_drive_speed ( const CdIo_t p_cdio,
int  i_drive_speed 
)

Set the drive speed in CD-ROM speed units.

Parameters
p_cdioCD structure set by cdio_open().
i_drive_speedspeed in CD-ROM speed units. Note this not Kbs as would be used in the MMC spec or in mmc_set_speed(). To convert CD-ROM speed units to Kbs, multiply the number by 176 (for raw data) and by 150 (for filesystem data). On many CD-ROM drives, specifying a value too large will result in using the fastest speed.
Returns
the drive speed if greater than 0. -1 if we had an error. is -2 returned if this is not implemented for the current driver.
See also
cdio_set_speed and mmc_set_speed