100 likes | 388 Views
리눅스시스템프로그래밍. 2-7. 2007242041 김한수. Fcntl () !?. fcntl () 이란 ?. 파일의 특성제어를 위해 제공하는 함수. fcntl () 의 형태. #include < unistd.h > #include < fcntl.h > int fcntl ( int fd , int cmd ); int fcntl ( int fd , int cmd , long arg ); int fcntl ( int fd , int cmd , struct flock *lock);.
E N D
리눅스시스템프로그래밍 2-7 2007242041 김한수
fcntl()이란? • 파일의 특성제어를 위해 제공하는 함수
fcntl()의 형태 #include <unistd.h> #include <fcntl.h> intfcntl(intfd, intcmd); intfcntl(intfd, intcmd, long arg); intfcntl(intfd, intcmd, struct flock *lock); - 첫번째 인자fd는 open(),socket()등의 시스템 호출을 통해 만들어진 파일 지정자 ex) fd = open(“exec_copy.txt”, F_SETFL); - 두번째 인자cmd는fd에 대한 특성을 제어하기 위한 명령 값 - 세번째 인자는fd에 대한 특성을 제어할 수치,혹은 fd의open시 flag 값 flag = ex) ‘O_RDWR’,’O_RDONLY’
DUMMY(0):FD의 현재 flag를반환 fd의 flag를 O_APPEND로 변환 O_APPEND : 존재하던 데이터를 보존하고 뒤에 이어서 저장 단순하게 고용인의 이름과 급료를 ex2-3.h employee타입의 record에 저장.