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)