readlink(2) FreeBSD 一般コマンドマニュアル

readlink

前のページ 上に戻る 次のページ

readlink




書式

     #include <unistd.h>

     int
     readlink(const char *path, char *buf, int bufsiz);


解説

     readlink() は、 bufsiz サイズであるバッファ buf 内にシンボリックリンク
     path の内容を配置します。 readlink() 関数は buf の末尾に NUL 文字を追加し
     ません。


戻り値

     呼び出しが正常に完了した場合、バッファ内に配置した文字数を返します。エラ
     ーが起きた場合は -1 を返し、エラーコードがグローバル変数 errno に設定され
     ます。


エラー

     readlink() は次の場合に失敗します。

     [ENOTDIR]          パスの構成要素中にディレクトリ以外のものが含まれていま
                        す。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           指定されたファイルが存在しません。

     [EACCES]           指定されたパスには、検索が許可されていないディレクトリ
                        が含まれています。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EINVAL]           指定のファイルがシンボリックリンクではありません。

     [EIO]              ファイルシステムから読取る間に入出力エラーが発生しまし
                        た。

     [EFAULT]           buf は、プロセスに割り当てられたアドレス空間の範囲外を
                        指しています。


関連項目

     lstat(2), stat(2), symlink(2), symlink(7)


歴史

     readlink() 関数は 4.2BSD で登場しました。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス