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

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

Product
Call-Level Interface Version 2
Release Number
15.10
Language
English (United States)
Last Update
2018-10-07
dita:id
B035-2418
lifecycle
previous
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.