fcntl.h 파일
용도
파일 제어 옵션을 정의합니다.
설명
/usr/include/fcntl.h 파일은 fcntl 서브루틴의 Command 및 Argument 매개변수와 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 서브루틴에 대한 파일 상태 플래그
다음 파일 상태 플래그는 open 및 fcntl 서브루틴 모두에 액세스할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 비블록 (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 | 파일이 쓰기를 위해 열려 있습니다. |
참고:
- _KERNEL 플래그를 정의하지 않으면 FREAD 및 FWRITE 플래그를 사용할 수 없습니다.
- ldfcn.h 파일은 또한 FREAD 및 FWRITE 옵션에 값을 지정합니다. ldfcn.h 및 fcntl.h 파일을 직접 또는 간접적으로 함께 사용하는 경우, 헤더 파일 중 하나의 FREAD 및 FWRITE 옵션에서 #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