FLMREC-API
FLAM Record Interface Version: 5.2.1-42969
FLMRECLB Load Module Stubs

All COBOL/PL1 load module stubs for the FLAM5 archive record interface. More...

Functions

void FMRVSN (int *piRtc, int *piSize, char *pcBuffer)
 Returns version information.
void FMRABO (int *piRtc, int *piSize, char *pcBuffer)
 Returns about information.
void FMRLIC (int *piRtc, int *piSize, char *pcBuffer)
 Returns the license text.
void FMRHLP (int *piRtc, char *pcErr, const int *piWhat, const int *piDepth, const int *piPathLen, const char *pcPath, int *piOutLen, char *pcOut)
 Retrieves help text for an archive or format string parameter.
void FMRSYN (int *piRtc, char *pcErr, const int *piWhat, const int *piDepth, const int *piPathLen, const char *pcPath, int *piOutLen, char *pcOut)
 Retrieves syntax information for an archive or format string.
void FMRCHK (int *piRtc, char *pcErr, const int *piWhat, const int *piStrLen, const char *pcString, int *piOutLen, char *pcOut)
 Validates an archive or format string.
void FMROPN (int *piRtc, char *pcErr, void **ppGbl, const int *piSys, const int *piStd, const int *piEnvLen, const char *pcEnv, const int *piLogLen, const char *pcLog)
 Opens a global session with optional in-memory logging.
void FMRCLS (int *piRtc, void **ppGbl)
 Closes a global session.
void FMRGLG (int *piRtc, void **ppGbl, int *piMaxCod, int *piLogLen, char *pcLog)
 Retrieves in-memory log messages.
void FMRCLG (int *piRtc, void **ppGbl)
 Clears the in-memory log buffer.
void FMRDLG (int *piRtc, void **ppGbl)
 Deactivates in-memory logging.
void FMRRLG (int *piRtc, void **ppGbl)
 Reactivates in-memory logging.
void FMROPA (int *piRtc, char *pcErr, void **ppGbl, void **ppHdl, const int *piArcLen, const char *pcArchive, const int *piFmtLen, const char *pcFormat, const int *piNumber)
 Opens a FLAM5 archive for read or write access.
void FMRNXM (int *piRtc, char *pcErr, void **ppHdl, const int *piFmtLen, const char *pcFormat)
 Advances to the next matching member (read mode).
void FMRLOC (int *piRtc, char *pcErr, void **ppHdl, int *piLen, const unsigned char **ppRec, const int *piSkip, void **ppCnv)
 Locates the next record without copying (zero-copy read).
void FMRGET (int *piRtc, char *pcErr, void **ppHdl, int *piLen, unsigned char *pcRec, const int *piSkip, void **ppCnv)
 Reads the next record into a caller-supplied buffer (read mode).
void FMRNWM (int *piRtc, char *pcErr, void **ppHdl, const int *piFmtLen, const char *pcFormat, const int *piStaFmt, int *piStaLen, char *pcStaBuf)
 Starts a new member in an open archive (write mode).
void FMRPUT (int *piRtc, char *pcErr, void **ppHdl, const int *piLen, const unsigned char *pcRec, void **ppCnv)
 Writes a record or element to the current member (write mode).
void FMRFLU (int *piRtc, char *pcErr, void **ppHdl, const int *piFinal, const int *piForce)
 Flushes buffered records to the archive (write mode).
void FMRCLA (int *piRtc, char *pcErr, void **ppHdl, const int *piSuccess, const int *piStaFmt, int *piStaLen, char *pcStaBuf)
 Closes a FLAM5 archive and releases all resources.
