mountシステムコールの使用例
調べてもあまり見つからなかったのでメモ。
コード
詳しくは manを参照してください。
特徴的なのは最後の引数ですかね。mountコマンドの '-o'オプションで与えるものを
そのまま指定するという形です。何を指定するかは第 3引数のファイルシステムの
種類に依存しています。詳しくは "man 8 mount"を参照してください。
以下は VFATにフォーマットされた SDカードを /mnt/tmpにマウントする例です。
(第 1引数の srcは環境により異なる可能性がありますので注意してください)
#include <stdio.h> #include <stdlib.h> #include <sys/mount.h> int main(void) { int ret; int mount_flag = 0; ret = mount("/dev/mmcblk0p1", "/mnt/tmp", "vfat", mount_flag, "codepage=932,iocharset=utf8"); if (ret == -1) { perror("mount:"); exit(1); } printf("mount success!!\n"); return 0; }
利用例
上記のプログラムの実行には root権限が必要なります。
$ gcc sample_mount.c $ ls /mnt/tmp $ sudo ./a.out $ ls /mnt/tmp test.txt $ cat /mnt/tmp/test.txt hello world $ sudo umount /mnt/tmp $ ls /mnt/tmp $