fpathconf(3) - wariua/manpages-ko GitHub Wiki

NAME

fpathconf, pathconf - νŒŒμΌμ— λŒ€ν•œ ꡬ성 κ°’ μ–»κΈ°

SYNOPSIS

#include <unistd.h>

long fpathconf(int fd, int name);
long pathconf(const char *path, int name);

DESCRIPTION

fpathconf()λŠ” μ—΄λ¦° 파일 λ””μŠ€ν¬λ¦½ν„° fd에 λŒ€ν•΄ ꡬ성 μ˜΅μ…˜ name의 값을 μ–»λŠ”λ‹€.

pathconf()λŠ” 파일λͺ… path에 λŒ€ν•΄ ꡬ성 μ˜΅μ…˜ name의 값을 μ–»λŠ”λ‹€.

<unistd.h>에 μ •μ˜λœ λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλ“€μ€ μ΅œμ†Ÿκ°’μ΄λ‹€. λ‹€λ₯Ό μˆ˜λ„ μžˆλŠ” 값을 μ‘μš©μ—μ„œ μ΄μš©ν•˜κ³  μ‹ΆμœΌλ©΄ 더 ν›„ν•œ κ²°κ³Όλ₯Ό 내놓을 μˆ˜λ„ μžˆλŠ” fpathconf()λ‚˜ pathconf() ν˜ΈμΆœμ„ ν•  수 μžˆλ‹€.

name을 λ‹€μŒ μƒμˆ˜λ“€ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •ν•˜λ©΄ λ‹€μŒ ꡬ성 μ˜΅μ…˜λ“€μ„ λ°˜ν™˜ν•œλ‹€.

_PC_LINK_MAX
νŒŒμΌμ— λŒ€ν•œ 링크의 μ΅œλŒ€ 개수. fd λ‚΄μ§€ pathκ°€ 디렉터리λ₯Ό κ°€λ¦¬ν‚€λŠ” κ²½μš°μ—λŠ” κ·Έ 디렉터리 전체에 값이 μ μš©λ˜λŠ” 것이닀. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_LINK_MAXλ‹€.
_PC_MAX_CANON
ν˜•μ‹ μžˆλŠ” μž…λ ₯ ν–‰μ˜ μ΅œλŒ€ 길이이며 fd λ‚΄μ§€ pathκ°€ 터미널을 κ°€λ¦¬μΌœμ•Ό ν•œλ‹€. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_MAX_CANON이닀.
_PC_MAX_INPUT
μž…λ ₯ ν–‰μ˜ μ΅œλŒ€ 길이이며 fd λ‚΄μ§€ pathκ°€ 터미널을 κ°€λ¦¬μΌœμ•Ό ν•œλ‹€. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_MAX_INPUT이닀.
_PC_NAME_MAX
디렉터리 path λ‚΄μ§€ fd 내에 ν”„λ‘œμ„ΈμŠ€κ°€ 생성할 수 μžˆλŠ” 파일λͺ…μ˜ μ΅œλŒ€ 길이. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_NAME_MAX이닀.
_PC_PATH_MAX
path λ‚΄μ§€ fdκ°€ ν˜„μž¬ μž‘μ—… 디렉터리일 λ•Œ μƒλŒ€ 경둜λͺ…μ˜ μ΅œλŒ€ 길이. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_PATH_MAX이닀.
_PC_PIPE_BUF
FIFOλ‚˜ νŒŒμ΄ν”„μ— μ›μžμ μœΌλ‘œ 기둝할 수 μžˆλŠ” μ΅œλŒ€ λ°”μ΄νŠΈ 수. fpathconf()의 경우 fdκ°€ νŒŒμ΄ν”„λ‚˜ FIFOλ₯Ό κ°€λ¦¬μΌœμ•Ό ν•œλ‹€. pathconf()의 경우 pathκ°€ FIFOλ‚˜ 디렉터리λ₯Ό κ°€λ¦¬μΌœμ•Ό ν•˜λ©°, ν›„μžμ˜ 경우 λ°˜ν™˜ 값은 κ·Έ 디렉터리에 μƒμ„±λ˜λŠ” FIFO에 ν•΄λ‹Ήν•˜λŠ” 것이닀. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_PIPE_BUF이닀.
_PC_CHOWN_RESTRICTED

