Man Linux: Main Page and Category List

NAME

       rfio_lockf - provide record locking on files

SYNOPSIS

       #include <sys/types.h>
       #include "rfio_api.h"

       int rfio_lockf (int sd, int op, long siz);

       Under Linux, for large files:
       #define _LARGEFILE64_SOURCE
       #include <sys/types.h>
       #include "rfio_api.h"

       int rfio_lockf64 (int sd, int op, off64_t siz);

       For large files, under other systems:
       #include <sys/types.h>
       #include "rfio_api.h"

       int rfio_lockf64 (int sd, int op, off64_t siz);

DESCRIPTION

       rfio_lockf restricts access to regions of files to the calling process.

       sd is the file descriptor returned by a previous rfio_open.

       op specifies the action to be taken:

              F_ULOCK      unlock a region.

              F_LOCK       lock a region.

              F_TLOCK      test and lock a region.

              F_TEST       test a region for other locks.

       siz gives the size of the region to be locked, starting at the  current
       file offset.

       rfio_lockf64  must  be used for large files and uses an off64_t instead
       of a long to specify the size of the region to be locked.

RETURN VALUE

       This routine returns 0 if the operation was successful  or  -1  if  the
       operation failed. In the latter case, serrno is set appropriately.

ERRORS

       EBADF        sd is not a valid descriptor.

       EACCES       The  file  region  is  locked  and  F_TEST  or F_TLOCK was
                    specified.

       EINVAL       incorrect value for op or siz.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SETIMEDOUT   Timed out.

       SECONNDROP   Connection closed by remote end.

       SECOMERR     Communication error.

SEE ALSO

       rfio_open(3)

AUTHOR

       LCG Grid Deployment Team