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.1
00005                       Application Programming Interface, ECI Parts
00006 
00007    Service level: V8.0.0.1  
00008                                              
00009    Licensed Materials - Property of IBM
00010    
00011    "Restricted Materials of IBM"
00012    
00013    5724-I81 5725-B65 5655-W10
00014    
00015    (c) Copyright IBM Corp. 2008, 2010 All Rights Reserved.
00016    
00017    US Government Users Restricted Rights - Use, duplication or
00018    disclosure restricted by GSA ADP Schedule Contract with
00019    IBM Corp.
00020    
00021    Status: Version 8 Release 0
00022                                            
00023 
00024    NOTES :-
00025 
00026    This header file is provided with the CICS Transaction Gateway. These
00027    products are available for a number of different operating environments
00028    and to ensure the correct sections of this header are included, one of
00029    the following constants must be defined prior to inclusion:
00030 
00031      CICS_W32  -  if building a Windows application
00032      CICS_AIX  -  if building an AIX application
00033      CICS_SOL  -  if building a Solaris application
00034      CICS_HPUX -  if building an HPUX application
00035      CICS_LNX     if building a Linux application
00036      CICS_HPIT and CICS_HPUX -
00037                   if building an HPUX application on Itanium
00038 */
00045 #ifndef _CTG_ECI_H
00046 #define _CTG_ECI_H
00047 
00048 #include "ctgclient.h"
00049 #include "eci_channel.h"
00050 
00051 #if defined (CICS_W32) || defined(CICS_WNT)
00052   #define CICSCALL __cdecl
00053 #else
00054   #define CICSCALL
00055 #endif
00056 
00057 #if defined(CICS_AIX)
00058 #pragma options align=packed
00059 #elif defined(CICS_HPUX)
00060 #pragma pack 1
00061 #else
00062 #pragma pack(1)
00063 #endif
00064 
00065 /*****************************************************************************/
00088 typedef struct
00089 {
00090     /* Values used with eci_call_type, for detailed information refer to
00091      * Field Docuementation eci_call_type */
00092    #define ECI_SYNC             1
00093 
00098    signed short   eci_call_type;
00099 
00100    #define ECI_PROGRAM_NAME_LENGTH 8
00101 
00112    char  eci_program_name[ECI_PROGRAM_NAME_LENGTH];
00113 
00114    #define ECI_USERID_LENGTH       16
00115 
00117    char  eci_userid[ECI_USERID_LENGTH];
00118 
00119    #define ECI_PASSWORD_LENGTH     16
00120 
00122    char  eci_password[ECI_PASSWORD_LENGTH];
00123 
00124    #define ECI_TRANSID_LENGTH      4
00125 
00144    char  eci_transid[ECI_TRANSID_LENGTH];
00145 
00146    #define ECI_ABEND_CODE_LENGTH   4
00147 
00152    char  eci_abend_code[ECI_ABEND_CODE_LENGTH];
00153 
00164    void *      eci_commarea;
00165 
00179    signed short   eci_commarea_length;
00180 
00187    signed short   eci_timeout;
00188 
00189    /* Values used with eci_extend_mode, for detailed information refer to
00190     * Field Docuementation eci_extend_mode */
00191    #define ECI_NO_EXTEND        0
00192    #define ECI_EXTENDED         1
00193    #define ECI_COMMIT           2
00194    #define ECI_BACKOUT          4
00195 
00249    signed short   eci_extend_mode;
00250 
00251    /* Used with eci_luw_token to request a new logical unit of work */
00252    #define  ECI_LUW_NEW 0
00253 
00275    signed int     eci_luw_token;
00276 
00277    /* ECI_VERSION_2 must be used */
00278    #define ECI_VERSION_2        4
00279 
00283    signed short   eci_version;
00284 
00285    #define ECI_SYSTEM_NAME_LENGTH  8
00286 
00303    char     eci_system_name[ECI_SYSTEM_NAME_LENGTH];
00304 
00305    #define ECI_TPN_LENGTH          4
00306 
00320    char     eci_tpn[ECI_TPN_LENGTH];
00321 
00326    signed short commarea_outbound_length;
00327 
00332    signed short commarea_inbound_length;
00333 
00339    ECI_ChannelToken_t channel;
00340 } CTG_ECI_PARMS;
00341 
00342 
00343 /*****************************************************************************/
00347 typedef CTG_ECI_PARMS *PCTG_ECI_PARMS;
00348 
00349 
00350 /*****************************************************************************/
00378 int CICSCALL CTG_ECI_Execute(CTG_ConnToken_t gwTok,
00379                              CTG_ECI_PARMS *EciParms);
00380 
00381 
00409 int CICSCALL CTG_ECI_Execute_Channel(CTG_ConnToken_t gwTok,
00410                                      CTG_ECI_PARMS *EciParms);
00411 
00412 
00428 int CICSCALL CTG_ECI_dumpChannels();
00429 
00430 
00431 /*********************************************************************/
00432 /*                CICS TG ECI Return Code constants                  */
00433 /*********************************************************************/
00435 #define ECI_NO_ERROR                  0
00436 
00438 #define ECI_ERR_INVALID_DATA_LENGTH  -1
00439 
00441 #define ECI_ERR_INVALID_EXTEND_MODE  -2
00442 
00444 #define ECI_ERR_NO_CICS              -3
00445 
00448 #define ECI_ERR_CICS_DIED            -4
00449 
00452 #define ECI_ERR_REQUEST_TIMEOUT      -5
00453 
00455 #define ECI_ERR_RESPONSE_TIMEOUT     -6
00456 
00458 #define ECI_ERR_TRANSACTION_ABEND    -7
00459 
00461 #define ECI_ERR_LUW_TOKEN            -8
00462 
00464 #define ECI_ERR_SYSTEM_ERROR         -9
00465 
00467 #define ECI_ERR_INVALID_CALL_TYPE    -14
00468 
00471 #define ECI_ERR_RESOURCE_SHORTAGE    -16
00472 
00475 #define ECI_ERR_NO_SESSIONS          -17
00476 
00478 #define ECI_ERR_INVALID_DATA_AREA    -19
00479 
00481 #define ECI_ERR_INVALID_VERSION      -21
00482 
00484 #define ECI_ERR_UNKNOWN_SERVER       -22
00485 
00488 #define ECI_ERR_SECURITY_ERROR       -27
00489 
00492 #define ECI_ERR_MAX_SYSTEMS          -28
00493 
00496 #define ECI_ERR_MAX_SESSIONS         -29
00497 
00501 #define ECI_ERR_ROLLEDBACK           -30
00502 
00503 #if defined(CICS_AIX)
00504 #pragma options align=reset
00505 #elif defined(CICS_HPUX) && defined(__cplusplus)
00506 #pragma pack
00507 #elif defined(CICS_HPUX) && defined(CICS_HPIT)
00508 #pragma pack
00509 #elif defined(CICS_HPUX)
00510 #pragma HP_ALIGN HPUX_NATURAL
00511 #else
00512 #pragma pack()
00513 #endif
00514 
00515 #endif /* _CTG_ECI_H */
00516 

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