The DCX$EXPAND_DATA routine expands (or restores) a compressed data record to its original state. Format DCX$EXPAND_DATA context ,in_rec ,out_rec [,out_length]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Longword condition value. Most utility routines return a condition value in R0. Condition values that this routine can return are listed under Condition Values Returned.
2 – Arguments
context OpenVMS usage:context type: longword (unsigned) access: read only mechanism: by reference Value identifying the data stream that DCX$EXPAND_DATA expands. The context argument is the address of a longword containing this value. DCX$EXPAND_INIT initializes this value; you should not modify it. You can define multiple context arguments to identify multiple data streams that are processed simultaneously. in_rec OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor Data record to be expanded. The in_rec argument is the address of the descriptor of the data record string. out_rec OpenVMS usage:char_string type: character string access: write only mechanism: by descriptor Data record that has been expanded. The out_rec argument is the address of the descriptor of the expanded record returned by DCX$EXPAND_DATA. out_length OpenVMS usage:word_signed type: word integer (signed) access: write only mechanism: by reference Length (in bytes) of the expanded data record. The out_length argument is the address of a word into which DCX$EXPAND_DATA returns the length of the expanded data record.
3 – Description
The DCX$EXPAND_DATA routine expands (or restores) a compressed data record to its original state. Call this routine for each data record to be expanded.
4 – Condition Values Returned
DCX$_INVCTX Error. The context variable is invalid, or the context area is invalid or corrupted. This may be caused by a failure to call the appropriate routine to initialize the context variable or by an application program error. DCX$_INVDATA Error. A compressed data record is invalid (probably truncated) and therefore cannot be expanded. DCX$_INVMAP Error; invalid map. The map argument was not specified correctly, or the context area is invalid. DCX$_NORMAL Normal successful completion. DCX$_TRUNC Warning. The expanded data record has been truncated because the out_rec descriptor did not specify enough memory to accommodate the record. This routine also returns any condition values returned by LIB$ANALYZE_SDESC_R2 and LIB$SCOPY_R_DX.