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

0

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

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

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

Можете ли вы каким-то образом использовать sg driver, функции от sg3_utils или некоторые из них с помощью ioctl()?

  • 0
    Не ясно, хотите ли вы кодировать что-то, работающее на ленточном сервере или в другом месте .....
  • 0
    @BasileStarynkevitch Мне просто нужно проверить запись и чтение данных с лент и обратно (изменение промежуточной даты) ...
Теги:
data-storage

1 ответ

5
Лучший ответ

Ленты обычно представляют собой устройства символов (обычно /dev/st*, см. St (4) -which перечисляет соответствующие ioctl (2) arguments- и т.д....). Поэтому используйте общие функции чтения (2) и записи (2) (с буфером соответствующего размера, например 128 Кбайт).

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

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

  • 2
    Что касается свойств ленты, перемотки и т. Д., Вы используете ioctl() перечисленные в заголовочном файле linux / mtio.h (на узле устройства). Утилита mt-gnu вероятно, также интересна; это часть пакета cpio .
  • 0
    Не могли бы вы дать мне краткий пример примера кода C (скажем, просто загрузить ленту), пожалуйста? Это бы мне очень помогло ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню