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