void cxOutputDataSet(int port, void *data)
subroutine cxOutputDataSet(port, data) integer port, data
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.