Optim Data Privacy Providers  11.7.0
 All Data Structures Files Functions Variables Macros Groups Pages
ODPP Common Parameters

Base values used by Defines

#define OPERANDBASE   0x1000
 
#define VALUEBASE   0x1400
 
#define REQUESTBASE   0x0E01
 

The following defines are associated with the usParameterID member of DP_INIT_OP_DEF structure. These operands are applicable to more than one Service Provider.

#define ODPP_OPR_SWITCH_LITERAL   OPERANDBASE + 1
 
#define ODPP_OPR_SWITCH_NA   OPERANDBASE + 5
 
#define ODPP_OPR_SOURCE_COLINDEX   OPERANDBASE + 7
 
#define ODPP_OPR_SOURCE_COLNAME   OPERANDBASE + 8
 
#define ODPP_OPR_FLAGS   OPERANDBASE + 10
 
#define ODPP_OPR_METHOD   OPERANDBASE + 11
 
#define ODPP_OPR_TRACEPATH   OPERANDBASE + 12
 
#define ODPP_OPR_DISCARD_LIMIT   OPERANDBASE + 19
 
#define ODPP_OPR_SOURCE_COLS   OPERANDBASE + 21
 
#define ODPP_OPR_ERRORFILE_PATH   OPERANDBASE + 22
 
#define ODPP_OPR_SOURCE_DATE_FORMAT   OPERANDBASE + 23
 
#define ODPP_OPR_DEST_DATE_FORMAT   OPERANDBASE + 24
 
#define ODPP_OPR_DEST_DATATYPE   OPERANDBASE + 25
 
#define ODPP_OPR_ERROR_MSG_LANGUAGE   OPERANDBASE + 26
 
#define ODPP_OPR_LIC_FILES_PATH   OPERANDBASE + 28
 
#define ODPP_OPR_LIB_PATH   OPERANDBASE + 30
 
#define ODPP_OPR_HASH_ALGORITHM   OPERANDBASE + 32
 
#define ODPP_OPR_HASH_SEED_HMAC   OPERANDBASE + 33
 
#define ODPP_OPR_USE_SUCCESS_WITH_INFO   OPERANDBASE + 34
 

Values for ODPP_OPR_METHOD

#define ODPP_METHOD_MASK   VALUEBASE + 6
 
#define ODPP_METHOD_RANDOM   VALUEBASE + 7
 

Values for ODPP_OPR_ERROR_MSG_LANGUAGE

#define ODPP_ERR_MSG_LANG_EN   VALUEBASE + 10
 

Values for ODPP_OPR_HASH_ALGORITHM

#define ODPP_HASH_ALGORITHM_NATIVE   VALUEBASE + 30
 
#define ODPP_HASH_ALGORITHM_SHA256   VALUEBASE + 31
 

Values for ODPP_OPR_FLAGS

#define ODPP_FLAG_VALIDATE_INPUT   1
 
#define ODPP_FLAG_IGNORE_INVALID   2
 

These are common separators. If a Service Provider wants to use separators, it must declare a separator parameter such as ODPP_OPR_NID_FR_SEP

#define ODPP_NO_SEP   1
 
#define ODPP_SEP_USESOURCE   2
 
#define ODPP_SEP_DOT   4
 
#define ODPP_SEP_DASH   8
 
#define ODPP_SEP_SPACE   16
 
#define ODPP_SEP_UNDERSCORE   32
 

Service Provider Information Request codes.

#define ODPP_REQ_SRC_COL_INDEX   REQUESTBASE + 0
 
#define ODPP_REQ_DEST_COL_INDEX   REQUESTBASE + 1
 
#define ODPP_REQ_DEST_DATATYPE   REQUESTBASE + 2
 

Detailed Description

Macro Definition Documentation

#define OPERANDBASE   0x1000
  • Use:
    This is the Base value which is used by Parameter defines.
  • Description:
    N/A
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    N/A
  • Example:
    N/A
