私は、mp3 を含むディレクトリを取得し、次の構造を持つ別のディレクトリにファイルシステムをマウントする FUSE アプリを開発しています (タグに従って):
Artist1
|
-----> Album11
|
-----> Track01
-----> Track02
-----> Track03
-----> Track04
-----> Track05
-----> Album12
....
Artist2
|
-----> Album21
-----> Album22
....
Artist3
.....
実際のファイルへのリンクを維持するために、sqlite3 データベースを使用しています。アーティストとアルバムの要素はフォルダーであり、トラックの要素は実際のものへのリンクです。
アーティストとアルバムのフォルダーを作成することができました。しかし今、私には問題があります。
私はこれを持っています:
static int getattr(...) {
....
else if ( level == 0 || level == 1 || level == 2 )
{
// Estamos en el primer nivel. Son artistas, y por lo tanto, carpetas.
stbuf->st_mode = S_IFDIR | 0755;
stbuf->st_nlink = 2;
lstat(path, stbuf);
}
else if (level == 3) {
// Estamos en el tercer nivel. Son canciones, por lo que son enlaces
stbuf->st_mode = S_IFLNK | 0755;
stbuf->st_nlink = 2;
lstat(path, stbuf);
}
.....
}
そして今、トラックディレクトリに移動すると、機能が実装されていないことを示すメッセージが表示されます(リンク機能)。リンクがどこを指しているかを知るには、どの関数を実装する必要がありますか? または、ポインターの方向をどこで埋める必要がありますか?
ありがとう!