REVOKE(2)

명칭
revoke - 파일 액세스를 무효로 한다

프로그램 라이브러리
libc

서식
<unistd.h> int revoke(const char *path)

해설
revoke() 함수는, path 에 의해 지정된 파일의, 시스템내에 현재 오픈 떠날 수 있어 모든 파일 기술자를 무효로 합니다. 그러한 기술자에 대한 후속의 조작은 모두 실패합니다. 다만, 캐릭터형 디바이스 파일에의 read() 하지만 카운트 0 (파일의 종료)을 돌려주는 것과 close() 호출이 성공하는 것은 예외입니다. 지정된 파일이 어느 디바이스에 대한 오픈된 특수 파일이었을 경우, 그 파일에의 모든 참조가 클로우즈 되었는지와 같이, 디바이스를 클로우즈 하는 함수가 불려 갑니다.

파일에의 액세스는 그 소유자 또는 슈퍼 유저 에 의해서만 무효로 됩니다. revoke() 함수는 현시점에서는 블록형 및 캐릭터형 특수 파일에 관해서만 서포트되고 있습니다. 이것은 통상, 새로운 로그인 세션용으로 단말 디바이스를 준비할 때, 이전의 단말 사용자에 의한 액세스를 방지하기 위해서 사용됩니다.

반환값

에러
다음의 경우를 제외해, 지정 파일에의 액세스는 무효로 됩니다.

[ENOTDIR]
    패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.

[ENAMETOOLONG]
    패스명의 원가요소가 255 캐릭터를 넘고 있는지, 또는 패스명 전체가 1024 캐릭터를 넘고 있습니다.

[ENOENT]
    지정된 파일 또는 패스명이 존재하지 않습니다.

[EACCES]
    지정된 패스에는, 검색이 허가되어 있지 않은 디렉토리가 포함되어 있습니다.

[ELOOP]
    패스명을 변환할 경우에 검출된 기호 연결이 너무 많습니다.

[EFAULT]
    path (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

[EINVAL]
    시스템은, 지정된 파일에 대해 revoke() 조작을 서포트하지 않습니다.

[EPERM]
    호출측이 파일의 소유자라도 슈퍼 유저이기도 하지 않습니다.

관련 항목
close(2)

역사
revoke() 함수는 4.3BSD Reno 그리고 등장했습니다.