#define ODPP_OPR_SWITCH_LITERAL   OPERANDBASE + 1
  • Use:
    This parameter is used to specify a string value for switch.
  • Description:
    When this parameter is specified for the National ID Service Provider, the string value is used to select the algorithm to be used for masking. For the National ID Service Provider the string value would be the Country Name. The naming convention would be a Two-letter abbreviation as shown below:
    • France: FR
    • Spain: ES
    • Italy: IT
    • United Kingdom: UK
    • United States of America: US
    • Canada: CA
  • Optional:
    No
    This parameter is mandatory for National ID Service Provider.
  • Exclusive:
    If this parameter is specified, you CANNOT specify parameters ODPP_OPR_SWITCH_NA
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • ODPP_OPR_SWITCH_LITERAL = "FR"
#define ODPP_OPR_SWITCH_NA   OPERANDBASE + 5
  • Use:
    This parameter is used for any Service Provider which does not require switch.
  • Description:
    Any Service Provider which does not require a switch value should be sent this parameter.
  • Optional:
    No
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). A value is not required for this parameter. If a value is specified in either the pParamVal member or the uiVal member of the DP_INIT_OP_DEF structure, it will be ignored.
  • Example:
    • ODPP_OPR_SWITCH_NA = "NA"
#define ODPP_OPR_SOURCE_COLINDEX   OPERANDBASE + 7
  • Use:
    This parameter supplies the source column index in the list of DP_FIELD_DEF structures.
  • Description:
    Each column is represented as a DP_FIELD_DEF structure. Parameter ODPP_OPR_SOURCE_COLINDEX accepts a zero based column index which specifies which column in the list of DP_FIELD_DEF structures is to be used as the source column.

  • Optional:
    No
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_SOURCE_COLINDEX = 2
      Here the source column is the third element in the list of DP_FIELD_DEF structures
