Provided by: manpages-pt-dev_20040726-4_all bug

NAME

       lockf - apply, test or remove a POSIX lock on an open file

SYNOPSIS

       #include <sys/file.h>

       int lockf(int fd, int cmd, off_t len);

DESCRIPTION

       Apply,  test  or  remove  a  POSIX  lock  on an open file.  The file is
       specified by fd.  This call is just an interface for  fcntl(2).   Valid
       operations are given below:

              F_LOCK    Set  an  exclusive  lock to the file. Only one process
                        may hold an exclusive lock for a given file at a given
                        time.  If  the  file is already locked it blocks until
                        the previous lock is released.

              F_TLOCK   Same as F_LOCK  but  never  blocks  and  return  error
                        instead if the file is already locked.

              F_ULOCK   Unlock the file.

              F_TEST    Test the lock: return 0 if fd is unlocked or locked by
                        this process; return  -1,  set  errno  to  EACCES,  if
                        another process holds the lock.

RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned, and errno is
       set appropriately.

ERRORS

       EAGAIN The file is  locked  and  the  LOCK_NB  flag  was  selected,  or
              operation  is prohibited because the file has been memory-mapped
              by another process.

       EBADF  fd is not an open file descriptor.

       EDEADLK
              Specified lock operation would cause a deadlock.

       EINVAL An invalid operation was specified in fd.

       ENOLCK Too many segment locks open, lock table is full.

CONFORMING TO

       SYSV

SEE ALSO

       fcntl(2), flock(2).  There are  also  locks.txt  and  mandatory.txt  in
       /usr/src/linux/Documentation.