HELP: State string for FLUC byte, stream and record interfaces TYPE: OBJECT SYNTAX: > flcbyt STATE(ORGF='str'/STREAM/DUMMY,FILE='str'/STREAM/DUMMY,MEMBER/MBR/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/BLKSIZ/BLKS=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/RECLEN/RECL=num,KEYPOSITION/KEYPOS/KEYP=num,KEYLENGTH/KEYLEN/KEYL=num,DATFORMAT/DATFMT/DATF=NONE/BLOCK/RECORD/ELEMENT,DATTYPE/DATTYP/DATT=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/REDU,NOTREDUNDANT/NOTRDU,ATTRIBUTES/ATTRIB/ATR(),FILORG=SEQ/SRM/IDX/REL/DAC/NOR/LIB/PHY/DIR/MEM/TMP/MBR/CON/PDS/HFS/LIM/EDS/KDS/RDS/LDS,RECTYPE/RECTYP/RECT=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/BUFSIZ=num,MODTIME/MODTIM=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 stdoutDUMMY - Read EOF or write nothingSTRING: 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 stdoutDUMMY - Read EOF or write nothingSTRING: MEMBER/MBR/MEM='str' - Name or Index of the memberSTRING: MBRCMT/COMMENT='str' - Member comments for headersSTRING: ARCCMT='str' - Archive comment for headerNUMBER: CHRSET/CHARSET=NONE/SYSTEM/ASCII/UCS1/UTF8/EBCDIC/UCS2BE/UTF16BE/UCS2LE/UTF16LE/UCS4BE/UTF32BE/UCS4LE/UTF32LE/LOCAL - Character set
NONE - No character set definedSYSTEM - 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 encodingNUMBER: SPACE=num - Required space for the target in byteNUMBER: BLKSIZE/BLKSIZ/BLKS=num - Block sizeNUMBER: 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 definedBIN - 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 recordsDLM-ASA - Open - ASA records separated by a special delimiter with the result of variable length recordsDLM-MCC - Open - MCC records separated by a special delimiter with the result of variable length recordsVAR - 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, unblockedFA - Host - Fixed-length, unblocked, ASA print control charactersFM - Host - Fixed-length, unblocked, machine print control codesFS - Host - Fixed-length, standardFSA - Host - Fixed-length, standard, ASA print control charactersFSM - Host - Fixed-length, standard, machine print control codesFB - Host - Fixed-length, blockedFBA - Host - Fixed-length, blocked, ASA print control charactersFBM - Host - Fixed-length, blocked, machine print control codesFBS - Host - Fixed-length, blocked, standardFBSA - Host - Fixed-length, blocked, standard, ASA print control charactersFBSM - Host - Fixed-length, blocked, standard, machine print control codesFE - Host - Fixed-length, ESDSFEA - Host - Fixed-length, ESDS, ASA print control charactersFEM - Host - Fixed-length, ESDS, machine print control codesFK - Host - Fixed-length, KSDSFKA - Host - Fixed-length, KSDS, ASA print control charactersFKM - Host - Fixed-length, KSDS, machine print control codesFR - Host - Fixed-length, RRDSFRA - Host - Fixed-length, RRDS, ASA print control charactersFRM - Host - Fixed-length, RRDS, machine print control codesU - Host - Undefined-lengthUA - Host - Undefined-length, ASA print control charactersUM - Host - Undefined-length, machine print control codesV - Host - VariableVA - Host - Variable, ASA print control charactersVM - Host - Variable, machine print control codesVS - Host - Variable, spannedVSA - Host - Variable, spanned, ASA print control charactersVSM - Host - Variable, spanned, machine print control codesVB - Host - Variable, blockedVBA - Host - Variable, blocked, ASA print control charactersVBM - Host - Variable, blocked, machine print control codesVBS - Host - Variable, blocked, spannedVBSA - Host - Variable, blocked, spanned, ASA print control charactersVBSM - Host - Variable, blocked, spanned, machine print control codesVE - Host - Variable, ESDSVEA - Host - Variable, ESDS, ASA print control charactersVEM - Host - Variable, ESDS, machine print control codesVK - Host - Variable, KSDSVKA - Host - Variable, KSDS, ASA print control charactersVKM - Host - Variable, KSDS, machine print control codesVR - Host - Variable, RRDSVRA - Host - Variable, RRDS, ASA print control charactersVRM - Host - Variable, RRDS, machine print control codesORG - Use original record format as default (like none)NUMBER: RECLENGTH/RECLEN/RECL=num - Record lengthNUMBER: KEYPOSITION/KEYPOS/KEYP=num - Key position (>=1)NUMBER: KEYLENGTH/KEYLEN/KEYL=num - Key length (>=1)NUMBER: DATFORMAT/DATFMT/DATF=NONE/BLOCK/RECORD/ELEMENT - Data format (not required at write)
NONE - Unknown data formatBLOCK - Block oriented dataRECORD - Record oriented dataELEMENT - Element oriented dataNUMBER: DATTYPE/DATTYP/DATT=NONE/BINARY/RECORD/RECTXT/CHAR/TEXT/XML/TABLE - Data type (not required at write)
NONE - Unknown data typeBINARY - 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 typeDATBLK - 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 representationRELTXTREC - Relative record with 8 byte slot number as attribute in text representationRELASAREC - 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/REDU - Data is known as redundantSWITCH: NOTREDUNDANT/NOTRDU - Data is known as not redundantNUMBER: 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 setSRM - Stream (stdin/stdout)IDX - Index SequentialREL - Relative filesDAC - Direct accessNOR - No OrganizationLIB - Library (PDSE)PHY - Physical fileDIR - DirectoryMEM - Memory fileTMP - Temporary fileMBR - Member of partitioned data setCON - Concatenated sequential filesPDS - Partitioned Data SetHFS - Unix file system (ZOS-HFS/ZFSLIM - 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/RECTYP/RECT=BLK/STD/STDASA/STDMCC/REL/RELTXT/RELASA/RELMCC/TXTDLM/TXT - Record type
BLK - BlockSTD - Standard recordSTDASA - Standard text record with ASA print control characterSTDMCC - Standard text record with MCC print control characterREL - Relative recordRELTXT - Relative text recordRELASA - Relative text record with ASA print control characterRELMCC - Relative text record with MCC print control characterTXTDLM - Text record with delimiterTXT - Text recordNUMBER: 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 lengthTXT - System text delimiterDLM - Provided binary record delimiterLEN - 4 byte length fields with auto detection of the formatL4I - 4 byte length fields: Little endian integer, length inclusiveL4X - 4 byte length fields: Little endian integer, length exclusive (ZIP)B4I - 4 byte length fields: Big endian integer, length inclusiveB4X - 4 byte length fields: Big endian integer, length exclusive (USS)S4I - 4 byte length fields: System endian integer, length inclusiveS4X - 4 byte length fields: System endian integer, length exclusive (VAR)HLI - 4 byte length fields: Little endian short (LLxx), length inclusiveHLX - 4 byte length fields: Little endian short (LLxx), length exclusiveHBI - 4 byte length fields: Big endian short (LLxx), length inclusive (MVS)HBX - 4 byte length fields: Big endian short (LLxx), length exclusiveHSI - 4 byte length fields: System endian short (LLxx), length inclusiveHSX - 4 byte length fields: System endian short (LLxx), length exclusiveL2I - 2 byte length fields: Little endian integer, length inclusiveL2X - 2 byte length fields: Little endian integer, length exclusiveB2I - 2 byte length fields: Big endian integer, length inclusiveB2X - 2 byte length fields: Big endian integer, length exclusiveS2I - 2 byte length fields: System endian integer, length inclusiveS2X - 2 byte length fields: System endian integer, length exclusiveS1I - 1 byte length fields: System endian integer, length inclusiveS1X - 1 byte length fields: System endian integer, length exclusiveD1I - Decimal 1 byte length inclusiveD2I - Decimal 1 byte length inclusiveD3I - Decimal 1 byte length inclusiveD4I - Decimal 1 byte length inclusiveD5I - Decimal 1 byte length inclusiveD6I - Decimal 1 byte length inclusiveD7I - Decimal 1 byte length inclusiveD8I - Decimal 1 byte length inclusiveD9I - Decimal 1 byte length inclusiveD0I - Decimal 1 byte length inclusiveD1X - Decimal 1 byte length exclusiveD2X - Decimal 1 byte length exclusiveD3X - Decimal 1 byte length exclusiveD4X - Decimal 1 byte length exclusiveD5X - Decimal 1 byte length exclusiveD6X - Decimal 1 byte length exclusiveD7X - Decimal 1 byte length exclusiveD8X - Decimal 1 byte length exclusiveD9X - Decimal 1 byte length exclusiveD0X - Decimal 1 byte length exclusiveNUMBER: 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 togetherL4I - 4 byte length fields: Little endian integer, length inclusiveL4X - 4 byte length fields: Little endian integer, length exclusive (ZIP)B4I - 4 byte length fields: Big endian integer, length inclusiveB4X - 4 byte length fields: Big endian integer, length exclusive (USS)S4I - 4 byte length fields: System endian integer, length inclusiveS4X - 4 byte length fields: System endian integer, length exclusive (VAR)HLI - 4 byte length fields: Little endian short (LL00), length inclusiveHLX - 4 byte length fields: Little endian short (LL00), length exclusiveHBI - 4 byte length fields: Big endian short (LL00), length inclusive (MVS)HBX - 4 byte length fields: Big endian short (LL00), length exclusiveHSI - 4 byte length fields: System endian short (LL00), length inclusiveHSX - 4 byte length fields: System endian short (LL00), length exclusiveL2I - 2 byte length fields: Little endian integer, length inclusiveL2X - 2 byte length fields: Little endian integer, length exclusiveB2I - 2 byte length fields: Big endian integer, length inclusiveB2X - 2 byte length fields: Big endian integer, length exclusiveS2I - 2 byte length fields: System endian integer, length inclusiveS2X - 2 byte length fields: System endian integer, length exclusiveS1I - 1 byte length fields: System endian integer, length inclusiveS1X - 1 byte length fields: System endian integer, length exclusiveDLM - Provided binary record delimiterNUMBER: 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 lineNUMBER: BUFSIZE/BUFSIZ=num - Buffer sizeNUMBER: MODTIME/MODTIM=num/ORIGINAL - Last modification time
ORIGINAL - Copy modification time from the original fileNUMBER: 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 usefulON - Run with combined character support (slow)OFF - Do not use combined character supportSWITCH: CMBCHAR/CMBCHR/CMBC - Is combined character used