#define ODPP_OPR_SOURCE_COLNAME   OPERANDBASE + 8
  • Use:
    This parameter supplies the source column name in the list of DP_FIELD_DEF structures.
  • Description:
    ODPP_OPR_SOURCE_COLNAME accepts the source column name as a NULL terminated string. The Input string need not be enclosed in quotes.

    When ODPP_OPR_SOURCE_COLNAME is used, the provider manager will do a case sensitive search for source column in the DP_FIELD_DEF list by comparing the supplied column name to ColName member of DP_FIELD_DEF, so it is important that each column name mentioned here must have a matching DP_FIELD_DEF object for successful initialization.

    For column names containing special characters the following rules apply:
    • A column name may start and end with matching delimiting double quote character (").
    • A column name must be enclosed in starting and ending double quotes when it contains a special character.
    • The special characters are the COMMA and the DOUBLE QUOTE.
    • A double quote character, when contained in a column name, must be preceded by a BACKSLASH (i.e. \ ) when the column name is enclosed in the required double quote character delimiters.

    For column names containing spaces the following rules apply:
    • Spaces before and after a column name will be skipped.
    • Any spaces in between the column name or enclosed by the double quotes with column name will be taken as part of column name.
    • In case a column name consists of only spaces the column name will be skipped.

    The following rules apply when using case sensitive column names:
    • All column names (i.e. the #ColName member of structure DP_FIELD_DEF and column names supplied using parameters) not enclosed in DOUBLE QUOTES will be upper-cased. This ensures case insensitive search of the columns.
    • To preserve case sensitivity and ensure case sensitive search use DOUBLE QUOTES around the column names.

  • Optional:
    No
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • ODPP_OPR_SOURCE_COLNAME="Col1"
#define ODPP_OPR_FLAGS   OPERANDBASE + 10
  • Use:
    This parameter is used to specify general flags to the masking algorithm.
  • Description:
    General flags can be specified using this parameter which will control the behaviour of the Service Provider. For example, flags can be specified to validate the source data or to ignore invalid source data and copy it to the destination.
  • Optional:
    Yes
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_FLAGS = ODPP_FLAG_VALIDATE_INPUT
#define ODPP_OPR_METHOD   OPERANDBASE + 11
  • Use:
    This parameter specifies which method to use for masking.
  • Description:
    This parameter takes predefined values as input and can be only one of the following:
    • ODPP_METHOD_MASK
      Invokes a consistent masking algorithm. The output is repeatable.
    • ODPP_METHOD_RANDOM
      Invokes a random masking algorithm. The output is not repeatable and does not require an input to generate the output.
  • Optional:
    No
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_METHOD = ODPP_METHOD_RANDOM
#define ODPP_OPR_TRACEPATH   OPERANDBASE + 12
  • Use:
    This parameter specifies the folder path where the Trace file will be created.
  • Description:
    This parameter supplies the folder path as a Null terminated wide character string where the Trace file will be created. Folder specified must exist otherwise Provider_FrmwInit will return with an error.

    Alternatively you can set "ODPPTRCL" environment variable to the path of the directory where ODPP trace files will get generated. For detail description of "ODPPTRCL" environment variable please see ODPP Environment Variable
  • Optional:
    Yes.

    Default:
    • Windows : for windows it will be the TEMP folder as returned by the Windows API GetTempPath.
    • Unix : For Unix it will be "/tmp" folder. If this folder is not available then Provider_FrmwInit will return with an error.
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_FrmwInit(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. Caller must allocate the memory for pParamVal.
  • Example:
    • Unix :
      ODPP_OPR_TRACEPATH =/tmp
    • Windows :
      ODPP_OPR_TRACEPATH =c:\temp
#define ODPP_OPR_DISCARD_LIMIT   OPERANDBASE + 19
  • Use:
    This parameter is used to specify the maximum number of errors to be recorded by the Service Provider.
  • Description:
    Specifying this parameter will cause the call to Provider_Service() to return when the discard limit is reached.

    This parameter will accept a numeric value from zero to maximum number of records in the row set sent to the Service Provider during the Provider_Service() call:
    • Zero
      The Service Provider records all errors and will not return until all the rows in the row set have been processed.
    • Numeric value between 1 and maximum number of records in the row set
      The Service Provider will return as soon as the error count reaches the discard limit. This allows the caller to process the recorded errors and restart row processing by calling Provider_Service() once again with the same row set. Rows that have already been processed will not be processed again.
  • Optional:
    Yes.
    The default is zero. The service provider will record all errors and will not return till it processes all the records in the row set.
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_ DISCARD _LIMIT=100
      The service provider will return when the error count reaches 100.
#define ODPP_OPR_SOURCE_COLS   OPERANDBASE + 21
  • Use:
    This parameter supplies the source column name(s).
  • Description:
    This parameter accepts a NULL terminated string of comma separated column names. The Input string need not be enclosed in quotes.

    Each DP_FIELD_DEF object has a ColName member. The Provider manager will do a case sensitive search for source column(s) in the DP_FIELD_DEF list by comparing the column names to ColName member of DP_FIELD_DEF, so it is important that each column name mentioned here must have a matching DP_FIELD_DEF object for successful initialization.

    For column names containing special characters the following rules apply:
    • A column name may start and end with matching delimiting double quote character (").
    • A column name must be enclosed in starting and ending double quotes when it contains a special character.
    • The special characters are the COMMA and the DOUBLE QUOTE.
    • A double quote character, when contained in a column name, must be preceded by a BACKSLASH (i.e. \ ) when the column name is enclosed in the required double quote character delimiters.

    For column names containing spaces the following rules apply:
    • Spaces before and after a column name will be skipped.
    • Any spaces in between the column name or enclosed by the double quotes with column name will be taken as part of column name.
    • In case a column name consists of only spaces the column name will be skipped.

    The following rules apply when using case sensitive column names:
    • All column names (i.e. the #ColName member of structure DP_FIELD_DEF and column names supplied using parameters) not enclosed in DOUBLE QUOTES will be upper-cased. This ensures case insensitive search of the columns.
    • To preserve case sensitivity and ensure case sensitive search use DOUBLE QUOTES around the column names.
  • Optional:
    No
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • ODPP_OPR_SOURCE_COLS = "Col1,Col2,Col3"
#define ODPP_OPR_ERRORFILE_PATH   OPERANDBASE + 22
  • Use:
    This parameter is used to set the path of the Error Messages file.
  • Description:
    This is an ODPP Framework parameter and can be used to change the path of the Error Messages file. By default the directory containing the executable which loads the ODPP libraries is searched for the Error Messages file. If the Error Messages file is located in a different directory then this Framework parameter must be specified during Provider_FrmwInit() with the path of the directory.

    Alternatively you can set "ODPPERRL" environment variable to the path of the directory where Error Messages file is located. For detail description of "ODPPERRL" environment variable please see ODPP Environment Variable
  • Optional:
    Yes
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_FrmwInit(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • ODPP_OPR_ERRORFILE_PATH = "..\\ErrorFileDirectory\\"
#define ODPP_OPR_SOURCE_DATE_FORMAT   OPERANDBASE + 23
  • Use:
    This parameter is used to specify the format of date string values in the source column(s). This parameter applies only to AGE , HASH , LOOKUP and HASH LOOKUP Service Providers.
  • Optional:
    Yes.
    The default date format if source date format is not supplied is:
    DD/MM/YYYY HH24:MI:SS:FFFFFF
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • ODPP_OPR_SOURCE_DATE_FORMAT="%DD/%MMM/%YYYY"
#define ODPP_OPR_DEST_DATE_FORMAT   OPERANDBASE + 24
  • Use:
    This parameter is used to specify the format for the returned date string values in the destination column. This parameter applies only to AGE Service Provider.
  • Optional:
    Yes.
    By default the source date format will be taken as the destination date format if source data type is one of the above, else the below format will be used to format the date:
    DD/MM/YYYY HH24:MI:SS:FFFFFF
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • ODPP_OPR_DEST_DATE_FORMAT="%DD/%MMM/%YYYY"
#define ODPP_OPR_DEST_DATATYPE   OPERANDBASE + 25
  • Use:
    This parameter is used to specify the destination data type and applies only to AGE Service Provider.
  • Description:
    This parameter supplies the destination data type to which the resultant (i.e. Aged) date value will be converted.
  • Optional:
    Yes.
    If destination data type is not supplied, then by default the source data type will be used as the destination data type.
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_DEST_DATATYPE = ODPPDATATYPE_DATETIME_CHAR
#define ODPP_OPR_ERROR_MSG_LANGUAGE   OPERANDBASE + 26
  • Use:
    This parameter is used to select the language of the Error Messages file.
  • Description:
    This is an ODPP Framework parameter and can be used to select the language of the Error Messages file during Provider_FrmwInit(). By default, the English Error Messages file is selected. Currently only English language is supported.
  • Optional:
    Yes.
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_ERROR_MSG_LANGUAGE = ODPP_ERR_MSG_LANG_EN
#define ODPP_OPR_LIC_FILES_PATH   OPERANDBASE + 28
  • Use:
    This parameter is used to set the path of the license files directory.
  • Description:
    This is an ODPP Framework parameter and can be used to change the path of the license files. By default the directory containing the executable which loads the ODPP libraries is searched for the license files. If the license files are located in a different directory then this Framework parameter must be specified during Provider_FrmwInit() with the path of the directory.

    Alternatively you can set "ODPPLL" environment variable to the path of the directory where license files are located. For detail description of ODPPLL environment variable please see ODPP Environment Variable
  • Optional:
    Yes. By default the directory containing the executable which loads the ODPP libraries is searched for the license files.
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_FrmwInit(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • Unix :
      ODPP_OPR_LIC_FILES_PATH =/home/LicFileDir (absolute path of the directory)
    • Windows :
      ODPP_OPR_LIC_FILES_PATH =c:\LicFileDir\
#define ODPP_OPR_LIB_PATH   OPERANDBASE + 30
  • Use:
    This parameter is used to set the path of the ODPP provider libraries.
  • Description:
    This is an ODPP Framework parameter and can be used to change the path of the ODPP Service Provider libraries. By default the directory containing the executable which loads the ODPP libraries is searched for the ODPP Service Provider libraries. If the ODPP Service provider libraries are located in a different directory then this Framework parameter must be specified during Provider_FrmwInit() with the path of the directory.

    Alternatively you can set "ODPPLIBL" environment variable to the path of the directory where ODPP Service Provider libraries are located. For detail description of "ODPPLIBL" environment variable please see ODPP Environment Variables
  • Optional:
    Yes. By default the directory containing the executable which loads the ODPP libraries is searched for the license files
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_FrmwInit(). Its value is specified in the pParamVal member of the DP_INIT_OP_DEF structure. The caller must allocate memory for pParamVal.
  • Example:
    • Unix :
      ODPP_OPR_LIB_PATH =/home/ODPPLibDir (absolute path of the directory)
    • Windows :
      ODPP_OPR_LIB_PATH =c:\ODPPLibDir\
#define ODPP_OPR_HASH_ALGORITHM   OPERANDBASE + 32
  • Use:
    This parameter specifies the hash-type algorithm to be used.
  • Description:
    This parameter is used to specify the type of algorithm used for hashing. This parameter is applicable only for Hash Service Provider, Email Hash and Hash Lookup.

    The following values are valid for this parameter:
  • Exclusive:
    N/A
  • Example:
    • ODPP_OPR_HASH_ALGORITHM = ODPP_HASH_ALGORITHM_SHA256
#define ODPP_OPR_HASH_SEED_HMAC   OPERANDBASE + 33
  • Use:
    Indicates the seed is provided by the HMAC key exit.
  • Description:
    This parameter is used to specify that the seed value is provided by the HMAC key exit when the SHA-256 algorithm is used for hashing. If this parameter is specified and no hash exit is present, ODPP reports an error.

    The hash exit has the following name:
    • ioqhashexit.dll (Windows)
    • libioqhashexit.so (Unix/Linux) and libioqhashexit.sl (HPUX PA-RISC)

  • Optional:
    Yes.
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_Init(). This parameter does not require a value and the iValueSubType member may be set with the defined value PARAM_VAL_NONE.
  • Example:
    • ODPP_OPR_HASH_SEED_HMAC = "NA"
#define ODPP_OPR_USE_SUCCESS_WITH_INFO   OPERANDBASE + 34
  • Use:
    Framework initialization parameter that enables the ODPPSUCCESS_WITH_INFO functionality in Provider_Service().
  • Description:
    This framework initialization parameter may be used to enable the ODPPSUCCESS_WITH_INFO functionality in Provider_Service() that makes it easier to detect row processing errors and informational messages.

    Framework initialized without parameter ODPP_OPR_USE_SUCCESS_WITH_INFO Framework initialized with parameter ODPP_OPR_USE_SUCCESS_WITH_INFO
    Successful row Return code ODPPSUCCESS ODPPSUCCESS
    bHasError member of DP_ROW_DEF FALSE FALSE
    iErrorCode member of DP_FIELD_DATA_DEF 0 0
    Informational messages Return code ODPPSUCCESS ODPPSUCCESS_WITH_INFO
    bHasError member of DP_ROW_DEF FALSE FALSE
    iErrorCode member of DP_FIELD_DATA_DEF Non-zero error code Non-zero error code
    Row errors Return code ODPPSUCCESS ODPPSUCCESS_WITH_INFO
    bHasError member of DP_ROW_DEF TRUE TRUE
    iErrorCode member of DP_FIELD_DATA_DEF Non-zero error code Non-zero error code
    Process error Return code Code other than ODPPSUCCESS Code other than ODPPSUCCESS and ODPPSUCCESS_WITH_INFO


  • Optional:
    Yes.
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    The parameter is specified in the usParameterID member of the DP_INIT_OP_DEF structure during Provider_FrmwInit(). This parameter does not require a value and the iValueSubType member may be set with the defined value PARAM_VAL_NONE.
  • Example:
    • ODPP_OPR_USE_SUCCESS_WITH_INFO = "NA"
#define VALUEBASE   0x1400
  • Use:
    This is the Base value which is used by Parameter Value defines.
  • Description:
    N/A
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    N/A
  • Example:
    N/A
#define ODPP_METHOD_MASK   VALUEBASE + 6
  • Use:
    This parameter value is used to invoke a consistent masking algorithm.
  • Description:
    Specifying this parameter value will result in a consistent masking algorithm being invoked. The output is repeatable.
  • Optional:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_METHOD = ODPP_METHOD_MASK
#define ODPP_METHOD_RANDOM   VALUEBASE + 7
  • Use:
    This parameter value is used to invoke a random masking algorithm.
  • Description:
    Specifying this parameter value will result in a random masking algorithm being invoked. The output is not repeatable and does not require an input to generate the output.
  • Optional:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_METHOD = ODPP_METHOD_RANDOM
#define ODPP_ERR_MSG_LANG_EN   VALUEBASE + 10
  • Use:
    This parameter value is used to select the English Error Messages file.
  • Description:
    Specifying this value selects the English Error Messages file which is presently the default.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_ERROR_MSG_LANGUAGE = ODPP_ERR_MSG_LANG_EN
#define ODPP_HASH_ALGORITHM_NATIVE   VALUEBASE + 30
  • Use:
    This parameter value is used to invoke the native ODPP hash algorithm.
  • Description:
    Specifying this value results in the native ODPP hash algorithm being invoked for hashing.
  • Optional:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_HASH_ALGORITHM = ODPP_HASH_ALGORITHM_NATIVE
#define ODPP_HASH_ALGORITHM_SHA256   VALUEBASE + 31
  • Use:
    This parameter value is used to invoke the SHA-256 hash algorithm.
  • Description:
    Specifying this value results in the SHA-256 hash algorithm being invoked for hashing. A hash exit may be implemented to provide a secret HMAC key for use with the hash algorithm. A sample hash exit is provided with the ODPP binaries. The source code for the hash exit is available under the Samples folder of the zipped package.

    The hash exit must be named as follows:
    • ioqhashexit.dll (Windows)
    • libioqhashexit.so (Unix/Linux) and libioqhashexit.sl (HPUX PA-RISC)

    If an exit is present the HMAC key is used otherwise processing continues without the HMAC key. When parameter ODPP_OPR_HASH_SEED_HMAC is specified, if an exit is present, the HMAC key is used otherwise ODPP reports an error.

    A numeric seed value may also be specified and will be used as the HMAC key in the absence of an exit. If a numeric seed is specified and an exit is present, the numeric seed will be ignored, and the HMAC key provided by the exit will be used.

    The numeric seed may be specified using one of the following parameters:
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_HASH_ALGORITHM = ODPP_HASH_ALGORITHM_SHA256
#define ODPP_FLAG_VALIDATE_INPUT   1
  • Use:
    When this flag value is specified, the source value is validated by the Service Provider before being processed.
  • Description:
    Specifying this flag value results in Service Provider-specific validations being done on the source value prior to processing.
  • Optional:
    N/A
  • Exclusive:
    If this flag value is specified, you CANNOT specify the Random method, i.e., parameter ODPP_OPR_METHOD CANNOT be specified with value ODPP_METHOD_RANDOM
  • Inclusive:
    If this flag value is specified, you MUST specify the Mask method, i.e., parameter ODPP_OPR_METHOD must be specified with value ODPP_METHOD_MASK
  • Example:
    • ODPP_OPR_FLAGS = ODPP_FLAG_VALIDATE_INPUT
#define ODPP_FLAG_IGNORE_INVALID   2
  • Use:
    When this flag value is specified, the Service Provider ignores invalid source values and sends them back in the destination buffer.
  • Description:
    Specifying this flag value will result in the Service Provider ignoring an invalid source value. The invalid source value is copied to the destination buffer.
  • Optional:
    N/A
  • Exclusive:
    If this flag value is specified, you CANNOT specify the Random method, i.e., parameter ODPP_OPR_METHOD CANNOT be specified with value ODPP_METHOD_RANDOM
  • Inclusive:
    If this flag value is specified, you MUST specify the Mask method, i.e., parameter ODPP_OPR_METHOD must be specified with value ODPP_METHOD_MASK
  • Example:
    • ODPP_OPR_FLAGS = ODPP_FLAG_IGNORE_INVALID
#define ODPP_NO_SEP   1
  • Use:
    When this parameter value is specified, the resultant values are generated without a separator.
  • Description:
    This is a common separator parameter value. A Service Provider which wants to use this value must declare a separator parameter. For example, France National ID uses the ODPP_OPR_NID_FR_SEP parameter.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_NID_FR_SEP = ODPP_NO_SEP
#define ODPP_SEP_USESOURCE   2
  • Use:
    When this parameter value is specified, the separator of the source value is used for the resultant value.
  • Description:
    This is a common separator parameter value. A Service Provider which wants to use this value must declare a separator parameter. For example, France National ID uses the ODPP_OPR_NID_FR_SEP parameter.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_NID_FR_SEP = ODPP_SEP_USESOURCE
#define ODPP_SEP_DOT   4
  • Use:
    When this parameter value is specified, the resultant values are generated with a DOT (.) separator.
  • Description:
    This is a common separator parameter value. A Service Provider which wants to use this value must declare a separator parameter. For example, France National ID uses the ODPP_OPR_NID_FR_SEP parameter.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_NID_FR_SEP = ODPP_SEP_DOT
#define ODPP_SEP_DASH   8
  • Use:
    When this parameter value is specified, the resultant values are generated with a DASH (-) separator.
  • Description:
    This is a common separator parameter value. A Service Provider which wants to use this value must declare a separator parameter. For example, France National ID uses the ODPP_OPR_NID_FR_SEP parameter.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_NID_FR_SEP = ODPP_SEP_DASH
#define ODPP_SEP_SPACE   16
  • Use:
    When this parameter value is specified, the resultant values are generated with a SPACE ( ) separator.
  • Description:
    This is a common separator parameter value. A Service Provider which wants to use this value must declare a separator parameter. For example, France National ID uses the ODPP_OPR_NID_FR_SEP parameter.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_NID_FR_SEP = ODPP_SEP_SPACE
#define ODPP_SEP_UNDERSCORE   32
  • Use:
    When this parameter value is specified, the resultant values are generated with an UNDERSCORE (_) separator.
  • Description:
    This is a common separator parameter value. A Service Provider which wants to use this value must declare a separator parameter. For example, Email Service Provider uses the ODPP_OPR_EML_SEPARATOR parameter.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Example:
    • ODPP_OPR_EML_SEPARATOR = ODPP_SEP_UNDERSCORE
#define REQUESTBASE   0x0E01
  • Use:
    This is the Base value which is used by Service Provider Information Request defines.
  • Description:
    N/A
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    N/A
  • Example:
    N/A
#define ODPP_REQ_SRC_COL_INDEX   REQUESTBASE + 0
  • Use:
    This request is used in Provider_GetInfo() to get the indices of the source columns.
  • Description:
    This Service Provider Information request is specified in parameter sRequest in the call to Provider_GetInfo(). To get the bytes required for a particular request set parameter ptr to NULL and pBufLen to a valid integer pointer in the call to Provider_GetInfo(). The bytes required will be returned in pBufLen and this memory must be allocated by the caller. ptr, which points to the allocated block of memory, is then passed as a parameter in the subsequent call to Provider_GetInfo(). The indices of the source columns stored in the service provider control block will be returned in ptr.

    Certain information requests may not be supported by all the Service Providers. If the request is not supported, the Service Provider will return a valid ODPP Error Code.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    N/A
  • Example:
    N/A
#define ODPP_REQ_DEST_COL_INDEX   REQUESTBASE + 1
  • Use:
    This request is used in Provider_GetInfo() to get the indices of the destination columns.
  • Description:
    This Service Provider Information request is specified in parameter sRequest in the call to Provider_GetInfo(). To get the bytes required for a particular request set parameter ptr to NULL and pBufLen to a valid integer pointer in the call to Provider_GetInfo(). The bytes required will be returned in pBufLen and this memory must be allocated by the caller. ptr, which points to the allocated block of memory, is then passed as a parameter in the subsequent call to Provider_GetInfo(). The indices of the destination columns stored in the service provider control block will be returned in ptr.

    Certain information requests may not be supported by all the Service Providers. If the request is not supported, the Service Provider will return a valid ODPP Error Code.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    N/A
  • Example:
    N/A
#define ODPP_REQ_DEST_DATATYPE   REQUESTBASE + 2
  • Description:
    This Service Provider Information request is specified in parameter sRequest in the call to Provider_GetInfo(). To get the bytes required for a particular request set parameter ptr to NULL and pBufLen to a valid integer pointer in the call to Provider_GetInfo(). The bytes required will be returned in pBufLen and this memory must be allocated by the caller. ptr, which points to the allocated block of memory, is then passed as a parameter in the subsequent call to Provider_GetInfo(). The destination data type stored in the service provider control block will be returned in ptr.

    Certain information requests may not be supported by all the Service Providers. If the request is not supported, the Service Provider will return a valid ODPP Error Code.
  • Optional:
    N/A
  • Exclusive:
    N/A
  • Inclusive:
    N/A
  • Specification Protocol:
    N/A
  • Example:
    N/A