SYNOPSIS
#include <xdfio.h>
int xdf_prepare_transfer(struct xdf* xdf);
DESCRIPTION
xdf_prepare_transfer() set up the internal structures of the xDF file referenced by xdf to be ready to receive or send data. After a successful call to it, you can call xdf_write(3) or xdf_read(3) depending of the mode of the xDF file.
Since this function prepares the transfer, no call to any function which configures it will be allowed anymore after xdf_define_arrays(3) succeed. In particular, xdf_set_conf(3), xdf_setchconf(3) and xdf_define_arrays(3) will fail afterwards.
In case of failure due to I/O (file to big, connection to file system lost...), the best procedure is to close the file since the underlying file will be in a undertermined stated.
RETURN VALUE
xdf_define_arrays() returns 0 in case of success. Otherwise -1 is returned and errno is set appropriately.
ERRORS
- EINVAL
- xdf is NULL.
- ENOMEM
- The system is unable to allocate memory resources.
- EFBIG
- An attempt was made to write a file that exceeds the implementation-defined maximum file size or the process's file size limit, or to write at a position past the maximum allowed offset.
- EINTR
- The call was interrupted by a signal before any data was written; see signal(7).
- EIO
- A low-level I/O error occurred while modifying the inode.
- ENOSPC
- The device containing the xDF file has no room for the data.
- ESTALE
- Stale file handle. This error can occur for NFS and for other file systems