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