Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xdf_add_channel(3) [debian man page]

XDF_ADD_CHANNEL(3)					     xdffileio library manual						XDF_ADD_CHANNEL(3)

NAME
xdf_add_channel - Appends a channel to a XDF file SYNOPSIS
#include <xdfio.h> struct xdfch* xdf_add_channel(struct xdf* xdf, const char* label); DESCRIPTION
xdf_add_channel() appends a channel to the file referenced by the handle xdf. The new channel is initialized with the label argument (if not NULL) and with the default channel values set in the XDF file, i.e. those set using channel configuration fields in xdf_set_conf(3) (See the related manpage). If the call to xdf_add_channel(3) is successful, the default offset value (the field referenced by XDF_CF_ARROFFSET) is incremented by the size of the current default stored type (field referenced by XDF_CF_STOTYPE). As a consequence, if the channel default values have not changed in-between, the next call to xdf_add_channel() will create a channel whose location is the array will be next to the previous one. This type of initialization allows the user to add channels without having to specifically pack them: this is achieved by default. RETURN VALUE
xdf_add_channel() returns the handle to newly created channel descriptor in case of success. Otherwise NULL is returned and errno is set appropriately. ERRORS
EINVAL xdf is NULL. ENOMEM The system is unable to allocate resources. EPERM the file referenced by xdf has been opened with the mode XDF_READ SEE ALSO
xdf_copy_chconf(3), xdf_set_conf(3), xdf_set_chconf(3) EPFL
2010 XDF_ADD_CHANNEL(3)

Check Out this Related Man Page

XDF_READ(3)						     xdffileio library manual						       XDF_READ(3)

NAME
xdf_read - Read samples from a xDF file SYNOPSIS
#include <xdfio.h> int xdf_read(struct xdf* xdf, unsigned int ns, ...); DESCRIPTION
xdf_read() reads ns samples from the xDF file referenced by xdf. This file should have been opened with mode XDF_READ and xdf_pre- pare_arrays(3) should have been successfully called on it. xdf_read() will fail otherwise). The data to be read will be transferred into arrays specified by pointers provided in the variable list of arguments of the function. The function expects the same number of arrays as specified by previous call to xdf_define_arrays(3). The internal organisation of the data in the arrays should have been specified previously with calls to xdf_set_chconf(3). In addition, it is important to note that none of the arrays should overlap. RETURN VALUE
The function returns the number of the samples successfully read from the xDF file in case of success. The number of samples read can be smaller than the number requested in the end of the file is reached. In case of error, -1 is returned and errno is set appropriately. ERRORS
EINVAL xdf is NULL EPERM No successfull call to xdf_prepare_transfer(3) have been done on xdf or it has been opened using the mode XDF_WRITE. 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 reading from the inode. ESTALE Stale file handle. This error can occur for NFS and for other file systems EXAMPLE
/* Assume xdf references a xDF file opened for reading whose channels source their data in 2 arrays of float whose strides are the length of respectively 4 and 6 float values, i.e. 16 and 24 bytes (in most platforms)*/ #define NS 3 float array1[NS][4], array2[NS][6]; unsigned int strides = {4*sizeof(float), 6*sizeof(float)}; unsigned int i; xdf_define_arrays(xdf, 2, strides); if (xdf_prepare_transfer(xdf)) return 1; for (i=0; i<45; i+=NS) { /* Write the values to the file */ if (xdf_write(xdf, NS, array1, array2)) return 1; /* Use the values contained in array1 and array2*/ ... } xdf_close(xdf); SEE ALSO
xdf_set_chconf(3), xdf_define_arrays(3), xdf_prepare_transfer(3) EPFL
2010 XDF_READ(3)
Man Page