Страница 118 из 324
□ F_GETLK;
□ F_SETLK;
□ F_SETLKW.
Когда вы используете эти варианты, третий аргумент в вызове должен быть указателем на структуру struct flock, поэтому на самом деле прототип вызова выглядит следующим образом:
<b>int fcntl(int fildes, int command, struct flock *flock_structure);</b>
Структура flock (он англ. file lock) зависит от конкретной реализации, но, как минимум, она будет содержать следующие элементы:
□ short l_type;
□ short l_whence;
□ off_t l_start;
□ off_t l_len;
□ pid_t l_pid.
Элемент l_type принимает одно из нескольких значений (табл. 7.1), определенных в файле fcntl.h.
Таблица 7.1.