READLINK
Section: Linux Programmer's Manual (2)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
readlink - シンボリック・リンクの値を読む
書式
#include <unistd.h>
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
readlink():
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
説明
readlink()
は
path
で与えられたシンボリック・リンクの内容を
buf
バッファーへ格納する、
buf
のサイズは
bufsiz
である。
readlink()
は NULL バイトを
buf
に追加しない。
その内容全てを格納するのにバッファーが小さ過ぎる場合は、
(bufsiz
バイトの長さに) 内容を切り詰める。
返り値
成功した場合にはバッファーに格納された文字数を返す。
エラーが起こった場合には -1 を返し、
errno
にエラー・コードを格納する。
エラー
- EACCES
-
パスのディレクトリ部分に検索許可が与えられていない
(path_resolution(7)
も参照すること)。
- EFAULT
-
buf
がプロセスに割り当てられたアドレス空間の外を指している。
- EINVAL
-
bufsiz
が正でない。
- EINVAL
-
指定したファイルがシンボリック・リンクでない。
- EIO
-
ファイル・システムの読み込み中に I/O エラーが起こった。
- ELOOP
-
パス名にシンボリック・リンクが多すぎる。
- ENAMETOOLONG
-
パス名かパス名の一部分が長過ぎる。
- ENOENT
-
その名前のファイルが存在しない。
- ENOMEM
-
カーネルに十分なメモリがない。
- ENOTDIR
-
パスのディレクトリ部分がディレクトリでない。
準拠
4.4BSD
(readlink()
関数コールは 4.2BSD で現われた), POSIX.1-2001.
注意
バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、
readlink()
の返り値の型は
int
で宣言されていた。現在では、返り値の型は
ssize_t
である (返り値
ssize_t
は POSIX.1-2001 で (新たに) 必須となった)。
関連項目
lstat(2),
readlinkat(2),
stat(2),
symlink(2),
path_resolution(7)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:58 GMT, November 19, 2007