rfio_lockf3
Provide record locking on files
Usage
#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);
Overview
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:
|
unlock a region. |
|---|---|
|
lock a region. |
|
test and lock a region. |
|
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. |
Releases
Unchanged in 5 releases since Debian 6.0 (Squeeze).