파일을 읽기 전용으로 연다. (Read Only)
파일을 쓰기 전용으로 연다. (Write Only)
파일을 쓰기와 읽기용으로 연다. (Read & Write)
파일을 실행 전용으로 연다. (Execute Only)
디렉토리 파일을 탐색 전용으로 연다. (Search Only)
파일의 끝부분 (EOF)에 write하도록 설정한다.
FD_CLOEXEC 플래그를 설정한 채 파일을 연다. (exec류의 함수를 수행하고 나면 fd가 닫긴다.)
파일이 없으면 생성한다. 이 플래그를 명시하면, open 함수에 Permission 정보를 추가로 더 받아야 한다. 파일이 존재하면 연다.
path에 해당하는 파일이 디렉토리가 아니면 에러를 발생한다.
O_CREAT 플래그와 같이 사용한다 파일이 이미 존재하면 에러를 발생한다.
path에 해당하는 파일이 터미널 장치인 경우, 해당 장치를 현재 프로세스의 컨트롤링 터미널로 할당하지 않는다.
path에 해당하는 파일이 심볼릭 링크면 에러를 발생한다.
FIFO, Block Device, Charactoer Device에 대해 논 블록킹 방식으로 read 함수와 write 함수를 수행하도록 기본 설정을 세팅한다.
path에 해당하는 파일에 write 함수를 사용할 경우 실제 물리적인 I/O가 끝날 때까지 기다리도록 설정한다
파일이 이미 존재하고 write-only, read-write모드로 열 수 있는 경우, 파일 사이즈를 0으로 초기화시킨다
write 함수 수행시 파일의 데이터 부분에 실제 물리적인 I/O가 끝나기를 기다린다. 파일의 설정이나 Attribute부분에 대한 업데이트는 기다리지 않는다.
read 함수 수행시 커널에 해당 파일의 offset에 대한 write 함수의 pending이 있으면 그 write 함수의 수행이 끝나기를 기다린다.