fcntl.h 파일

용도

파일 제어 옵션을 정의합니다.

설명

/usr/include/fcntl.h 파일은 fcntl 서브루틴의 CommandArgument 매개변수와 open 서브루틴의 Oflag 매개변수에 지정할 수 있는 값을 정의합니다. 열린 파일의 파일 상태 플래그는 다음 정보에 설명되어 있습니다.

열린 서브루틴에 대한 플래그 값

다음 플래그 값은 open 서브루틴에만 액세스할 수 있습니다.

항목 설명
O_RDONLY 읽기 전용
오_오직 쓰기 전용
O_RDWR 읽기 및 쓰기
O_CREAT 파일 작성으로 열기 (세 번째 open 인수 사용)
O_TRUNC 자르기를 사용하여 열기
직접 (O_DIRECT) 직접 입출력을 위해 열기
O_EXCL 독점 열기
주: O_EXCL 플래그는 네트워크 파일 시스템 (NFS) 에 대해 완전히 지원되지 않습니다. NFS 프로토콜은 O_EXCL 플래그의 설계된 기능을 보장하지 않습니다.
NOCTTY (O_NOCTTY) 제어 터미널을 지정하지 않음
공유 읽기 공유 열기
오_NSHARE 읽기 공유 열기

파일 액세스 모드 마스크

O_ACCMODE 마스크는 파일 액세스 모드를 판별하는 데 사용됩니다.

open및 fcntl 서브루틴에 대한 파일 상태 플래그

다음 파일 상태 플래그는 openfcntl 서브루틴 모두에 액세스할 수 있습니다.

항목 설명
비블록 (O_NONBLOCK) POSIX 비블록화 I/O
프비블록 (FNONBLOCK) POSIX 비블록화 I/O
O_APPEND 끝에 쓰기가 보장된 추가
추가 끝에 쓰기가 보장된 추가
O_SYNC 동기 쓰기 옵션
fsync 동기 쓰기 옵션
O_DSYNC 동기 쓰기 옵션 (파일 데이터 전용).
데이터 동기화 동기 쓰기 옵션 (파일 데이터 전용).
O_RSYNC 읽기 시 동기 파일 속성.
FREADSYNC (FREADSYNC) 읽기 시 동기 파일 속성.
FASYNC 비동기 입출력
O_NDELAY 비차단 I/O
Fn지연 비차단 I/O
O_LARGEFILE 대형 파일에 대한 액세스가 가능합니다.

열린 서브루틴에 대한 파일 상태 플래그

다음 파일 상태 플래그는 open 서브루틴에 액세스할 수 있습니다.

항목 설명
O_DEFER 지연된 갱신
O_DELAY 지연된 상태로 열기
직접 (O_DIRECT) 직접 입출력을 위해 열기

fcntl 서브루틴에 대한 파일 설명자 플래그

다음 파일 설명자 플래그는 fcntl 서브루틴에 액세스할 수 있습니다.

항목 설명
FD_CLOEXEC exec중에 이 파일을 닫으십시오.

파일 액세스 모드에 해당하는 파일 플래그 값은 다음과 같습니다.

항목 설명
fread 파일을 읽기 위해 열었습니다.
fwrite 파일이 쓰기를 위해 열려 있습니다.
참고:
  1. _KERNEL 플래그를 정의하지 않으면 FREADFWRITE 플래그를 사용할 수 없습니다.
  2. ldfcn.h 파일은 또한 FREADFWRITE 옵션에 값을 지정합니다. ldfcn.hfcntl.h 파일을 직접 또는 간접적으로 함께 사용하는 경우, 헤더 파일 중 하나의 FREADFWRITE 옵션에서 #undef 문을 사용해야 합니다. 그렇지 않으면 컴파일러가 중복 정의 사용에 대한 경고를 리턴합니다.

fcntl 서브루틴의 명령 값

fcntl 서브루틴 (즉, fcntl 서브루틴 요청) 의 Command 값은 다음과 같습니다.

항목 설명
F_DUPFD 파일 설명을 복제하십시오.
F_GETFD 파일 설명 플래그를 가져옵니다.
F_SETFD 파일 설명 플래그를 설정하십시오.
F_GETFL 파일 상태 플래그 및 파일 액세스 모드를 가져옵니다.
F_SETFL 파일 플래그를 설정하십시오.
F_GETLK 기존 파일 잠금에 대한 정보를 리턴합니다.
F_GETLK64 기존 파일 잠금에 대한 정보를 리턴합니다.
F_SETLK 파일 잠금을 설정하거나 지웁니다.
F_SETLK64 파일 잠금을 설정하거나 지웁니다.
F_SETLKW 파일 잠금을 설정하거나 지우고 차단된 경우 대기하십시오.
F_SETLKW64 파일 잠금을 설정하거나 지우고 차단된 경우 대기하십시오.
F_GETOWN 디스크립터 소유자를 가져오십시오.
F_SETOWN 디스크립터 소유자를 설정하십시오.

소켓 제한

다음 Command 값은 소켓에 대해 EINVAL 을 리턴합니다.
  • F_SETLK
  • F_SETLKW
  • F_SETLK64
  • F_SETLKW64
  • F_GETLK
  • F_GETLK64