source/h/ctgclient_eci.h

Go to the documentation of this file.
00001 /*
00002    MODULE NAME        CTGCLIENT_ECI.H
00003 
00004    DESCRIPTIVE NAME   CICS Transaction Gateway ECI Version 2
00005                       Application Programming Interface, ECI Parts
00006                       SupportPac CA0B
00007 
00008    Licensed Materials - Property of IBM
00009    
00010    Supportpac CA0B
00011       
00012    (c) Copyright IBM Corp. 2011, 2012 All Rights Reserved.
00013    
00014    US Government Users Restricted Rights - Use, duplication or
00015    disclosure restricted by GSA ADP Schedule Contract with
00016    IBM Corp.
00017    
00018    NOTES :-
00019 
00020    To ensure the correct sections of this header are included, the
00021    following constant must be defined at compile time:
00022 
00023      CICS_AIX  -  if building an AIX application
00024 */
00031 #ifndef _CTG_ECI_H
00032 #define _CTG_ECI_H
00033 
00034 #include "ctgclient.h"
00035 
00036 #if defined (CICS_W32) || defined(CICS_WNT)
00037   #define CICSCALL __cdecl
00038 #else
00039   #define CICSCALL
00040 #endif
00041 
00042 #if defined(CICS_AIX)
00043 #pragma options align=packed
00044 #elif defined(CICS_HPUX)
00045 #pragma pack 1
00046 #else
00047 #pragma pack(1)
00048 #endif
00049 
00050 /*****************************************************************************/
00072 typedef struct
00073 {
00074    /* Values used with eci_call_type */
00075    #define ECI_SYNC                     1
00076    #define ECI_ASYNC                    2
00077    #define ECI_GET_REPLY                3
00078    #define ECI_GET_REPLY_WAIT           4
00079    #define ECI_GET_SPECIFIC_REPLY       5
00080    #define ECI_GET_SPECIFIC_REPLY_WAIT  6
00081 
00114    signed short   eci_call_type;
00115 
00116    #define ECI_PROGRAM_NAME_LENGTH 8
00117 
00128    char  eci_program_name[ECI_PROGRAM_NAME_LENGTH];
00129 
00130    #define ECI_USERID_LENGTH       16
00131 
00134    char  eci_userid[ECI_USERID_LENGTH];
00135 
00136    #define ECI_PASSWORD_LENGTH     16
00137 
00140    char  eci_password[ECI_PASSWORD_LENGTH];
00141 
00142    #define ECI_TRANSID_LENGTH      4
00143 
00161    char  eci_transid[ECI_TRANSID_LENGTH];
00162 
00163    #define ECI_ABEND_CODE_LENGTH   4
00164 
00169    char  eci_abend_code[ECI_ABEND_CODE_LENGTH];
00170 
00180    void *      eci_commarea;
00181 
00194    signed short   eci_commarea_length;
00195 
00202    signed short   eci_timeout;
00203 
00204    /* Values used with eci_extend_mode */
00205    #define ECI_NO_EXTEND        0
00206    #define ECI_EXTENDED         1
00207    #define ECI_COMMIT           2
00208    #define ECI_BACKOUT          4
00209 
00256    signed short   eci_extend_mode;
00257 
00258    /* Used with eci_luw_token to request a new logical unit of work */
00259    #define  ECI_LUW_NEW 0
00260 
00282    signed int     eci_luw_token;
00283 
00284    /* Values used with eci_version */
00285    #define ECI_VERSION_2        4
00286    #define ECI_VERSION_S1     100
00287 
00296    signed short   eci_version;
00297 
00298    #define ECI_SYSTEM_NAME_LENGTH  8
00299 
00314    char     eci_system_name[ECI_SYSTEM_NAME_LENGTH];
00315 
00316    #define ECI_TPN_LENGTH          4
00317 
00331    char     eci_tpn[ECI_TPN_LENGTH];
00332 
00338    signed short commarea_outbound_length;
00339 
00346    signed short commarea_inbound_length;
00347 
00361    signed int eci_message_qualifier;
00362 
00364    void * reserved1;
00365 } CTG_ECI_PARMS;
00366 
00367 
00368 /*****************************************************************************/
00372 typedef CTG_ECI_PARMS *PCTG_ECI_PARMS;
00373 
00374 
00375 /*****************************************************************************/
00402 int CICSCALL CTG_ECI_Execute(CTG_ConnToken_t gwTok,
00403                              CTG_ECI_PARMS *EciParms);
00404 
00405 
00406 
00407 /*********************************************************************/
00408 /*                CICS TG ECI Return Code constants                  */
00409 /*********************************************************************/
00413 #define ECI_NO_ERROR                  0
00414 
00420 #define ECI_ERR_INVALID_DATA_LENGTH  -1
00421 
00425 #define ECI_ERR_INVALID_EXTEND_MODE  -2
00426 
00430 #define ECI_ERR_NO_CICS              -3
00431 
00435 #define ECI_ERR_CICS_DIED            -4
00436 
00441 #define ECI_ERR_REQUEST_TIMEOUT      -5
00442 
00447 #define ECI_ERR_RESPONSE_TIMEOUT     -6
00448 
00453 #define ECI_ERR_TRANSACTION_ABEND    -7
00454 
00459 #define ECI_ERR_LUW_TOKEN            -8
00460 
00466 #define ECI_ERR_SYSTEM_ERROR         -9
00467 
00471 #define ECI_ERR_INVALID_CALL_TYPE    -14
00472 
00478 #define ECI_ERR_ALREADY_ACTIVE       -15
00479 
00485 #define ECI_ERR_RESOURCE_SHORTAGE    -16
00486 
00491 #define ECI_ERR_NO_SESSIONS          -17
00492 
00499 #define ECI_ERR_INVALID_DATA_AREA    -19
00500 
00504 #define ECI_ERR_INVALID_VERSION      -21
00505 
00509 #define ECI_ERR_UNKNOWN_SERVER       -22
00510 
00514 #define ECI_ERR_SECURITY_ERROR       -27
00515 
00520 #define ECI_ERR_MAX_SYSTEMS          -28
00521 
00526 #define ECI_ERR_MAX_SESSIONS         -29
00527 
00533 #define ECI_ERR_ROLLEDBACK           -30
00534 
00540 #define ECI_ERR_NO_REPLY             -32
00541 
00545 #define ECI_ERR_INVALID_MSG_QUAL     -33
00546 
00547 #if defined(CICS_AIX)
00548 #pragma options align=reset
00549 #elif defined(CICS_HPUX) && defined(__cplusplus)
00550 #pragma pack
00551 #elif defined(CICS_HPUX) && defined(CICS_HPIT)
00552 #pragma pack
00553 #elif defined(CICS_HPUX)
00554 #pragma HP_ALIGN HPUX_NATURAL
00555 #else
00556 #pragma pack()
00557 #endif
00558 
00559 #endif /* _CTG_ECI_H */
00560 

© Copyright IBM Corporation 2011, 2012. All rights reserved.
For legal information, see http://www.ibm.com/legal/copytrade.shtml