NAME

cxOutputDataSet - attach a data object to an output port
#include <cx/PortAccess.h>

void cxOutputDataSet(int port, void *data)
subroutine cxOutputDataSet(port, data)
integer port, data
port
The descriptor of the output port to affect.
data
A pointer to the data object (such as a cxLattice *) to attach to the output port.
cxOutputDataSet creates an association between an output port and a data object. When the user function returns, the control wrapper transmits the data object to downstream modules.

This operation is the last step in a normal module that does not use the data wrapper. The user function should not retain a reference to the objects it attaches to output port in static storage because once the data has been transmitted to the next downstream module, there is no guarantee that the storage it occupies will remain intact; it may be released for other use. If the user function needs to retain a copy until subsequent firings, it must increment the reference count of that object by calling cxDataRefInc.

Note that this is not a valid operation for "Firing Done" or "Loop Ended" ports. Data is set on the "Firing Done" port automatically when the module's computational function returns to the control wrapper or when cxOutputDataFlushAll or cxOutputDataFlush is called, unless cxOutputNoSync is called. Data is set similarly on the "Loop Ended" port of a loop controller module, when the loop is detected as being complete.

cxDataRefInc(3E), cxOutputDataFlushAll(3E), cxOutputDataFlush(3E),
Last modified: Mon Nov 6 16:33:31 GMT 2000
[ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1996