void FMRGAN (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the current archive file name.
void FMRGMN (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the name of the current archive member.
void FMRGTN (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the current table name.
void FMRGMS (int *piRtc, void **ppHdl, const int *piCurrent, int *piLen, char *pcBuf)
 Returns the member state string.
void FMRSTN (int *piRtc, char *pcErr, void **ppHdl, const int *piNameLen, const char *pcName)
 Sets the current table name (write mode).
void FMRSMN (int *piRtc, char *pcErr, void **ppHdl, const int *piNameLen, const char *pcName)
 Sets the current member name (write mode).
void FMRSMS (int *piRtc, char *pcErr, void **ppHdl, const int *piStateLen, const char *pcState)
 Sets member state attributes (write mode).
void FMRMSG (int *piRtc, const int *piCode, int *piLen, char *pcBuf)
 Maps a FLAM return code to a short English message.
void FMRGAC (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the archive comment string.
void FMRGAH (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the binary user header from the archive.
void FMRGAT (int *piRtc, void **ppHdl, int *piVal)
 Returns the archive type identifier.
void FMRGMC (int *piRtc, void **ppHdl, int *piVal)
 Returns the number of members in the archive.
void FMRGMM (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the user comment of the last read member.
void FMRGMH (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the binary user header of the last read member.
void FMRGAV (int *piRtc, void **ppHdl, int *piVal)
 Returns the archive format version.
void FMRGSM (int *piRtc, void **ppHdl, int *piVal)
 Returns the archive save mode.
void FMRGFN (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns the filter name for the current member (DECO path).
void FMRSAC (int *piRtc, char *pcErr, void **ppHdl, const int *piCmtLen, const char *pcCmt)
 Sets the archive comment (write mode).
void FMRSMC (int *piRtc, char *pcErr, void **ppHdl, const int *piCmtLen, const char *pcCmt)
 Sets the member comment (write mode).
void FMRSAH (int *piRtc, char *pcErr, void **ppHdl, const int *piLen, const unsigned char *pcHdr)
 Sets the archive-level binary user header (write mode).
void FMRSMH (int *piRtc, char *pcErr, void **ppHdl, const int *piLen, const unsigned char *pcHdr)
 Sets the member-level binary user header (write mode).
void FMRGAI (int *piRtc, void **ppHdl, int *piLen, char *pcBuf)
 Returns a human-readable description of the open archive.
void FMRCAI (int *piRtc, char *pcErr, void **ppHdl, int *piLev, int *piTotal, int *piSuccess, int *piErrors, int *piReason)
 Performs an integrity check on the open archive.
void FMRGMT (int *piRtc, void **ppHdl, long long *psiRecCnt, long long *psiSegCnt, long long *psiElmCnt, long long *psiOrgLen, long long *psiCmpLen)
 Returns member statistics for the currently open member.

Detailed Description

All COBOL/PL1 load module stubs for the FLAM5 archive record interface.

Function Documentation

◆ FMRVSN()

void FMRVSN ( int * piRtc,
int * piSize,
char * pcBuffer )
extern

Returns version information.

COBOL:

CALL 'FMRVSN' USING RTC, SIZE, BUF
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in,out]piSizeBuffer size (INTEGER)
[out]pcBufferVersion string buffer (STRING)

◆ FMRABO()

void FMRABO ( int * piRtc,
int * piSize,
char * pcBuffer )
extern

Returns about information.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in,out]piSizeBuffer size (INTEGER)
[out]pcBufferAbout string buffer (STRING)

◆ FMRLIC()

void FMRLIC ( int * piRtc,
int * piSize,
char * pcBuffer )
extern

Returns the license text.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in,out]piSizeBuffer size (INTEGER)
[out]pcBufferLicense string buffer (STRING)

◆ FMRHLP()

void FMRHLP ( int * piRtc,
char * pcErr,
const int * piWhat,
const int * piDepth,
const int * piPathLen,
const char * pcPath,
int * piOutLen,
char * pcOut )
extern

Retrieves help text for an archive or format string parameter.

To select the parameter string for which to request help information, the parameter piWhat must be set to one of the following values:

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]piWhatParameter type constant (INTEGER; see list above)
[in]piDepthHelp hierarchy depth (INTEGER; 0 = all)
[in]piPathLenLength of pcPath in bytes (INTEGER); use -1 for null-terminated string
[in]pcPathOptional path within parameter tree (STRING)
[in,out]piOutLenOutput buffer size on entry; bytes written on exit (INTEGER)
[out]pcOutOutput buffer for help text (STRING)

◆ FMRSYN()

void FMRSYN ( int * piRtc,
char * pcErr,
const int * piWhat,
const int * piDepth,
const int * piPathLen,
const char * pcPath,
int * piOutLen,
char * pcOut )
extern

Retrieves syntax information for an archive or format string.

To select the parameter string for which to request syntax information, the parameter piWhat must be set to one of the following values:

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]piWhatParameter type constant (INTEGER; see list above)
[in]piDepthSyntax hierarchy depth (INTEGER)
[in]piPathLenLength of pcPath (INTEGER; -1 = null-terminated)
[in]pcPathOptional path within parameter tree (STRING)
[in,out]piOutLenOutput buffer size / bytes written (INTEGER)
[out]pcOutOutput buffer for syntax text (STRING)

◆ FMRCHK()

void FMRCHK ( int * piRtc,
char * pcErr,
const int * piWhat,
const int * piStrLen,
const char * pcString,
int * piOutLen,
char * pcOut )
extern

Validates an archive or format string.

To select the grammar against which to validate, the parameter piWhat must be set to one of the following values:

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]piWhatParameter type constant (INTEGER; see list above)
[in]piStrLenLength of pcString (INTEGER; -1 = null-terminated)
[in]pcStringString to validate (STRING)
[in,out]piOutLenOutput buffer size / bytes written (INTEGER)
[out]pcOutOutput buffer for check results (STRING)

◆ FMROPN()

void FMROPN ( int * piRtc,
char * pcErr,
void ** ppGbl,
const int * piSys,
const int * piStd,
const int * piEnvLen,
const char * pcEnv,
const int * piLogLen,
const char * pcLog )
extern

Opens a global session with optional in-memory logging.

Calling this function is optional. When ppGbl is NULL in FMROPA, a private session is created automatically.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[out]ppGblReceives the global session handle (POINTER)
[in]piSysNon-zero to load system variables (INTEGER)
[in]piStdNon-zero to load standard environment (INTEGER)
[in]piEnvLenLength of pcEnv (INTEGER; -1 = null-terminated)
[in]pcEnvOptional environment assignments (STRING) or NULL
[in]piLogLenLength of pcLog (INTEGER; -1 = null-terminated)
[in]pcLogOptional CLP log string (STRING) or NULL

◆ FMRCLS()

void FMRCLS ( int * piRtc,
void ** ppGbl )
extern

Closes a global session.

Releases all resources allocated by FMROPN. Sets *ppGbl to NULL.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppGblGlobal session handle (POINTER)

◆ FMRGLG()

void FMRGLG ( int * piRtc,
void ** ppGbl,
int * piMaxCod,
int * piLogLen,
char * pcLog )
extern

Retrieves in-memory log messages.

Copies the current log buffer into the caller-supplied pcLog buffer. The value written to piRtc is the maximum error code recorded since the last clear (same as the value written to piMaxCod).

Parameters
[out]piRtcReturn code (maximum observed error code); must not be NULL.
[in]ppGblGlobal session handle (POINTER)
[out]piMaxCodReceives the maximum error code observed (INTEGER)
[in,out]piLogLenLog buffer size / bytes copied (INTEGER)
[out]pcLogBuffer for the log text (STRING)

◆ FMRCLG()

void FMRCLG ( int * piRtc,
void ** ppGbl )
extern

Clears the in-memory log buffer.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppGblGlobal session handle (POINTER)

◆ FMRDLG()

void FMRDLG ( int * piRtc,
void ** ppGbl )
extern

Deactivates in-memory logging.

Parameters
[out]piRtcReturn code; always FLMRTC_OK; must not be NULL.
[in]ppGblGlobal session handle (POINTER)

◆ FMRRLG()

void FMRRLG ( int * piRtc,
void ** ppGbl )
extern

Reactivates in-memory logging.

Parameters
[out]piRtcReturn code; always FLMRTC_OK; must not be NULL.
[in]ppGblGlobal session handle (POINTER)

◆ FMROPA()

void FMROPA ( int * piRtc,
char * pcErr,
void ** ppGbl,
void ** ppHdl,
const int * piArcLen,
const char * pcArchive,
const int * piFmtLen,
const char * pcFormat,
const int * piNumber )
extern

Opens a FLAM5 archive for read or write access.

Parameters
[out]piRtcReceives the return code (INTEGER)
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppGblGlobal session handle (POINTER) or NULL
[out]ppHdlReceives the archive handle (POINTER)
[in]piArcLenLength of pcArchive (INTEGER; -1 = null-terminated)
[in]pcArchiveArchive string (STRING)
[in]piFmtLenLength of pcFormat (INTEGER; -1 = null-terminated)
[in]pcFormatFormat string (STRING) or NULL for default
[in]piNumberWrite-only batch size override (INTEGER): max records per matrix (REC/FL4/TAB; default is ~1 MiB/matrix, min 4, max ~1M), element rows per flush (ELM; default 1024), or I/O buffer bytes (other formats; default 1 MB); 0 = default; ignored when reading

◆ FMRNXM()

void FMRNXM ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piFmtLen,
const char * pcFormat )
extern

Advances to the next matching member (read mode).

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piFmtLenLength of pcFormat (INTEGER; -1 = null-terminated)
[in]pcFormatFormat string (STRING) or NULL to retain current

◆ FMRLOC()

void FMRLOC ( int * piRtc,
char * pcErr,
void ** ppHdl,
int * piLen,
const unsigned char ** ppRec,
const int * piSkip,
void ** ppCnv )
extern

Locates the next record without copying (zero-copy read).

The located data is valid until the next call to FMRLOC, FMRGET, FMRNXM, or FMRCLA on the same handle.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[out]piLenReceives the record length in bytes (INTEGER)
[out]ppRecReceives pointer into the internal buffer (POINTER)
[in]piSkipElement type to skip, or FLMELM_NOSKIP (INTEGER)
[in]ppCnvOptional element converter handle (POINTER) or NULL

◆ FMRGET()

void FMRGET ( int * piRtc,
char * pcErr,
void ** ppHdl,
int * piLen,
unsigned char * pcRec,
const int * piSkip,
void ** ppCnv )
extern

Reads the next record into a caller-supplied buffer (read mode).

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size on entry; record length on exit (INTEGER)
[out]pcRecCaller-supplied buffer for record data (STRING)
[in]piSkipElement type to skip, or FLMELM_NOSKIP (INTEGER)
[in]ppCnvOptional element converter handle (POINTER) or NULL

◆ FMRNWM()

void FMRNWM ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piFmtLen,
const char * pcFormat,
const int * piStaFmt,
int * piStaLen,
char * pcStaBuf )
extern

Starts a new member in an open archive (write mode).

Finalizes the current member and starts a new empty member within the same archive handle. Call FMRSMN or FMRSMS afterwards to set metadata for the new member before writing the first record.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piFmtLenLength of pcFormat (INTEGER; -1 = null-terminated)
[in]pcFormatFormat string (STRING) or NULL to retain current
[in]piStaFmtStatistics format constant (INTEGER)
[in,out]piStaLenStatistics buffer size / bytes written (INTEGER)
[out]pcStaBufStatistics buffer (STRING) or NULL

◆ FMRPUT()

void FMRPUT ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piLen,
const unsigned char * pcRec,
void ** ppCnv )
extern

Writes a record or element to the current member (write mode).

Submits one record or element to the internal write buffer.

In format.element() mode pcRec must point to a serialized FlmElmRec0 structure. The following constraints apply for table-format elements (matrix type >= FLMMAT_TYP_TABELM):

  • A header element (uiTyp = FLMELM_TYPTAB_HEADER | (colCnt<<8)) MUST be submitted before the first data element and before every format change. The header element is not counted as a data row.
  • After the header, data elements must arrive in multiples of the column count encoded in the header (uiTyp >> 8).
  • For standard formats (matrix type < FLMMAT_TYP_TABELM) the column count per row is fixed by the matrix type; no header element is needed.

See also siFmrPut() in FLMREC.h for the full element-mode rules.

Parameters
[out]piRtcReceives the return code (INTEGER)
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piLenRecord or element structure length in bytes (INTEGER)
[in]pcRecRecord data or serialized FlmElmRec0 (STRING)
[in]ppCnvOptional element converter handle (POINTER) or NULL

◆ FMRFLU()

void FMRFLU ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piFinal,
const int * piForce )
extern

Flushes buffered records to the archive (write mode).

In format.element() mode with table formats (matrix type >= FLMMAT_TYP_TABELM): the pending element count must be a complete multiple of the current column count. A partial row causes the complete rows to be flushed and FLMRTC_ITF to be returned.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piFinalNon-zero to finalize the current member (INTEGER)
[in]piForceNon-zero to force flush even if no data pending (INTEGER)

◆ FMRCLA()

void FMRCLA ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piSuccess,
const int * piStaFmt,
int * piStaLen,
char * pcStaBuf )
extern

Closes a FLAM5 archive and releases all resources.

Sets *ppHdl to NULL after close.

Parameters
[out]piRtcReceives the return code (INTEGER)
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in,out]ppHdlArchive handle (POINTER); set to NULL on close
[in]piSuccessNon-zero if operation was successful (INTEGER)
[in]piStaFmtStatistics format constant (INTEGER)
[in,out]piStaLenStatistics buffer size / bytes written (INTEGER)
[out]pcStaBufStatistics buffer (STRING) or NULL

