READLINK(2) — NEWS-OS Programmer’s Manual
名称
readlink − シンボリックリンクの値を読み取る
形式
cc = readlink(path, buf, bufsiz)
int cc;
char ∗path, ∗buf;
int bufsiz;
解説
readlink は、 シンボリックリンク path の内容を、 サイズが bufsiz であるバッファ buf へ収めます。 リターン時、 このリンクの内容はナルで終了してはいません。
リターン値
コールは、 成功した場合には、 バッファに収められたキャラクタの数を 返します。 エラーが発生した場合には、 −1 を 返し、 エラーコードを グローバル変数 errno に入れます。
エラー
次の場合、 readlink は失敗し、 ファイルモードは変更されません。
[ENOTDIR] パスプレフィックスの構成要素がディレクトリではないものがある。
[EINVAL] パス名に最上位ビットのセットされたキャラクタが含まれている。 (NEWS-OS ではおきない。)
[ENAMETOOLONG]
パス名の 1 構成要素が 255 バイトを 超えている、 またはパス名全体が 1023 バイトを 超えている。
[ENOENT] 指定されたファイルが存在していない。
[EACCES] パスプレフィックスの構成要素についてサーチパーミッションが 否定されているものがある。
[ELOOP] パス名の処理で遭遇したシンボリックリンクの数が多すぎる。
[EINVAL] 指定されたファイルがシンボリックリンクではない。
[EIO] ファイルシステムから読み取りを 行っている間に、 入出力エラーが発生した。
[EFAULT] buf が、 そのプロセスの割り当てアドレススペースの外にまで渡っている。
関連事項
stat(2), lstat(2), symlink(2), cslink(7)
NEWS-OSRelease 4.2.1R