lookup_dcookie -
ディレクトリエントリーのパス名を返す
int lookup_dcookie(u64 cookie, char *buffer,
size_t len);
cookie
値で指定されたディレクトリエントリーのフルパス名を検索する。
cookie
は、個々のディレクトリエントリーを区別する内部識別子
(opaque identifier)
である。引数で指定されたバッファーに、ディレクトリエントリーの
フルパス名が格納される。
lookup_dcookie()
が正常に値を返すためには、カーネルがディレクトリエントリーへの
cookie 参照を
保持していなければならない。
成功した場合、
lookup_dcookie()
はバッファーにコピーしたパス文字列の長さを返す。
エラーの場合は -1
を返し、
errno
に適切な値を設定する。
- EFAULT
- バッファーが有効でなかった。
- EINVAL
- 検索が行われた時、cookie
とディレクトリエントリーのマッピングがカーネルに
登録されていなかったか、または
cookie
が有効なディレクトリエントリーを
参照していない。
- ENAMETOOLONG
- 名前がバッファーに入り切らなかった。
- ENOMEM
- カーネルが、パス名を保持する一時バッファー用のメモリーを割り当てることが
できなかった。
- EPERM
- プロセスが cookie
値を検索するのに必要なケーパビリティ
CAP_SYS_ADMIN
を持っていない。
- ERANGE
- バッファーが、ディレクトリエントリーのパス名を収容するのに
十分な大きさではなかった。
Linux 2.5.43
以降で利用できる。
エラー
ENAMETOOLONG
を返す仕様は 2.5.70
で追加された。
lookup_dcookie() は Linux
独自の関数である。
lookup_dcookie()
は特殊な用途に使われるシステムコールで、現在のところ
oprofile(1) profiler で
使われているだけである。
指定されたディレクトリエントリーが削除されていた場合、返されるパス名の最後に
" (deleted)"
という文字列が付加されることがある。
oprofile(1)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。