标签: c++ c linux data-storage
我需要在磁带服务器上使用磁带进行一些基本操作:
mt stat
我想通过C / C ++中的API /库来执行这些任务,但我真的很难为初学者找到指令/教程。
你能以某种方式使用 sg 驱动程序, sg3_utils 中的函数或使用ioctl()进行一些玩法吗?
ioctl()
答案 0 :(得分:5)
磁带通常是字符设备(通常为/dev/st*,请参阅st(4) - 其中列出了相关的ioctl(2)参数等等。因此,请使用常见的read(2)和write(2)系统调用(使用适当大小的缓冲区,例如128K字节)。
/dev/st*
您可以考虑libtar(支持tar格式)。你绝对应该研究例如, GNU tar(以及其中包含mt)。
tar
mt
也许您的磁带服务器有自己的API或某些Web界面(然后使用libcurl)或某些网络协议。