◆ FMRGAN()

void FMRGAN ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the current archive file name.

Copies the archive file path into the caller-supplied buffer.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the archive name (STRING)

◆ FMRGMN()

void FMRGMN ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the name of the current archive member.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the member name (STRING)

◆ FMRGTN()

void FMRGTN ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the current table name.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the table name (STRING)

◆ FMRGMS()

void FMRGMS ( int * piRtc,
void ** ppHdl,
const int * piCurrent,
int * piLen,
char * pcBuf )
extern

Returns the member state string.

Copies the state string (e.g. "STATE(ORGF='a.txt' RECF=FB RECL=80)") into the caller-supplied buffer.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in]piCurrentNon-zero for current (modified) state (INTEGER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the state string (STRING)

◆ FMRSTN()

void FMRSTN ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piNameLen,
const char * pcName )
extern

Sets the current table name (write mode).

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piNameLenLength of pcName (INTEGER; -1 = null-terminated)
[in]pcNameNull-terminated table name (STRING)

◆ FMRSMN()

void FMRSMN ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piNameLen,
const char * pcName )
extern

Sets the current member name (write mode).

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piNameLenLength of pcName (INTEGER; -1 = null-terminated)
[in]pcNameMember (file) name (STRING)

◆ FMRSMS()

void FMRSMS ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piStateLen,
const char * pcState )
extern

Sets member state attributes (write mode).

