HELP: State string for FLUC byte, stream and record interfaces TYPE: OBJECT SYNTAX: > flcbyt STATE(ORGF='str'/STREAM/DUMMY,FILE='str'/STREAM/DUMMY,MEMBER/MEM='str',MBRCMT/COMMENT='str',ARCCMT='str',CHRSET/CHARSET=NONE/SYSTEM/ASCII/UCS1/UTF8/EBCDIC/UCS2BE/UTF16BE/UCS2LE/UTF16LE/UCS4BE/UTF32BE/UCS4LE/UTF32LE/LOCAL,CCSID='str',SPACE=num,BLKSIZE=num,RECFORMAT/RECFMT/RECF=NONE/BIN/TXT/TXT-ASA/TXT-MCC/DLM/DLM-ASA/DLM-MCC/VAR/VAR-ASA/VAR-MCC/FIX/FIX-ASA/FIX-MCC/VAR-REL/VAR-REL-ASA/VAR-REL-MCC/FIX-REL/FIX-REL-ASA/FIX-REL-MCC/F/FA/FM/FS/FSA/FSM/FB/FBA/FBM/FBS/FBSA/FBSM/FE/FEA/FEM/FK/FKA/FKM/FR/FRA/FRM/U/UA/UM/V/VA/VM/VS/VSA/VSM/VB/VBA/VBM/VBS/VBSA/VBSM/VE/VEA/VEM/VK/VKA/VKM/VR/VRA/VRM/ORG,RECLENGTH=num,KEYPOSITION=num,KEYLENGTH=num,DATFORMAT/DATFMT/DATF=NONE/BLOCK/RECORD/ELEMENT,DATTYPE=NONE/BINARY/RECORD/RECTXT/CHAR/TEXT/XML/TABLE,MATRIX=NONE/DATBLK/STDREC/STDASAREC/STDMCCREC/RELREC/RELTXTREC/RELASAREC/RELMCCREC/TXTREC/TXTDLM/TXTRST/XMLELM/TABELM/FL5MBR/FL5DIR/FL5FMT/FL5LIT,REDUNDANT,NOTREDUNDANT/NOTRDU,ATTRIBUTES(),FILORG=SEQ/SRM/IDX/REL/DAC/NOR/LIB/PHY/DIR/MEM/TMP/MBR/CON/PDS/HFS/LIM/EDS/KDS/RDS/LDS,RECTYPE=BLK/STD/STDASA/STDMCC/REL/RELTXT/RELASA/RELMCC/TXTDLM/TXT,RECMETHOD/RECMTD/RECM=WRP/TXT/DLM/LEN/L4I/L4X/B4I/B4X/S4I/S4X/HLI/HLX/HBI/HBX/HSI/HSX/L2I/L2X/B2I/B2X/S2I/S2X/S1I/S1X/D1I/D2I/D3I/D4I/D5I/D6I/D7I/D8I/D9I/D0I/D1X/D2X/D3X/D4X/D5X/D6X/D7X/D8X/D9X/D0X,BLKMETHOD/BLKMTD/BLKM=JOI/L4I/L4X/B4I/B4X/S4I/S4X/HLI/HLX/HBI/HBX/HSI/HSX/L2I/L2X/B2I/B2X/S2I/S2X/S1I/S1X/DLM,TXTMETHOD/TXTMTD/TXTM=HOST/BIN/REC/TXT/NL/USS/LF/UNIX/CR/OLDMAC/CRLF/WINDOWS/DLM/SYSTEM/ORIGINAL,BUFSIZE=num,MODTIME=num/ORIGINAL,CMBFORM/CMBFRM/CMBF=NFD/NFC/AUTO/ON/OFF,CMBCHAR/CMBCHR/CMBC)
The state string contains some metadata representing the internal state of FLUC. When opening a file for reading (fcbopen2("read."/"input()")), this state string is returned. It can be passed to a successive file open call for writing (fcbopen2("write."/"output()") or FCROPN("write."/"output()")) to give FLUC additional hints about the data that is to be written. The state string contains mainly file attributes which must be known to fill header information for archives (GZIP, FLAM) correctly, but also some information about elements when working in element formatting mode.
On C/C++ interfaces, the parameter is a pointer to a pointer to a string. In read mode, if you pass a non-null pointer, the pointer target will be a pointer to a null-terminated string dynamically allocated in heap memory (i.e. you must free() it!) containing the state string after the opening function returns. In write mode, if you pass a non-null pointer to a pointer to a state string, this state string is used to set the internal state. Otherwise, the state is initialized with default values.
On the record interface, the application must provide the memory and a length error is returned if the buffer is too small.
"state(member='test.txt' recf=FBA recl=120)"
The state mainly contains file attributes which describe the source. This information is important for example to store the right values in GZIP or FLAM headers. The status object can be used to pass the source's characteristics to the write operation.
STRING: ORGF='str'/STREAM/DUMMY - Original name of the file (used for defined mappings, if empty then FILE is used)
STREAM - Read from stdin or write to stdout
DUMMY - Read EOF or write nothing
STRING: FILE='str'/STREAM/DUMMY - Current name of the file (with appended extensions, if empty then ORGF is used)
STREAM - Read from stdin or write to stdout
DUMMY - Read EOF or write nothing
STRING: MEMBER/MEM='str' - Name or Index of the member
STRING: MBRCMT/COMMENT='str' - Member comments for headers
STRING: ARCCMT='str' - Archive comment for header
NUMBER: CHRSET/CHARSET=NONE/SYSTEM/ASCII/UCS1/UTF8/EBCDIC/UCS2BE/UTF16BE/UCS2LE/UTF16LE/UCS4BE/UTF32BE/UCS4LE/UTF32LE/LOCAL - Character set
NONE - No character set defined
SYSTEM - SYSTEM (environment specific (on mainframe EBCDIC else ASCII))
ASCII - ASCII (mainly used in the for open system)
UCS1 - UCS-1 (for text formatting identical to ASCII < 64k)
UTF8 - UTF-8 (for text formatting identical to ASCII < 2M)
EBCDIC - EBCDIC (mainly used on IBM mainframe)
UCS2BE - UCS-2 Big Endian (multibyte character set < 64k)
UTF16BE - UTF-16 Big Endian (multibyte character set < 2M)
UCS2LE - UCS-2 Little Endian (multibyte character set < 64k)
UTF16LE - UTF-16 Little Endian (multibyte character set < 2M)
UCS4BE - UCS-4 Big Endian (multibyte character set < 64k)
UTF32BE - UTF-32 Big Endian (multibyte character set < 2M)
UCS4LE - UCS-4 Little Endian (multibyte character set < 64k)
UTF32LE - UTF-32 Little Endian (multibyte character set < 2M)
LOCAL - LOCAL (platform specific (on mainframe EBCDIC else ASCII))
STRING: CCSID='str' - CCSID / Character encoding
NUMBER: SPACE=num - Required space for the target in byte
NUMBER: BLKSIZE=num - Block size
NUMBER: RECFORMAT/RECFMT/RECF=NONE/BIN/TXT/TXT-ASA/TXT-MCC/DLM/DLM-ASA/DLM-MCC/VAR/VAR-ASA/VAR-MCC/FIX/FIX-ASA/FIX-MCC/VAR-REL/VAR-REL-ASA/VAR-REL-MCC/FIX-REL/FIX-REL-ASA/FIX-REL-MCC/F/FA/FM/FS/FSA/FSM/FB/FBA/FBM/FBS/FBSA/FBSM/FE/FEA/FEM/FK/FKA/FKM/FR/FRA/FRM/U/UA/UM/V/VA/VM/VS/VSA/VSM/VB/VBA/VBM/VBS/VBSA/VBSM/VE/VEA/VEM/VK/VKA/VKM/VR/VRA/VRM/ORG - Record format
NONE - No format defined
BIN - Open - Binary (undefined) data (only the last record are shorter then record length)
TXT - Open - Text data with standard delimiter (result is a stripped variable length records)
TXT-ASA - Open - Text data with standard delimiter and ASA byte in front (result variable length records with ASA attribute)
TXT-MCC - Open - Text data with standard delimiter and MCC byte in front (result variable length records with MCC attribute)
DLM - Open - Records separated by a special delimiter with the result of variable length records
DLM-ASA - Open - ASA records separated by a special delimiter with the result of variable length records
DLM-MCC - Open - MCC records separated by a special delimiter with the result of variable length records
VAR - Open - Variable length record (if necessary define length format)
VAR-ASA - Open - Variable length record with ASA print control character (if necessary define length format)
VAR-MCC - Open - Variable length record with machine print control codes (if necessary define length format)
FIX - Open - Fixed-length record (file size = N * record length)
FIX-ASA - Open - Fixed-length record with ASA print control character (file size = N * (record length + 1))
FIX-MCC - Open - Fixed-length record with machine print control codes (file size = N * (record length + 1))
VAR-REL - Open - Variable relative record (if necessary define length format)
VAR-REL-ASA - Open - Variable relative record with ASA print control character (if necessary define length format)
VAR-REL-MCC - Open - Variable relative record with machine print control codes (if necessary define length format)
FIX-REL - Open - Fix relative record (file size = N * (record length + 8))
FIX-REL-ASA - Open - Fix relative record with ASA print control character (file size = N * (record length + 9))
FIX-REL-MCC - Open - Fix relative record with machine print control codes (file size = N * (record length + 9))
F - Host - Fixed-length, unblocked
FA - Host - Fixed-length, unblocked, ASA print control characters
FM - Host - Fixed-length, unblocked, machine print control codes
FS - Host - Fixed-length, standard
FSA - Host - Fixed-length, standard, ASA print control characters
FSM - Host - Fixed-length, standard, machine print control codes
FB - Host - Fixed-length, blocked
FBA - Host - Fixed-length, blocked, ASA print control characters
FBM - Host - Fixed-length, blocked, machine print control codes
FBS - Host - Fixed-length, blocked, standard
FBSA - Host - Fixed-length, blocked, standard, ASA print control characters
FBSM - Host - Fixed-length, blocked, standard, machine print control codes
FE - Host - Fixed-length, ESDS
FEA - Host - Fixed-length, ESDS, ASA print control characters
FEM - Host - Fixed-length, ESDS, machine print control codes
FK - Host - Fixed-length, KSDS
FKA - Host - Fixed-length, KSDS, ASA print control characters
FKM - Host - Fixed-length, KSDS, machine print control codes
FR - Host - Fixed-length, RRDS
FRA - Host - Fixed-length, RRDS, ASA print control characters
FRM - Host - Fixed-length, RRDS, machine print control codes
U - Host - Undefined-length
UA - Host - Undefined-length, ASA print control characters
UM - Host - Undefined-length, machine print control codes
V - Host - Variable
VA - Host - Variable, ASA print control characters
VM - Host - Variable, machine print control codes
VS - Host - Variable, spanned
VSA - Host - Variable, spanned, ASA print control characters
VSM - Host - Variable, spanned, machine print control codes
VB - Host - Variable, blocked
VBA - Host - Variable, blocked, ASA print control characters
VBM - Host - Variable, blocked, machine print control codes
VBS - Host - Variable, blocked, spanned
VBSA - Host - Variable, blocked, spanned, ASA print control characters
VBSM - Host - Variable, blocked, spanned, machine print control codes
VE - Host - Variable, ESDS
VEA - Host - Variable, ESDS, ASA print control characters
VEM - Host - Variable, ESDS, machine print control codes
VK - Host - Variable, KSDS
VKA - Host - Variable, KSDS, ASA print control characters
VKM - Host - Variable, KSDS, machine print control codes
VR - Host - Variable, RRDS
VRA - Host - Variable, RRDS, ASA print control characters
VRM - Host - Variable, RRDS, machine print control codes
ORG - Use original record format as default (like none)
NUMBER: RECLENGTH=num - Record length
NUMBER: KEYPOSITION=num - Key position (>=1)
NUMBER: KEYLENGTH=num - Key length (>=1)
NUMBER: DATFORMAT/DATFMT/DATF=NONE/BLOCK/RECORD/ELEMENT - Data format (not required at write)
NONE - Unknown data format
BLOCK - Block oriented data
RECORD - Record oriented data
ELEMENT - Element oriented data
NUMBER: DATTYPE=NONE/BINARY/RECORD/RECTXT/CHAR/TEXT/XML/TABLE - Data type (not required at write)
NONE - Unknown data type
BINARY - Binary data (not printable)
RECORD - Binary record (not printable)
RECTXT - Text record (printable)
CHAR - Character data (no delimiter)
TEXT - Text data (with delimiter)
XML - XML data (like CHAR)
TABLE - Table (various elements per record)
NUMBER: MATRIX=NONE/DATBLK/STDREC/STDASAREC/STDMCCREC/RELREC/RELTXTREC/RELASAREC/RELMCCREC/TXTREC/TXTDLM/TXTRST/XMLELM/TABELM/FL5MBR/FL5DIR/FL5FMT/FL5LIT - Matrix type of the elements list
NONE - Unknown matrix type
DATBLK - Simple data block (no attributes, binary)
STDREC - Simple standard record (no attributes, binary)
STDASAREC - Standard record with ASA control characters (1 byte) as attributes (text)
STDMCCREC - Standard record with machine control characters (1 byte) as attributes (text)
RELREC - Relative record with 8 byte slot number as attribute in binary representation
RELTXTREC - Relative record with 8 byte slot number as attribute in text representation
RELASAREC - Relative record with slot number (8 byte) and ASA control character (1 byte) as attribute (text)
RELMCCREC - Relative record with slot number (8 byte) and machine control character (1 byte) as attribute (text)
TXTREC - Standard text record (no attributes)
TXTDLM - Record with text delimiter at the end (no attributes)
TXTRST - Text records with data and rest element (no attributes)
XMLELM - XML elements (no attributes)
TABELM - Table elements (no attributes)
FL5MBR - FLAMv5 archive member matrix (no attributes)
FL5DIR - FLAMv5 archive directory matrix (no attributes)
FL5FMT - FLAMv5 archive global format matrix (no attributes)
FL5LIT - FLAMv5 archive global literal matrix (no attributes)
SWITCH: REDUNDANT - Data is known as redundant
SWITCH: NOTREDUNDANT/NOTRDU - Data is known as not redundant
NUMBER: FILORG=SEQ/SRM/IDX/REL/DAC/NOR/LIB/PHY/DIR/MEM/TMP/MBR/CON/PDS/HFS/LIM/EDS/KDS/RDS/LDS - File organization
SEQ - Sequential data set
SRM - Stream (stdin/stdout)
IDX - Index Sequential
REL - Relative files
DAC - Direct access
NOR - No Organization
LIB - Library (PDSE)
PHY - Physical file
DIR - Directory
MEM - Memory file
TMP - Temporary file
MBR - Member of partitioned data set
CON - Concatenated sequential files
PDS - Partitioned Data Set
HFS - Unix file system (ZOS-HFS/ZFS
LIM - Member of a library (ZOS_PDSE)
EDS - Entry data set (VSAM-ESDS)
KDS - Keyed data set (VSAM-KSDS)
RDS - Relative data set (VSAM-RRDS)
LDS - Linear Data Set (VSAM-LDS)
NUMBER: RECTYPE=BLK/STD/STDASA/STDMCC/REL/RELTXT/RELASA/RELMCC/TXTDLM/TXT - Record type
BLK - Block
STD - Standard record
STDASA - Standard text record with ASA print control character
STDMCC - Standard text record with MCC print control character
REL - Relative record
RELTXT - Relative text record
RELASA - Relative text record with ASA print control character
RELMCC - Relative text record with MCC print control character
TXTDLM - Text record with delimiter
TXT - Text record
NUMBER: RECMETHOD/RECMTD/RECM=WRP/TXT/DLM/LEN/L4I/L4X/B4I/B4X/S4I/S4X/HLI/HLX/HBI/HBX/HSI/HSX/L2I/L2X/B2I/B2X/S2I/S2X/S1I/S1X/D1I/D2I/D3I/D4I/D5I/D6I/D7I/D8I/D9I/D0I/D1X/D2X/D3X/D4X/D5X/D6X/D7X/D8X/D9X/D0X - Method for record formatting
WRP - Binary wrap of data blocks in records of defined record length
TXT - System text delimiter
DLM - Provided binary record delimiter
LEN - 4 byte length fields with auto detection of the format
L4I - 4 byte length fields: Little endian integer, length inclusive
L4X - 4 byte length fields: Little endian integer, length exclusive (ZIP)
B4I - 4 byte length fields: Big endian integer, length inclusive
B4X - 4 byte length fields: Big endian integer, length exclusive (USS)
S4I - 4 byte length fields: System endian integer, length inclusive
S4X - 4 byte length fields: System endian integer, length exclusive (VAR)
HLI - 4 byte length fields: Little endian short (LLxx), length inclusive
HLX - 4 byte length fields: Little endian short (LLxx), length exclusive
HBI - 4 byte length fields: Big endian short (LLxx), length inclusive (MVS)
HBX - 4 byte length fields: Big endian short (LLxx), length exclusive
HSI - 4 byte length fields: System endian short (LLxx), length inclusive
HSX - 4 byte length fields: System endian short (LLxx), length exclusive
L2I - 2 byte length fields: Little endian integer, length inclusive
L2X - 2 byte length fields: Little endian integer, length exclusive
B2I - 2 byte length fields: Big endian integer, length inclusive
B2X - 2 byte length fields: Big endian integer, length exclusive
S2I - 2 byte length fields: System endian integer, length inclusive
S2X - 2 byte length fields: System endian integer, length exclusive
S1I - 1 byte length fields: System endian integer, length inclusive
S1X - 1 byte length fields: System endian integer, length exclusive
D1I - Decimal 1 byte length inclusive
D2I - Decimal 1 byte length inclusive
D3I - Decimal 1 byte length inclusive
D4I - Decimal 1 byte length inclusive
D5I - Decimal 1 byte length inclusive
D6I - Decimal 1 byte length inclusive
D7I - Decimal 1 byte length inclusive
D8I - Decimal 1 byte length inclusive
D9I - Decimal 1 byte length inclusive
D0I - Decimal 1 byte length inclusive
D1X - Decimal 1 byte length exclusive
D2X - Decimal 1 byte length exclusive
D3X - Decimal 1 byte length exclusive
D4X - Decimal 1 byte length exclusive
D5X - Decimal 1 byte length exclusive
D6X - Decimal 1 byte length exclusive
D7X - Decimal 1 byte length exclusive
D8X - Decimal 1 byte length exclusive
D9X - Decimal 1 byte length exclusive
D0X - Decimal 1 byte length exclusive
NUMBER: BLKMETHOD/BLKMTD/BLKM=JOI/L4I/L4X/B4I/B4X/S4I/S4X/HLI/HLX/HBI/HBX/HSI/HSX/L2I/L2X/B2I/B2X/S2I/S2X/S1I/S1X/DLM - Method for block formatting
JOI - Join records together
L4I - 4 byte length fields: Little endian integer, length inclusive
L4X - 4 byte length fields: Little endian integer, length exclusive (ZIP)
B4I - 4 byte length fields: Big endian integer, length inclusive
B4X - 4 byte length fields: Big endian integer, length exclusive (USS)
S4I - 4 byte length fields: System endian integer, length inclusive
S4X - 4 byte length fields: System endian integer, length exclusive (VAR)
HLI - 4 byte length fields: Little endian short (LL00), length inclusive
HLX - 4 byte length fields: Little endian short (LL00), length exclusive
HBI - 4 byte length fields: Big endian short (LL00), length inclusive (MVS)
HBX - 4 byte length fields: Big endian short (LL00), length exclusive
HSI - 4 byte length fields: System endian short (LL00), length inclusive
HSX - 4 byte length fields: System endian short (LL00), length exclusive
L2I - 2 byte length fields: Little endian integer, length inclusive
L2X - 2 byte length fields: Little endian integer, length exclusive
B2I - 2 byte length fields: Big endian integer, length inclusive
B2X - 2 byte length fields: Big endian integer, length exclusive
S2I - 2 byte length fields: System endian integer, length inclusive
S2X - 2 byte length fields: System endian integer, length exclusive
S1I - 1 byte length fields: System endian integer, length inclusive
S1X - 1 byte length fields: System endian integer, length exclusive
DLM - Provided binary record delimiter
NUMBER: TXTMETHOD/TXTMTD/TXTM=HOST/BIN/REC/TXT/NL/USS/LF/UNIX/CR/OLDMAC/CRLF/WINDOWS/DLM/SYSTEM/ORIGINAL - Method for text formatting
HOST - No delimiter (HOST)
BIN - No delimiter (HOST)
REC - No delimiter (HOST)
TXT - System specific text delimiter (DEFAULT)
NL - New line (USS)
USS - Delimiter for USS (new line)
LF - Delimiter line feed (UNIX)
UNIX - Delimiter for UNIX (line feed)
CR - Delimiter carriage return (MAC)
OLDMAC - Delimiter for old MACs (carriage return)
CRLF - Delimiter carriage return line feed (WIN)
WINDOWS - Delimiter for WINDOWS (carriage return line feed)
DLM - System specific text delimiter (DEFAULT)
SYSTEM - System specific text delimiter (DEFAULT)
ORIGINAL - Original data at the end of a line
NUMBER: BUFSIZE=num - Buffer size
NUMBER: MODTIME=num/ORIGINAL - Last modification time
ORIGINAL - Copy modification time from the original file
NUMBER: CMBFORM/CMBFRM/CMBF=NFD/NFC/AUTO/ON/OFF - Combined form
NFD - Normalization form D (Canonical Decomposition)
NFC - Normalization form C (Canonical Decomposition,followed by Canonical Composition)
AUTO - Detect combined character and compose this if useful
ON - Run with combined character support (slow)
OFF - Do not use combined character support
SWITCH: CMBCHAR/CMBCHR/CMBC - Is combined character used