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

RELATED TO xdf_prepare_transfer…