Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n INQUIRY
n TEST UNIT READY
n REQUEST SENSE
n READ CAPACITY
n READ BUFFER
n READ(6) (10) and (12)
n MODE SENSE(6) and (10)
int main()
{
if((sg_fd = open(SG_DEV, O_RDWR)) < 0) {
perror("open");
return -1;
}
/* Считываем PMA */
if(read_pma() < 0) printf("Cannot read PMA ");
close(sg_fd);
return 0;
}
Полный текст данной программы находится в файле SG/read_pma.c.
Устанавливаем в устройство диск CD-RW, на котором записано 3 аудиотрека, и запускаем программу на выполнение. Результаты работы программы:
PMA data length - 46
PMA entries - 4
Entry ADR CTRL Point Zero Min Sec Frame PMin Psec PFrame LBA
0 2 0 0 0 54 88 82 0 0 0 ---
1 1 0 1 0 5 3 16 0 2 0 0
2 1 0 2 0 8 28 58 5 5 16 22741
3 1 0 3 0 12 30 21 8 30 58 38158
Для анализа полученных результатов воспользуемся таблицей 4.
Запись |
Значение |
0 |
Поля MIN/SEC/FRAME содержат идентификатор диска в BCD-коде. Поле PSEC содержит формат сессии. В нашем примере это значение равно 0 – CD-DA, аудиодиск. |
1-3 |
Поле POINT содержит номер трека, поля PMIN/PSEC/PFRAME содержат координаты начала трека, MIN/SEC/FRAME – координаты конца трека. Хорошо видно, что пауза между треками составляет 2 секунды. |
Свойства, профили и страницы режимов устройства
Свойства и профили устройства
Прежде чем послать устройству какую-либо команду, надо убедиться в том, что устройство способно эту команду выполнить. Для этого необходимо установить, какие именно команды поддерживает устройство. Набор команд, поддерживаемых устройством, называется свойством (Features).
Одно устройство может поддерживать несколько свойств. Базовый набор свойств устройства называется профилем (Profile). Перечень всех существующих свойств и профилей приведен в спецификации SCSI MMC-4, п. 5 «Features and Profiles for Multi-Media Device».
Для того чтобы выяснить, обладает ли устройство тем или иным свойством, ему необходимо послать команду GET CONFIGURATION. Данная команда определена в спецификации [1] и позволяет получить полный список свойств, поддерживаемых устройством и текущий профиль устройства. Текущий профиль определяет, какие именно свойства доступны на данный момент. По команде GET CONFIGURATION устройство вернет блок данных, состоящий из заголовка свойства (Feature Header) и списка дескрипторов свойств (Feature Descriptors):
GET CONFIGURATION response data format
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0-7 |
Feature Header |
|||||||
8-n |
Feature Descriptor(s) |