Provided by: libdpm-dev_1.13.0-1_amd64 bug


       rfio_lockf - provide record locking on files


       #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);


       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.


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


       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.




       LCG Grid Deployment Team