struct flock {
...
short l_type; /* Type of lock: F_RDLCK,
F_WRLCK, F_UNLCK */
short l_whence; /* How to interpret l_start:
SEEK_SET, SEEK_CUR, SEEK_END */
off_t l_start; /* Starting offset for lock */
off_t l_len; /* Number of bytes to lock */
pid_t l_pid; /* PID of process blocking our lock
(F_GETLK only) */
...
};
####
fcntl(FILEHANDLE, F_SETLKW, pack("sslli", F_WRLCK, SEEK_SET, 0, 0, 0));
####
fcntl(FILEHANDLE, F_SETLKW, pack("s!s!l!l!i!", F_WRLCK, SEEK_SET, 0, 0, 0));