Positions/repositions a file
#include <sys/types.h>
#include "rfio_api.h"
off_t rfio_lseek (int s, off_t offset, int how);
Under Linux, for large files:
#define _LARGEFILE64_SOURCE
#include <sys/types.h>
#include "rfio_api.h"
off64_t rfio_lseek64 (int s, off64_t offset, int how);
For large files, under other systems:
#include <sys/types.h>
#include "rfio_api.h"
off64_t rfio_lseek64 (int s, off64_t offset, int how);
rfio_lseek positions/repositions to offset the file associated with the descriptor s generated by a previous rfio_open. how indicates how to interpret the offset value:
SEEK_SET
The offset is set from beginning of file.
SEEK_CUR
The offset is added to current position.
SEEK_END
The offset is added to current file size.
rfio_lseek64 performs the same function on large files using off64_t rather than off_t.
This routine returns -1 if the operation failed or the actual offset from the beginning of file. In case of failure, serrno is set appropriately.
EBADF
s is not a valid descriptor.
EINVAL
incorrect value for how.
SENOSHOST
Host unknown.
SENOSSERV
Service unknown.
SETIMEDOUT
Timed out.
SEBADVERSION
Version ID mismatch.
SEINTERNAL
Internal error.
SECONNDROP
Connection closed by remote end.
SECOMERR
Communication error.
LCG Grid Deployment Team