SYNOPSIS
#include <xdfio.h>
off_t xdf_seek(struct xdf* xdf, off_t offset, int whence);
DESCRIPTION
xdf_seek() repositions the current sample pointer according to the couple (offset,whence) where whence can be:
- SEEK_SET
- The offset is set to offset bytes.
- SEEK_CUR
- The offset is set to its current location plus offset bytes.
- SEEK_END
- The offset is set to the size of the file plus offset bytes.
The file referenced by xdf should have been opened with mode XDF_READ and xdf_prepare_arrays(3) should have been successfully called on it.
RETURN VALUE
Upon successful completion, xdf_seek() returns the resulting offset location as measured in number of samples from the beginning of the recording. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
- EINVAL
- xdf is NULL or whence is none of the allowed values.
- EPERM
- No successfull call to xdf_prepare_transfer(3) have been done on xdf or it has been opened using the mode XDF_WRITE.
- ERANGE
- The requested offset is out of the range of the recording.
- EINTR
- The call was interrupted by a signal before any data was read; see signal(7).
- EIO
- A low-level I/O error occurred while reading from the inode.
- ESTALE
- Stale file handle. This error can occur for NFS and for other file systems