pathconf 또는 fpathconf 서브루틴
용도
파일 구현 특성을 검색합니다.
라이브러리
표준 C 라이브러리(libc.a)
구문
#include <unistd.h>
long fpathconf( FileDescriptor, Name)
int FileDescriptor, Name;
int FileDescriptor, Name;
설명
pathconf 서브루틴을 사용하여 어플리케이션은 Path 매개변수로 이름 지정된 파일에 포함된 파일 시스템이 지원하는 조작의 특성을 판별할 수 있습니다. 이름 지정된 파일의 읽기, 쓰기 또는 실행 권한은 필요하지 않지만 파일로 연결되는 경로의 모든 디렉토리를 검색할 수 있어야 합니다.
fpathconf 서브루틴을 사용하여 어플리케이션은 열린 파일에 대해 동일한 정보를 검색할 수 있습니다.
매개변수
| 항목 | 설명 |
|---|---|
| 경로 | 경로 이름을 지정합니다. |
| FileDescriptor | 열린 파일 설명자를 지정합니다. |
| 이름 | 조회할 구성 속성을 지정합니다. Path 또는 FileDescriptor 매개변수로 지정된 파일에 이 속성을 적용할 수 없는 경우 pathconf 서브루틴은 오류를 리턴합니다. Name 매개변수의 기호 값은 unistd.h 파일에 정의됩니다.
|
참고:
- Name 매개변수의 값이 _PC_LINK_MAX이고 Path 또는 FileDescriptor 매개변수가 디렉토리를 참조하는 경우, 리턴된 값은 디렉토리 자체에 적용됩니다.
- Name 매개변수의 값이 _PC_NAME_MAX 또는 _PC_NO_TRUNC이고 Path 또는 FileDescriptor 매개변수가 디렉토리를 참조하는 경우, 리턴된 값은 디렉토리 내의 파일 이름에 적용됩니다.
- Name 매개변수에 _PC_PATH_MAX인 값이 있고 Path 또는 FileDescriptor 매개변수가 작업 디렉토리인 디렉토리를 참조하는 경우, 리턴되는 값은 상대 경로 이름의 최대 길이입니다.
- Name 매개변수의 값이 _PC_PIPE_BUF이고 Path 매개변수가 FIFO 특수 파일을 참조하거나 FileDescriptor 매개변수가 파이프 또는 FIFO 특수 파일을 참조하는 경우, 리턴된 값은 참조된 오브젝트에 적용됩니다. Path 또는 FileDescriptor 매개변수가 디렉토리를 참조하는 경우, 리턴되는 값은 존재하거나 디렉토리 내에 작성될 수 있는 모든 FIFO 특수 파일에 적용됩니다.
- Name 매개변수의 값이 _PC_CHOWN_RESTRICTED이고 Path 또는 FileDescriptor 매개변수가 디렉토리를 참조하는 경우, 리턴된 값은 존재하거나 디렉토리 내에 작성될 수 있는 디렉토리 이외의 모든 파일에 적용됩니다.
리턴 값
pathconf 또는 fpathconf 서브루틴이 성공하면 지정된 매개변수가 리턴됩니다. 그렇지 않으면 -1 값이 반환되고 errno 전역 변수가 오류를 나타내도록 설정됩니다. Name 매개변수에 해당하는 변수에 Path 매개변수 또는 FileDescriptor 매개변수에 대한 제한이 없는 경우, pathconf 및 fpathconf 서브루틴은 errno 전역 변수를 변경하지 않고 -1 값을 반환합니다.
오류 코드
다음 오류가 발생하면 pathconf 또는 fpathconf 서브루틴이 실패합니다.
| 항목 | 설명 |
|---|---|
| EINVAL | name 매개변수는 알 수 없거나 적용할 수 없는 특성을 지정합니다. |
pathconf 서브루틴은 다음 오류가 발생하는 경우에도 실패할 수 있습니다.
| 항목 | 설명 |
|---|---|
| EACCES | 경로 접두부의 구성요소에 대한 검색 권한이 거부되었습니다. |
| EINVAL | 구현은 Name 매개변수와 지정된 파일의 연관을 지원하지 않습니다. |
| ENAMETOOLONG | Path 매개변수 문자열의 길이가 PATH_MAX 값을 초과합니다. |
| ENAMETOOLONG | 기호 링크의 경로 이름 분석에서 길이가 PATH_MAX를 초과하는 중간 결과를 생성했습니다. |
| ENOENT | 이름 지정된 파일이 존재하지 않거나 Path 매개변수가 빈 문자열을 가리킵니다. |
| ENOTDIR | 경로 접두부의 구성요소가 디렉토리가 아닙니다. |
| 루프 | 경로 해석 중에 너무 많은 기호 링크가 발견되었습니다. |
다음 오류 중 하나가 발생하면 fpathconf 서브루틴이 실패할 수 있습니다.
| 항목 | 설명 |
|---|---|
| EBADF | File Descriptor 매개변수가 올바르지 않습니다. |
| EINVAL | 구현은 Name 매개변수와 지정된 파일의 연관을 지원하지 않습니다. |