READLINK(2)

명칭
readlink - 기호 연결의 값을 독해

프로그램 라이브러리
libc

서식
<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 (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

관련 항목
lstat(2), stat(2), symlink(2), symlink(7)

역사
readlink() 함수는 4.2BSD 그리고 등장했습니다.