FCPE-SPI
FLAM Column Processing Exit (FCPE) Service Provider Interface (SPI)
FcpeRun Struct Reference

FCPE Run structure. More...

#include <FCPE.h>

Data Fields

unsigned int uiInp
 [INPUT] Length of the input data (32 bit word)
 
unsigned int uiDy1
 [DUMMY] 32 bit dummy field for 64 bit alignment
 
unsigned char * pcInp
 [INPUT] Pointer to the input data (32 or 64 bit)
 
unsigned int uiOut
 [INOUT] Output space at input and output length at output (32 bit word)
 
unsigned int uiDy2
 [DUMMY] 32 bit dummy field for 64 bit alignment
 
unsigned char * pcOut
 [OUTPUT] Pointer to the output data (32 or 64 bit)
 
unsigned int uiFlg
 [INOUT] Flag word for null, empty and other indications (32 bit word) (output at read, input at write)
 
unsigned int uiMsg
 [OUTPUT] Length of error message (32 bit word)
 
char acMsg [1024]
 [OUTPUT] Maximal 1024 byte long error string
 

Detailed Description

FCPE Run structure.

This structure is used when the exit function is called with the function code FCPE_FUNC_RUN. It is called for each data item of this column, allowing the exit to manipulate the data as needed.

The exit drivers passes the length and a pointer to the input data of the current column as the first pair of members of the structure.

The second member pair is the size and a pointer to an already allocated buffer where the exit function may write its output to and set the output length accordingly. The input and output buffers are managed by the exit driver. If the output buffer is too small, then FLMRTC_LEN must be set as return code and the output length must contain the minimum required buffer length. The exit driver then repeats the call with a buffer of at least the desired size. This is repeated until the exit function no longer sets the FLMRTC_LEN error code. If the FCPE_FLAG_NOCPY flag is set, the output pointer and length is set to NULL/0 by the exit driver and the exit function must set the output length to the input length and the output pointer to the input pointer for plausibility checks by the exit driver.

If the FCPE_FLAG_NOCPY flag has been set during the FCPE_FUNC_RUN function code call, the input buffer may be modified in-place. However, the output pointer must be set to the input pointer. This prevents unnessary copy operation if the exit function only perform minor changes or none at all.

The flag word can be used to set indication flags bits when reading and to use these flags when writing. Currently, the bit definitions below are defined:

FLMELM_TYPTAB_FLAG_NULLID FLMELM_TYPTAB_FLAG_EMPTID

At normal pre- or post-processing the flag word is not touched.

The last member pair is a 1024 bytes buffer for an error message. The corresponding length must be set to the length of the error message.

Field Documentation

◆ acMsg

char FcpeRun::acMsg[1024]

[OUTPUT] Maximal 1024 byte long error string

◆ pcInp

unsigned char* FcpeRun::pcInp

[INPUT] Pointer to the input data (32 or 64 bit)

◆ pcOut

unsigned char* FcpeRun::pcOut

[OUTPUT] Pointer to the output data (32 or 64 bit)

◆ uiDy1

unsigned int FcpeRun::uiDy1

[DUMMY] 32 bit dummy field for 64 bit alignment

◆ uiDy2

unsigned int FcpeRun::uiDy2

[DUMMY] 32 bit dummy field for 64 bit alignment

◆ uiFlg

unsigned int FcpeRun::uiFlg

[INOUT] Flag word for null, empty and other indications (32 bit word) (output at read, input at write)

◆ uiInp

unsigned int FcpeRun::uiInp

[INPUT] Length of the input data (32 bit word)

◆ uiMsg

unsigned int FcpeRun::uiMsg

[OUTPUT] Length of error message (32 bit word)

◆ uiOut

unsigned int FcpeRun::uiOut

[INOUT] Output space at input and output length at output (32 bit word)


The documentation for this struct was generated from the following file: