xdf_prepare_transfer man page
xdf_prepare_transfer — Setup the internals of the xDF file to be ready to receive or send data.
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.
xdf is NULL.
The system is unable to allocate memory resources.
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.
The call was interrupted by a signal before any data was written; see signal(7).
A low-level I/O error occurred while modifying the inode.
The device containing the xDF file has no room for the data.
Stale file handle. This error can occur for NFS and for other file systems
xdf_define_arrays(3), xdf_set_conf(3), xdf_set_chconf(3), xdf_read(3), xdf_write(3)
xdf_define_arrays(3), xdf_read(3), xdf_seek(3), xdf_write(3).