Generic deserialisation and decompression function.
Uncompresses given input and returns the result in string output.
The string must be allocated and large enough to hold the
uncompressed data. The actual length may be smaller than the output
length and is returned in output_len.
The following compression types are supported:
Z_TYPE_NONE – No compression (output equals input).Z_TYPE_ZLIB – Deflate compression.Z_TYPE_ZSTD – Zstandard compression.The function returns the following error codes:
E_INVALID if compression type is invalid.E_ZLIB if zlib library call failed.E_ZSTD if zstd library call failed.| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed data. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| character(len=*), | intent(inout) | :: | output |
Uncompressed data. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| integer(kind=i8), | intent(out), | optional | :: | output_len |
Actual output length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed beat namelist input and returns
deserialised type in beat.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised beat. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(beat_type), | intent(out) | :: | beat |
Uncompressed and deserialised beat. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed image namelist input and returns
deserialised type in image.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised image. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(image_type), | intent(out) | :: | image |
Uncompressed and deserialised image. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed log namelist input and returns
deserialised type in log.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised log. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(log_type), | intent(out) | :: | log |
Uncompressed and deserialised log. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed node namelist input and returns
deserialised type in node.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised node. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(node_type), | intent(out) | :: | node |
Uncompressed and deserialised node. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed observation namelist input and returns
deserialised z in observ.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised observation. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(observ_type), | intent(out) | :: | observ |
Uncompressed and deserialised observation. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed sensor namelist input and returns
deserialised type in sensor.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised sensor. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(sensor_type), | intent(out) | :: | sensor |
Uncompressed and deserialised sensor. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed target namelist input and returns
deserialised type in target.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised target. |
||
| integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
| type(target_type), | intent(out) | :: | target |
Uncompressed and deserialised target. |
||
| integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
| type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |