FLUCUP-API
FLUC Subprogram Interface
Functions

Functions

const char * flucvsn (void)
 Version.
 
const char * flucabo (void)
 About.
 
const char * fluclic (void)
 Get license text.
 
const char * flucown (const char *own)
 Set/Get owner id.
 
const char * flucpgm (const char *pgm)
 Set/Get program name.
 
int flucenv (const int sys, const int std, const char *env)
 Load the FLAM environment.
 
int flucinfo (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC INFO - Provides various information.
 
int fluchash (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC HASH - Simplified Hash calculation.
 
int flucconv (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC CONV - Simplified data conversion.
 
int flucxcnv (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC XCNV - Extended data conversion.
 
int flucxchk (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC XCHK - Extended data evalation.
 
int flucgrep (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC GREP - Matching pattern in files like GREP.
 
int flucicnv (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC ICNV - Character conversion like ICONV.
 
int flucflam (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC FLAM - Support of FLAM4 command in FLUC.
 
int flucutil (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC UTIL - Support of several utility function.
 
int flucdiff (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC DIFF - Compares two data sources.
 
int fluckey (const char *cmd, const char *pro, const char *out, const char *trc)
 FLUC KEY - Key management functions.
 
int flucrsn (void)
 Get reason code.
 
const char * flucmsg (const int rsn)
 Get a message for a reason code.
 
void fluchlp (const int what, const int depth, const char *path, const char *out)
 Returns help information about the command string.
 
void flucsyn (const int what, const int depth, const char *path, const char *out)
 Return syntax information about the command string.
 
void flucdoc (const int what, const char *path, const char *out)
 Return documentation.
 
void flucpro (const int what, const char *ipro, const char *prop, const char *opro, const char *out)
 Manage properties.
 

Detailed Description

Function Documentation

◆ flucvsn()

const char * flucvsn ( void )
extern

Version.

This function returns a string with version information for each used component. This should be used in a support case.

Returns
a pointer to a static area containing the zero-terminated version string

◆ flucabo()

const char * flucabo ( void )
extern

About.

This function returns a string with about information for this library on multiple lines and license information for used external libraries.

Returns
a pointer to a static area containing the zero-terminated about string

◆ fluclic()

const char * fluclic ( void )
extern

Get license text.

This function can be used to get the current license text on multiple lines. The license text defines the permissible use of this library.

Returns
a pointer to a static area with a zero-terminated string containing the current license text.

◆ flucown()

const char * flucown ( const char * own)
extern

Set/Get owner id.

This function can be used to get (pcOwn==NULL) or to set the current owner id. The owner id is a logical qualifier to separate different configurations for different clients in the same property file. If you want use a configuration for another owner as "limes", then you must define the owner id with this function first.

Parameters
[in]ownDefine owner name (DEFAULT: "limes")
Returns
a pointer to a static area with a zero-terminated string containing the current owner id.

◆ flucpgm()

const char * flucpgm ( const char * pgm)
extern

Set/Get program name.

This function can be used to get (pcPgm==NULL) or to set ("mypg") the current program name. If you implement an own property management or a program which does not conform to the FLCL infrastructure components, it might be useful to change the program name.

Parameters
[in]pgmDefine program name (DEFAULT: "flcl")
Returns
a pointer to a static area with a zero-terminated string containing the current program name.

◆ flucenv()

int flucenv ( const int sys,
const int std,
const char * env )
extern

Load the FLAM environment.

This function load the FLAM system variables (only on z/OS or in EDZ environment), the STDENV definitions ('DD:STDENV' or '<SYSUID>.STDENV' on z/OS or '.stdenv' file in working or home directory on other system) and a optional list if variables to the environment. You can adjust the environment before the first call to a FLAM API function is done. This function gives the possibility to work with the same environment used by FLAM utilities, subsystems, etc.

Parameters
[in]sysTrue to load system variables, false no system variables active
[in]stdTrue to load standard environment, false no standard environment variables active
[in]envOptional list (could be NULL or empty) of environment variables (KEYWORD=VALUE) separated by new line ('\n') or semicolon (';')
Returns
negative (<0) error else (>=0) amount of environment variable load

◆ flucinfo()

int flucinfo ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC INFO - Provides various information.

This function calls the INFO command of FLUC

Examples: e=flucinfo("get.file='test.gz'",NULL,NULL,NULL);

Parameters
[in]cmdCommand string with GET and LOG instructions (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with GET and LOG instructions (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then stderr is used)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ fluchash()

int fluchash ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC HASH - Simplified Hash calculation.

This function calls the HASH command of FLUC

Examples: e=fluchash("file='test.gz' algo=md5",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with FILE and LOG instructions (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with FILE and LOG instructions (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucconv()

int flucconv ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC CONV - Simplified data conversion.

This function calls the CONV command of FLUC

Examples: e=flucconv("read.text(file='test.txt') write.record()",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with READ, WRITE and LOG instructions (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with READ, WRITE and LOG instructions (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucxcnv()

int flucxcnv ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC XCNV - Extended data conversion.

This function calls the XCNV command of FLUC

Examples: e=flucxcnv("inp(sav.fil(fio.blk(name='test.txt') cnv.chr(from='IBM-1141' to='UTF-8') fmt.txt())) out(sav.fil(fio.blk(name='test.out')))",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with INP, OUT and LOG instructions (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with INP, OUT and LOG instructions (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucxchk()

int flucxchk ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC XCHK - Extended data evalation.

This function calls the XCHK command of FLUC

Examples: e=flucxchk("inp(sav.fil(fio.blk(name='test.txt') cnv.hsh() ))",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with INP and LOG instructions (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with INP and LOG instructions (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucgrep()

int flucgrep ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC GREP - Matching pattern in files like GREP.

This function calls the GREP command of FLUC

Examples: e=flucgrep("input='wrt*.txt' pattern='^Abfall'",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with GREP parameter (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with GREP parameter (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucicnv()

int flucicnv ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC ICNV - Character conversion like ICONV.

This function calls the ICNV command of FLUC

Examples: e=flucicnv("in='test.txt' from='IBM-1141' to='UTF-8' ENL2LF out='test.out'",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with ICONV parameter (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with ICONV parameter (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucflam()

int flucflam ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC FLAM - Support of FLAM4 command in FLUC.

This function calls the FLAM command of FLUC

Examples: e=flucflam("comp flamin='test.txt' flamfile='test.fla' inrecformat=undefined",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with FLAM parameter (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with FLAM parameter (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucutil()

int flucutil ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC UTIL - Support of several utility function.

This function calls the UTIL command of FLUC

Examples: e=flucutil("run.remove='~.test.**'",NULL,NULL,NULL);

Parameters
[in]cmdCommand string with UTIL parameter (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with UTIL parameter (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucdiff()

int flucdiff ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC DIFF - Compares two data sources.

This function calls the DIFF command of FLUC

Examples: e=flucdiff("read.file'./test.txt.gz' compare.file='~.test.fba'",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with DIFF parameter (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with DIFF parameter (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ fluckey()

int fluckey ( const char * cmd,
const char * pro,
const char * out,
const char * trc )
extern

FLUC KEY - Key management functions.

This function calls the KEY command of FLUC

Examples: e=fluckey("import.pgp(file='keyFile.gpg')",NULL,":STDERR",NULL);

Parameters
[in]cmdCommand string with KEY parameter (if starts with '=', a parameter file containing the command string must follow)
[in]proProperty string with KEY parameter (can be empty or NULL)
[in]outFilename for printouts (if NULL or empty then is no printout produced)
[in]trcFilename for tracing (if NULL or empty then no trace is written)
Returns
signed integer with condition code for the command

◆ flucrsn()

int flucrsn ( void )
extern

Get reason code.

This function return the reason code (internal FLAM error code) if a call to a FLUC command fails.

Returns
signed integer with internal FLAM reason code

◆ flucmsg()

const char * flucmsg ( const int rsn)
extern

Get a message for a reason code.

Parameters
[in]rsnSigned integer containing the reason code
Returns
a pointer to a static area with a zero-terminated string containing the error message for that reason code.

◆ fluchlp()

void fluchlp ( const int what,
const int depth,
const char * path,
const char * out )
extern

Returns help information about the command string.

This function can be used to get all help messages or man pages for each parameter in the command string. If depth 0 or greater then 9 aliases are provided. In all other cases aliases are suppressed. Please use flucsyn() to see possible aliases for the same argument.

Parameters
[in]whatInteger constant for the corresponding command string (FLUC_CONV or FLUC_XCNV or ...)
[in]depthNumber of levels to display (0-Man page, 1-One Level, 2-Two Level, ..., <9-All)
[in]pathPath (e.g. conv.read.text.ccsid) to limit help to the (sub)tree of a certain object
[in]outFilename for printouts (if NULL or empty then stderr is used)

◆ flucsyn()

void flucsyn ( const int what,
const int depth,
const char * path,
const char * out )
extern

Return syntax information about the command string.

This function can be used to determine the complete syntax of the command strings.

Parameters
[in]whatInteger constant for the corresponding command string (FLUC_CONV or FLUC_XCNV or ...)
[in]depthNumber of levels to display (0-Man page, 1-One Level, 2-Two Level, ..., <9-All)
[in]pathPath (e.g. conv.read.text.ccsid) to limit syntax to the (sub)tree of a certain object
[in]outFilename for printouts (if NULL or empty then stderr is used)

◆ flucdoc()

void flucdoc ( const int what,
const char * path,
const char * out )
extern

Return documentation.

This function can be used to determine the complete documentation of the corresponding command.

Parameters
[in]whatInteger constant for the corresponding command string (FLUC_CONV or FLUC_XCNV or ...)
[in]pathPath (e.g. conv.read.text.ccsid) to limit docu to the (sub)tree of a certain object
[in]outFilename for printouts (if NULL or empty then stderr is used)

◆ flucpro()

void flucpro ( const int what,
const char * ipro,
const char * prop,
const char * opro,
const char * out )
extern

Manage properties.

This function can be used to manage a property file for one of the supported commands. You can generate a property file if 'ipro' NULL and 'opro' defined. You can printout the properties if 'ipro' defined and 'opro' is NULL. You can validate and copy property files if 'ipro' and 'opro' defined. You can adjust a property file if 'ipro' defined, 'prop' are used and 'opro' set.

Parameters
[in]whatInteger constant for the corresponding command (FLUC_CONV or FLUC_XCNV or ...)
[in]iproProperty file to read (if NULL or empty then then no property file is read)
[in]propProperty string to manipulate the current properties (if NULL or empty then no update is done)
[in]oproProperty file to write (if NULL or empty then stdout is used)
[in]outFilename for printouts (if NULL or empty then is no printout produced)