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 
00007    V7.2.0.2  
00008                                        
00009    Licensed Materials - Property of IBM
00010    
00011    "Restricted Materials of IBM"
00012    
00013    5724-I81 5655-R25
00014    
00015    (c) Copyright IBM Corp. 2008 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 7 Release 2
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 */
00039 
00040 #include "ctgclient.h"
00041 
00042 #ifndef _CTG_ECI_H
00043 #define _CTG_ECI_H
00044 
00045 #if defined (CICS_W32) || defined(CICS_WNT)
00046   #define CICSCALL __cdecl
00047 #else
00048   #define CICSCALL
00049 #endif
00050 
00051 #if defined(CICS_AIX)
00052 #pragma options align=packed
00053 #elif defined(CICS_HPUX)
00054 #pragma pack 1
00055 #else
00056 #pragma pack(1)
00057 #endif
00058 
00059 /*****************************************************************************/
00081 typedef struct
00082 {
00083     /* Values used with eci_call_type, for detailed information refer to 
00084      * Field Docuementation eci_call_type */
00085    #define ECI_SYNC             1   
00086 
00091    signed short   eci_call_type;
00092 
00093    #define ECI_PROGRAM_NAME_LENGTH 8
00094 
00105    char  eci_program_name[ECI_PROGRAM_NAME_LENGTH]; 
00106 
00107    #define ECI_USERID_LENGTH       16
00108 
00110    char  eci_userid[ECI_USERID_LENGTH];        
00111 
00112    #define ECI_PASSWORD_LENGTH     16
00113 
00115    char  eci_password[ECI_PASSWORD_LENGTH];   
00116 
00117    #define ECI_TRANSID_LENGTH      4
00118 
00137    char  eci_transid[ECI_TRANSID_LENGTH];  
00138 
00139    #define ECI_ABEND_CODE_LENGTH   4
00140 
00145    char  eci_abend_code[ECI_ABEND_CODE_LENGTH]; 
00146 
00157    void *      eci_commarea;     
00158 
00170    signed short   eci_commarea_length; 
00171 
00178    signed short   eci_timeout;         
00179 
00180    /* Values used with eci_extend_mode, for detailed information refer to 
00181     * Field Docuementation eci_extend_mode */
00182    #define ECI_NO_EXTEND        0   
00183    #define ECI_EXTENDED         1 
00184    #define ECI_COMMIT           2
00185    #define ECI_BACKOUT          4 
00186 
00240    signed short   eci_extend_mode;     
00241 
00242    /* Used with eci_luw_token to request a new logical unit of work */
00243    #define  ECI_LUW_NEW 0
00244 
00266    signed int     eci_luw_token;
00267 
00268    /* ECI_VERSION_2 must be used */
00269    #define ECI_VERSION_2        3   
00270 
00274    signed short   eci_version;         
00275 
00276    #define ECI_SYSTEM_NAME_LENGTH  8 
00277 
00295    char     eci_system_name[ECI_SYSTEM_NAME_LENGTH];        
00296 
00297    #define ECI_TPN_LENGTH          4 
00298 
00312    char     eci_tpn[ECI_TPN_LENGTH];  
00313 
00318    signed short commarea_outbound_length;
00319 
00324    signed short commarea_inbound_length;  
00325 
00327    void * reserved1;      
00328 } CTG_ECI_PARMS;
00329 
00330 
00331 /*****************************************************************************/
00335 typedef CTG_ECI_PARMS *PCTG_ECI_PARMS;
00336 
00337 
00338 /*****************************************************************************/
00365 int CICSCALL CTG_ECI_Execute(CTG_ConnToken_t gwTok,
00366                              CTG_ECI_PARMS *EciParms);
00367 
00368 
00369 /*********************************************************************/
00370 /*                CICS TG ECI Return Code constants                  */
00371 /*********************************************************************/
00373 #define ECI_NO_ERROR                  0                                       
00374 
00376 #define ECI_ERR_INVALID_DATA_LENGTH  -1
00377                                        
00379 #define ECI_ERR_INVALID_EXTEND_MODE  -2                                       
00380 
00382 #define ECI_ERR_NO_CICS              -3                                       
00383 
00386 #define ECI_ERR_CICS_DIED            -4                                       
00387 
00390 #define ECI_ERR_REQUEST_TIMEOUT      -5                                       
00391 
00393 #define ECI_ERR_RESPONSE_TIMEOUT     -6                                       
00394 
00396 #define ECI_ERR_TRANSACTION_ABEND    -7                                       
00397 
00399 #define ECI_ERR_LUW_TOKEN            -8                 
00400 
00402 #define ECI_ERR_SYSTEM_ERROR         -9                                       
00403 
00405 #define ECI_ERR_INVALID_CALL_TYPE    -14                                      
00406 
00409 #define ECI_ERR_RESOURCE_SHORTAGE    -16                                      
00410 
00413 #define ECI_ERR_NO_SESSIONS          -17                                      
00414 
00416 #define ECI_ERR_INVALID_DATA_AREA    -19                                      
00417 
00419 #define ECI_ERR_INVALID_VERSION      -21                                      
00420 
00422 #define ECI_ERR_UNKNOWN_SERVER       -22                                      
00423 
00426 #define ECI_ERR_SECURITY_ERROR       -27                                      
00427 
00430 #define ECI_ERR_MAX_SYSTEMS          -28                                      
00431 
00434 #define ECI_ERR_MAX_SESSIONS         -29                                      
00435 
00439 #define ECI_ERR_ROLLEDBACK           -30                                      
00440 
00441 #if defined(CICS_AIX)
00442 #pragma options align=reset
00443 #elif defined(CICS_HPUX) && defined(__cplusplus)
00444 #pragma pack
00445 #elif defined(CICS_HPUX) && defined(CICS_HPIT)
00446 #pragma pack
00447 #elif defined(CICS_HPUX)
00448 #pragma HP_ALIGN HPUX_NATURAL
00449 #else
00450 #pragma pack()
00451 #endif
00452 
00453 #endif /* _CTG_ECI_H */
00454 

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