Как манипулировать магнитными лентами в C / C ++?

Мне нужно сделать несколько основных операций с магнитными лентами на нашем ленточном сервере:

  • загрузить ленты
  • отображать статистику (эквивалентно mt stat команда в Linux)
  • чтение / запись данных на блоки лент

Я хочу выполнить эти задачи через API / библиотеку в C / C ++, но я действительно изо всех сил пытаюсь найти инструкции / учебное пособие для начинающих.

Можете ли вы как-то использовать SG водитель, функции от sg3_utils или немного играть с ioctl()?

0

Решение

Ленты, как правило, символьные устройства (обычно /dev/st*, увидеть й (4) -какие списки актуальны IOCTL (2) аргументы — и т.д …). Так что используйте общий чтения (2) а также написать (2) системные вызовы (с буфером соответствующего размера, например, 128 Кбайт).

Вы могли бы рассмотреть libtar (чтобы поддержать tar формат). Вы определенно должны изучить исходный код, например, GNU tar (а также mt содержится в нем).

Возможно, у вашего ленточного сервера есть собственный API или какой-то веб-интерфейс (тогда используйте Libcurl) или какой-то сетевой протокол.

5

Другие решения