chown(2) 및 fchown(2)을 μ‚¬μš©ν•΄ 파일의 μ‚¬μš©μž IDλ₯Ό λ°”κΎΈλŠ” 것이 μ μ ˆν•œ νŠΉκΆŒμ„ κ°€μ§„ ν”„λ‘œμ„ΈμŠ€λ‘œ μ œν•œλ˜μ–΄ 있고, 파일의 κ·Έλ£Ή IDλ₯Ό ν”„λ‘œμ„ΈμŠ€μ˜ μ‹€νš¨ κ·Έλ£Ή IDλ‚˜ μΆ”κ°€ κ·Έλ£Ή IDλ“€ 쀑 ν•˜λ‚˜κ°€ μ•„λ‹Œ κ°’μœΌλ‘œ λ°”κΎΈλŠ” 것이 μ μ ˆν•œ νŠΉκΆŒμ„ κ°€μ§„ ν”„λ‘œμ„ΈμŠ€λ‘œ μ œν•œλ˜μ–΄ 있으면 μ–‘μˆ˜ 값을 λ°˜ν™˜ν•œλ‹€. POSIX.1에 λ”°λ₯΄λ©΄ 이 λ³€μˆ˜λŠ” 항상 -1이 μ•„λ‹Œ κ°’μœΌλ‘œ μ •μ˜λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_CHOWN_RESTRICTED이닀.

fd λ‚΄μ§€ pathκ°€ 디렉터리λ₯Ό κ°€λ¦¬ν‚€λŠ” κ²½μš°μ—λŠ” κ·Έ 디렉터리 λ‚΄μ˜ λͺ¨λ“  νŒŒμΌλ“€μ— 값이 μ μš©λ˜λŠ” 것이닀.

_PC_NO_TRUNC
_POSIX_NAME_MAX보닀 κΈ΄ 파일λͺ…에 μ ‘κ·Όν•˜λ € ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 경우 0 μ•„λ‹Œ 값을 λ°˜ν™˜ν•œλ‹€. λŒ€μ‘ν•˜λŠ” λ§€ν¬λ‘œλŠ” _POSIX_NO_TRUNC이닀.
_PC_VDISABLE
특수 문자 처리λ₯Ό 끌 수 있으면 0 μ•„λ‹Œ 값을 λ°˜ν™˜ν•˜λ©° fd λ‚΄μ§€ pathκ°€ 터미널을 κ°€λ¦¬μΌœμ•Ό ν•œλ‹€.

RETURN VALUE

