Using the New Element Structure - Call-Level Interface Version 2

Teradata® Call-Level Interface Version 2 Reference for Workstation-Attached Systems - 20.00

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
Lake
VMware
Product
Call-Level Interface Version 2
Release Number
20.00
Published
January 2024
ft:locale
en-US
ft:lastEdition
2024-11-15
dita:mapPath
bmn1691484839905.ditamap
dita:ditavalPath
obe1474387269547.ditaval
dita:id
fvz1470444150352
lifecycle
latest
Product Category
Teradata Tools and Utilities

Level field 'd8xiLvl' in the extension header (D8CAIRX) should be set to 1 and eyecatcher should be set to "IRX8". This will completely eliminate the old element structure and all elements in the extension must be in the new format (if the level field set to zero, elements defined to work in 32-bit mode and 64-bit mode becomes effective). The two new element structures can be used to deliver both APH and Non APH parcels to CLI. These are compatible for both 32 and 64 bit modes.

typedef struct D8XIELEM {
    UInt16  d8xieLen;        /* Length of element               */
    UInt16  d8xieTyp;        /* Type of element                 */
                             /* 0 - Use of non APH              */
                             /* 1 - Use APH                     */
} D8XIELEM;
typedef struct D8XIEP {
    UInt16    d8xiepF;       /* Parcel flavor                  */
    UInt16    d8xiepR1;      /* Reserved: must be zero         */
    UInt32    d8xiepLn;      /* Length of body                 */
                             /* if d8xiepPt NULL               */
                             /*  set d8xiepLn to 0             */
                             /* else                           */
                             /*  set d8xiepLn to body length   */
    Byte      d8xiepA[4];    /* Reserved: must be zero         */
#ifdef CLI_64BIT
    Byte      d8xiepP4[4];   /* Reserved: must be zero         */
#else
    char*   d8xiepPt ;       /* Pointer to body,if not inline  */
#endif
#ifdef CLI_64BIT
    char*    d8xiepPt;       /* Pointer to body,if not inline  */
#else
   Byte    d8xiepP8[8];      /* Reserved: must be zero         */
#endif
Byte   d8xiepL8[8];          /* Reserved: must be zero         */
} D8XIEP;
The new element allows the parcel body to either be inline or pointed to.