Parameters
[out]piRtcReceives the return code (INTEGER)
[in]pcErrError trace buffer (FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piStateLenLength of pcState (INTEGER; -1 = null-terminated)
[in]pcStateState string, e.g. "STATE(ORGF='a.txt')" (STRING)

◆ FMRMSG()

void FMRMSG ( int * piRtc,
const int * piCode,
int * piLen,
char * pcBuf )
extern

Maps a FLAM return code to a short English message.

Parameters
[out]piRtcReceives the return code of this call (INTEGER)
[in]piCodeFLAM return code to look up (INTEGER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the message (STRING)

◆ FMRGAC()

void FMRGAC ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the archive comment string.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the comment string (STRING)

◆ FMRGAH()

void FMRGAH ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the binary user header from the archive.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size on entry / bytes copied on exit (INTEGER)
[out]pcBufOutput buffer for the header bytes (STRING)

◆ FMRGAT()

void FMRGAT ( int * piRtc,
void ** ppHdl,
int * piVal )
extern

Returns the archive type identifier.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[out]piValReceives the archive type constant (INTEGER)

◆ FMRGMC()

void FMRGMC ( int * piRtc,
void ** ppHdl,
int * piVal )
extern

Returns the number of members in the archive.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[out]piValReceives the member count (INTEGER)

◆ FMRGMM()

void FMRGMM ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the user comment of the last read member.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the comment string (STRING)

◆ FMRGMH()

void FMRGMH ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the binary user header of the last read member.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the header bytes (STRING)

◆ FMRGAV()

void FMRGAV ( int * piRtc,
void ** ppHdl,
int * piVal )
extern

Returns the archive format version.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[out]piValReceives the archive version number (INTEGER)

◆ FMRGSM()

void FMRGSM ( int * piRtc,
void ** ppHdl,
int * piVal )
extern

Returns the archive save mode.

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[out]piValReceives the save mode constant (INTEGER)

◆ FMRGFN()

void FMRGFN ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns the filter name for the current member (DECO path).

Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size / bytes copied (INTEGER)
[out]pcBufOutput buffer for the filter name (STRING)

◆ FMRSAC()

void FMRSAC ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piCmtLen,
const char * pcCmt )
extern

Sets the archive comment (write mode).

COBOL:

CALL 'FMRSAC' USING RTC, ERR, HDL, CMTLEN, CMT
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (STRING, FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piCmtLenLength of comment string (INTEGER)
[in]pcCmtComment string (STRING)

◆ FMRSMC()

void FMRSMC ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piCmtLen,
const char * pcCmt )
extern

Sets the member comment (write mode).

COBOL:

CALL 'FMRSMC' USING RTC, ERR, HDL, CMTLEN, CMT
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (STRING, FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piCmtLenLength of comment string (INTEGER)
[in]pcCmtComment string (STRING)

◆ FMRSAH()

void FMRSAH ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piLen,
const unsigned char * pcHdr )
extern

Sets the archive-level binary user header (write mode).

COBOL:

CALL 'FMRSAH' USING RTC, ERR, HDL, LEN, HDR
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (STRING, FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piLenLength of header data in bytes (INTEGER)
[in]pcHdrBinary header data (STRING)

◆ FMRSMH()

void FMRSMH ( int * piRtc,
char * pcErr,
void ** ppHdl,
const int * piLen,
const unsigned char * pcHdr )
extern

Sets the member-level binary user header (write mode).

COBOL:

CALL 'FMRSMH' USING RTC, ERR, HDL, LEN, HDR
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (STRING, FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piLenLength of header data in bytes (INTEGER)
[in]pcHdrBinary header data (STRING)

◆ FMRGAI()

void FMRGAI ( int * piRtc,
void ** ppHdl,
int * piLen,
char * pcBuf )
extern

Returns a human-readable description of the open archive.

Fills pcBuf with a null-terminated info string (archive type, compression/encryption suites, main ID, FKME ID). On return piLen contains the number of bytes written (strlen result, not counting the null terminator).

If ppHdl points to a NULL handle or no archive is open, the sentinel string "--NULL--" is written into pcBuf.

COBOL:

CALL 'FMRGAI' USING RTC, HDL, LEN, BUF
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[in,out]piLenBuffer size in bytes on input; bytes written on output (INTEGER)
[out]pcBufOutput buffer for the null-terminated info string (STRING)

◆ FMRCAI()

void FMRCAI ( int * piRtc,
char * pcErr,
void ** ppHdl,
int * piLev,
int * piTotal,
int * piSuccess,
int * piErrors,
int * piReason )
extern

Performs an integrity check on the open archive.

Checks directory consistency and optionally verifies member data depending on piLev. On return the three count parameters hold the total members checked, the number that passed, and the number with errors.

COBOL:

CALL 'FMRCAI' USING RTC, ERR, HDL, LEV, TOTAL, SUCCESS, ERRORS, REASON
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]pcErrError trace buffer (STRING, FLMERR_SIZ bytes) or NULL
[in]ppHdlArchive handle (POINTER)
[in]piLevCheck level: 1=directory, 2=verify data (INTEGER)
[out]piTotalTotal members checked (INTEGER)
[out]piSuccessMembers without errors (INTEGER)
[out]piErrorsMembers with errors (INTEGER)
[out]piReasonLast internal reason code on failure, 0 if clean (INTEGER)

◆ FMRGMT()

void FMRGMT ( int * piRtc,
void ** ppHdl,
long long * psiRecCnt,
long long * psiSegCnt,
long long * psiElmCnt,
long long * psiOrgLen,
long long * psiCmpLen )
extern

Returns member statistics for the currently open member.

Fills five 64-bit out-parameters with statistics from the nucleus status block stored in the archive directory entry. Valid after FMROPA or FMRNXM.

All parameters are 8-byte signed binary integers. COBOL declaration: PIC S9(18) COMP

The values reflect the state at write time. After partial updates, inserts, or deletes the counts may no longer match the actual content.

COBOL:

CALL 'FMRGMT' USING RTC, HDL, RECCNT, SEGCNT, ELMCNT, ORGLEN, CMPLEN
Parameters
[out]piRtcReturn code; set even on error; must not be NULL.
[in]ppHdlArchive handle (POINTER)
[out]psiRecCntRecord count (PIC S9(18) COMP)
[out]psiSegCntSegment count (PIC S9(18) COMP)
[out]psiElmCntElement count (PIC S9(18) COMP)
[out]psiOrgLenOriginal (uncompressed) size in bytes (PIC S9(18) COMP)
[out]psiCmpLenCompressed size in bytes (PIC S9(18) COMP)