이 ν•¨μˆ˜λ“€μ˜ λ°˜ν™˜ 값은 λ‹€μŒ 쀑 ν•˜λ‚˜μ΄λ‹€.

  • 였λ₯˜ μ‹œ -1을 λ°˜ν™˜ν•˜λ©° 였λ₯˜ 원인을 λ‚˜νƒ€λ‚΄λ„λ‘ errnoλ₯Ό μ„€μ •ν•œλ‹€. (예λ₯Ό λ“€μ–΄ EINVAL둜 name이 μœ νš¨ν•˜μ§€ μ•ŠμŒμ„ λ‚˜νƒ€λ‚Έλ‹€.)

  • name이 μ΅œλŒ€ λ‚΄μ§€ μ΅œμ†Œ μ œν•œμ— ν•΄λ‹Ήν•˜λ©° κ·Έ μ œν•œκ°’μ΄ λΆˆν™•μ •μ΄λ©΄ -1을 λ°˜ν™˜ν•˜λ©° errnoλŠ” λ°”κΎΈμ§€ μ•ŠλŠ”λ‹€. (λΆˆν™•μ • μ œν•œμ„ 였λ₯˜μ™€ κ΅¬λ³„ν•˜λ €λ©΄ 호좜 전에 errnoλ₯Ό 0으둜 μ„€μ •ν•˜κ³ μ„œ -1이 λ°˜ν™˜λ˜μ—ˆμ„ λ•Œ errnoκ°€ 0인지 ν™•μΈν•˜λ©΄ λœλ‹€.)

  • name이 μ˜΅μ…˜μ— ν•΄λ‹Ήν•˜λ©΄ κ·Έ μ˜΅μ…˜μ„ μ§€μ›ν•˜λŠ” 경우 μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜κ³  κ·Έ μ˜΅μ…˜μ„ μ§€μ›ν•˜μ§€ μ•ŠλŠ” 경우 -1을 λ°˜ν™˜ν•œλ‹€.

  • κ·Έ μ™Έμ˜ κ²½μš°μ— μ˜΅μ…˜ λ‚΄μ§€ μ œν•œμ˜ ν˜„μž¬ 값을 λ°˜ν™˜ν•œλ‹€. 이 값은 μ‘μš©μ„ 컴파일 ν•  λ•Œ <unistd.h>λ‚˜ <limits.h>μ—μ„œ μ‘μš©μ—κ²Œ κΈ°μˆ ν•œ λŒ€μ‘ 값보닀 더 μ œμ•½μ μ΄μ§€ μ•Šμ„ 것이닀.

ERRORS

EACCES
(pathconf()) path의 경둜 선두뢀 λ‚΄μ˜ ν•œ 디렉터리에 λŒ€ν•΄ 탐색 κΆŒν•œμ΄ κ±°λΆ€λ˜μ—ˆλ‹€.
EBADF
(fpathconf()) fdκ°€ μœ νš¨ν•œ 파일 λ””μŠ€ν¬λ¦½ν„°κ°€ μ•„λ‹ˆλ‹€.
EINVAL
name이 μœ νš¨ν•˜μ§€ μ•Šλ‹€.
EINVAL
κ΅¬ν˜„μ—μ„œ nameκ³Ό μ§€μ • 파일의 연계λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.
ELOOP
(pathconf()) pathλ₯Ό ν•΄μ„ν•˜λŠ” λ™μ•ˆ λ„ˆλ¬΄ λ§Žμ€ 심볼릭 링크λ₯Ό λ§Œλ‚¬λ‹€.
ENAMETOOLONG
(pathconf()) pathκ°€ λ„ˆλ¬΄ κΈΈλ‹€.
ENOENT
(pathconf()) path의 μ–΄λŠ μš”μ†Œκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ pathκ°€ 빈 λ¬Έμžμ—΄μ΄λ‹€.
ENOTDIR
(pathconf()) path에 λ””λ ‰ν„°λ¦¬λ‘œ 쓰인 μ–΄λŠ μš”μ†Œκ°€ μ‹€μ œλ‘œλŠ” 디렉터리가 μ•„λ‹ˆλ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
fpathconf(), pathconf() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008.

NOTES

_PC_NAME_MAX와 같은 name에 λŒ€ν•΄ λ°˜ν™˜λœ 값보닀 κΈ΄ μ΄λ¦„μ˜ 파일이 ν•΄λ‹Ή 디렉터리에 μ‘΄μž¬ν•  μˆ˜λ„ μžˆλ‹€.

λ°˜ν™˜λ˜λŠ” 일뢀 값듀이 μ•„μ£Ό 클 μˆ˜λ„ μžˆλ‹€. 즉, λ©”λͺ¨λ¦¬ 할당에 쓰기에 μ ν•©ν•˜μ§€ μ•Šλ‹€.

SEE ALSO

getconf(1), open(2), statfs(2), confstr(3), sysconf(3)


2017-07-13

⚠️ **GitHub.com Fallback** ⚠️