VOP_GETEXTATTR(9)

명칭
VOP_GETEXTATTR - vnode 로부터의 이름 첨부 확장 속성의 꺼내

서식
<sys/param.h> <sys/vnode.h> <sys/extattr.h> int VOP_GETEXTATTR(struct vnode *vp, int attrnamespace, const char *name, struct uio *uio, size_t *size, struct ucred *cred, struct thread *td)

해설
이 vnode 호출은, 파일 또는 디렉토리로부터, 지정한 이름 첨부 확장 속성을 꺼내기 위해서(때문에) 사용할 수가 있습니다.

인수는 이하와 같습니다.

vp  파일 또는 디렉토리의 vnode.

attrnamespace
    어느 확장 속성의 이름 공간에, 그 속성의 이름이 존재하는지를 나타내는 정수 정수.

name
    속성명이 들어간 null 로 종단 된 캐릭터 라인에의 포인터.

uio 읽어들여야 할 데이터의 위치.

size
    NULL (이)가 아닌 경우에는, 돌아올 때에 모든 속성 데이터를 독 붐비기 위해서(때문에) 요구된다 바이트수가 포함됩니다. 대부분(거의)의 경우, size 하지만 NULL (이)가 아닐 때에는 uio 하지만 NULL (으)로 됩니다. 또는 그 역입니다.

cred
    요구의 인증으로 사용하기 위한 유저 증명.

td  확장 속성을 요구하고 있는 thread.

cred 포인터는, NULL (을)를 건네줄 수가 있어 가능하다면 액세스 제어 체크가 실행되지 않는 것을 지시합니다. 이 cred 의 설정은, 액티브 프로세스에 용서되지 않은 확장 속성의 취득을 커널이 정당화 하는 것을 인정하기 위해서(때문에) 사용 가능합니다.

확장 속성의 시멘틱스는 파일 시스템의 호출의 실장에 의해 다르겠지요. 확장 속성의 것보다 많은 정보는 extattr(9) (을)를 참조해 주세요.

LOCKS
이 vnode 는 들어갈 때에 락 되어 돌아올 때까지 락 계속 되어야 합니다.

반환값
성공시에는 0 이 돌려주어져 읽어들인 데이터를 반영해 uio 구조체가 갱신됩니다. 그렇지 않으면 적절한 에러 코드가 돌려주어집니다.

에러

[ENOENT]
    이 vnode 를 위한 속성명이 정의되고 있지 않습니다.

[EACCES]
    호출측이 적절한 특권을 가지고 있지 않습니다.

[ENXIO]
    지정된 vnode 및 속성명에 대한 요구는, 이 파일 시스템에서는 무효입니다.

[ENOMEM]
    그 요구를 실행하기 위한 충분한 메모리가 이용 가능하지는 않습니다.

[EFAULT]
    uio 구조체가 무효인 유저 공간 주소를 참조하고 있습니다.

[EINVAL]
    name 또는 uio 인수가 무효입니다.

[EOPNOTSUPP]
    파일 시스템이 VOP_GETEXTATTR() (을)를 서포트하고 있지 않습니다.

관련 항목
extattr(9), vnode(9), VOP_SETEXTATTR(9)