breeze wrote:какой atapi-командой
- Code: Select all
void play_audio()
{
__u8 cmd_buff[12];
/* Воспроизводим фрагмент размером 5000 секторов, начиная с 100 - го сектора */
__u32 start_lba = 100;
__u16 lba_len = 5000;
memset((void *)cmd_buff, 0, 12);
cmd_buff[0] = 0x45; // код команды PLAY AUDIO
/* Меняем порядок следования байт в поле Starting Logical Block Address при помощи макроса __swab32. Этот
* макрос определен в файле <linux/byteorder/swab.h>
*/
start_lba = __swab32(start_lba);
memcpy((void *)(cmd_buff + 2), (void *)&start_lba, 4);
/* Заполняем поле Transfer Length */
cmd_buff[7] = *((__u8 *)&lba_len + 1);
cmd_buff[8] = *(__u8 *)&lba_len;
/* Посылаем устройству команду */
send_packet_command(cmd_buff);
}