tail head cat sleep
QR code linking to this page

Man page  — VOP_SETEXTATTR

명칭

VOP_SETEXTATTR – vnode 에의 이름 다하고 확장 속성의 설정

내용

서식

#include <sys/param.h>
#include <sys/vnode.h>
#include <sys/extattr.h>

int
VOP_SETEXTATTR(struct vnode *vp, int attrnamespace, char *name, struct uio *uio, struct ucred *cred, struct thread *td);

해설

이 vnode 호출은, 파일 또는 디렉토리에 대해, 특정의 이름 첨부 확장 속성을 설정하기 위해서 사용 가능합니다.

인수는 이하와 같습니다.
vp
  파일 또는 디렉토리의 vnode.
attrnamespace
  어느 확장 속성의 이름 공간에, 그 속성의 이름이 존재하는지를 나타내는 정수 정수.
name
  속성의 이름이 들어간, 눌 캐릭터로 종단 된 캐릭터 라인에의 포인터.
uio
  읽어들여 또는 기입하시는 데이터의 위치.
cred
  요구의 인증으로 사용하는 유저 증명.
td
  확장 속성을 설정해 있는 thread.

uio 구조체는, VOP_WRITE 에서의 같은 이름의 인수와 같게 사용됩니다. 그렇지만, 확장 속성이 엄밀한 "name=value" 의 시멘틱스를 규정하고 있으므로, 0 이 아닌 오프셋(offset)는 각하 되겠지요.

uio 포인터는, NULL 인 것이 가능하고, 지정된 확장 속성이 삭제 되는 것이 당연한 것을 지시합니다.

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

확장 속성의 시멘틱스는, 호출을 실장하고 있는 파일 시스템에 의존해 다를 수 있습니다. 확장 속성에 대한 보다 많은 정보는 extattr(9) (을)를 참조해 주세요.

vnode 는, 들어갈 때에 락 되어 귀가시에도 락 계속 되고 있어야 합니다.

반환값

확장 속성이 성공리로 설정되었을 경우에는 0 이 돌려주어집니다. 그렇지 않은 경우에는 적절한 에러 코드가 돌려주어집니다.

에러

[EACCES]
  호출측이 적절한 특권을 가지고 있지 않습니다.
[ENXIO]
  지정된 vnode 및 속성명에 대한 요구는, 이 파일 시스템에서는 무효입니다.
[ENOMEM]
  요구를 실행하기 위한 충분한 메모리가 없습니다.
[EFAULT]
  uio 구조체가 무효인 유저 공간 주소를 참조하고 있습니다.
[EINVAL]
  이름 또는 uio 인수가 무효입니다.
[EOPNOTSUPP]
  파일 시스템이 VOP_GETEXTATTR() (을)를 서포트하고 있지 않습니다.
[ENOSPC]
  파일 시스템에 비어 area가 없습니다.
[EROFS]
  파일 시스템이 읽어내 전용입니다.

관련 항목

extattr(9), vnode(9), VOP_GETEXTATTR(9)

저자

이 메뉴얼 페이지는 Robert Watson 하지만 썼습니다.

VOP_SETEXTATTR (9) December 23, 1999

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.