$Inflate

From m204wiki
Revision as of 13:19, 19 May 2026 by Tom (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Decompress a longstring with inflate

Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Inflate function is the Inflate function.

This function takes a deflated longstring input and decompresses it using the "inflate" algorithm. The inflate algorithm is described as part of the deflate specification in RFC 1951.

The $Inflate function accepts one or two arguments and returns a longstring result. The first argument is the longstring to be decompressed, and it is required.

Syntax

%lstrc = $Inflate(%lstr, [option])

%lstrc is the returned longstring.

Syntax terms

%lstr The longstring to be decompressed; it is required.
option [Introduced in Model 204 version 8.0]

An optional string that controls the decompression method. The only valid option is:

SOFTWARE Forces the use of software decompression, bypassing the DFLTCC hardware instruction even when it is available on the processor (IBM z15 and above). This can be useful for diagnostic purposes or when byte-for-byte reproducibility with pre-8.0 behavior is required.

If the option is omitted, hardware decompression is used automatically when DFLTCC is available, falling back to software decompression on older processors.

Usage notes

  • If the input string is not a valid deflated string, the request is cancelled.
  • If compression is not enabled for the current run, the request is cancelled.
  • The NCMPBUF parameter must be set by User 0 before the $Inflate function can be used. If $Inflate is called with NCMPBUF = 0, the request is cancelled.
  • As with any compression scheme, it is possible that a particular string will become longer after compression. This would happen, for example, if a deflated string were passed to $Deflate .

Examples

In the following example, %LSTR is set to the uncompressed version of the given string:

%LSTRC = $Deflate('How much wood could a woodchuck chuck', 'FIXED') %LSTR = $Inflate(%LSTRC)

The following example forces software decompression:

%LSTR = $Inflate(%LSTRC, 'SOFTWARE')

Products authorizing $Inflate

Products authorizing $Inflate