Setup the internals of the xdf file to be ready to receive or send data.
#include <xdfio.h>
int xdf_prepare_transfer(struct xdf* xdf);
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.
xdf_define_arrays() returns 0 in case of success. Otherwise -1 is returned and errno is set appropriately.
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