Linux C プログラムを Java に移植したいと考えています。このプログラムは、USB ケーブルで PC に接続されたカメラを制御します。C コードは Linux SCSI Generic (sg) を使用します。
C プログラムのサンプル コード:
#include <linux/../scsi/sg.h>
...
static int scsi_write(int sg_fd, uint8_t *cmd, uint32_t cmdLen,
uint8_t *buf, uint32_t bufLen) {
sg_io_hdr_t io;
int r;
memset(&io, 0, sizeof(io));
io.interface_id = 'S';
io.cmd_len = cmdLen;
...
r = ioctl(sg_fd, SG_IO, &io);
...
}
このプログラムを Java に移植する方法はありますか? Java 用に書かれたクロスプラットフォームの SCSI ライブラリーを探していましたが、見つかりませんでした。また、SCSI/sg を介した JNI を探していましたが、運もありませんでした。