add fcntl