Was this helpful?
xform Routine--Transform Long Types into Segments
This xform routine transforms a long data type into its component segments. Place the address of this routine in the dtd_xform_addr field of the IIADD_DT_DFM structure.
The shd_exp_action contains the instructions for this routine. ADW_START is the first call. Thereafter, it is examined at the return of this routine to determine the caller's next action. Set ADV_GET_DATA to have the caller provide the next section of data. If the caller receives ADW_GET_DATA and there is no more data, then it flushes any current data and does not return to this routine. ADW_FLUSH_SEGMENT indicates that the caller disposes of the output segment, and supplies a new, empty one on the next call. ADW_CONTINUE indicates that the routine is to be called again. ADW_STOP indicates that there is a problem and the process has failed; the routine is not called again.
Inputs
The inputs for this function are:
scb
Pointer to a SCB.
workspace
Pointer to the workspace for peripheral operations (II_LO_WKSP). This workspace contains fields for the: data type being transformed; the action for this call; the pointer to, length of, and amount used of the input area; and the pointer to, length of, and amount used of the output area.
Outputs
The outputs for this function are:
workspace
shd_exp_action
Modified to give caller action
shd_i_used, shd_o_used
Modified as used by the routine
Returns
II_STATUS
 
Last modified date: 01/30/2023