xxx_readdir()
in FUSEの実装では、以下のコードを使用します。
static int hello_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
off_t offset, struct fuse_file_info *fi)
{
DIR *dp;
struct dirent *de;
(void) offset;
(void) fi;
dp = opendir(path);
if (dp == NULL)
return -errno;
while ((de = readdir(dp)) != NULL) {
struct stat st;
memset(&st, 0, sizeof(st));
st.st_ino = de->d_ino;
st.st_mode = de->d_type << 12;
if (filler(buf, de->d_name, &st, 0))
break;
}
closedir(dp);
return 0;
}
次に、フォラーでコンパイルして実行します。
./hello /tmp/hello/
コマンドを使用するls /tmp/hello/
と、結果は次のようになります。
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
ただし、にファイルまたはディレクトリを作成していません/tmp/hello/
。ls
それで、私がコマンドを使用するとき、なぜこれらのdirecotiesがそれに存在するのですか?