ctgclient_eci.h
Go to the documentation of this file.
1 /*
2  MODULE NAME ctgclient_eci.h
3 
4  DESCRIPTIVE NAME CICS Transaction Gateway ECI and ESI Version 2.3
5  Application Programming Interface, ECI Parts
6 
7  Service level: V9.2.0.2
8  Licensed Materials - Property of IBM
9 
10  "Restricted Materials of IBM"
11 
12  5724-I81,5725-B65,5655-Y20
13 
14  (C) Copyright IBM Corp. 2008, 2014
15 
16  US Government Users Restricted Rights - Use, duplication or
17  disclosure restricted by GSA ADP Schedule Contract with
18  IBM Corp.
19 
20  Status: Version 9 Release 2
21 
22  NOTES :-
23 
24  This header file is provided with the CICS Transaction Gateway. These
25  products are available for a number of different operating environments
26  and to ensure the correct sections of this header are included, one of
27  the following constants must be defined prior to inclusion:
28 
29  CICS_W32 - if building a Windows application
30  CICS_AIX - if building an AIX application
31  CICS_SOL - if building a Solaris application
32  CICS_LNX - if building a Linux application
33  CICS_HPIT and CICS_HPUX -
34  if building an HPUX application on Itanium
35 */
42 #ifndef _CTG_ECI_H
43 #define _CTG_ECI_H
44 
45 #include "ctgclient.h"
46 #include "eci_channel.h"
47 
48 #if defined (CICS_W32) || defined(CICS_WNT)
49  #define CICSCALL __cdecl
50 #else
51  #define CICSCALL
52 #endif
53 
54 #if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
55 #if defined(CICS_AIX)
56 #pragma options align=packed
57 #elif defined(CICS_HPUX)
58 #pragma pack 1
59 #else
60 #pragma pack(1)
61 #endif
62 #endif
63 
64 /*****************************************************************************/
85 typedef struct
86 {
87  /* Values used with eci_call_type, for detailed information refer to the
88  * data field documentation for eci_call_type */
92  #define ECI_SYNC 1
93 
96  #define ECI_ASYNC 2
97 
100  #define ECI_GET_REPLY 3
101 
104  #define ECI_GET_REPLY_WAIT 4
105 
108  #define ECI_GET_SPECIFIC_REPLY 5
109 
112  #define ECI_GET_SPECIFIC_REPLY_WAIT 6
113 
149  signed short eci_call_type;
150 
154  #define ECI_PROGRAM_NAME_LENGTH 8
155 
165  char eci_program_name[ECI_PROGRAM_NAME_LENGTH];
166 
170  #define ECI_USERID_LENGTH 16
171 
174  char eci_userid[ECI_USERID_LENGTH];
175 
179  #define ECI_PASSWORD_LENGTH 16
180 
183  char eci_password[ECI_PASSWORD_LENGTH];
184 
188  #define ECI_TRANSID_LENGTH 4
189 
203  char eci_transid[ECI_TRANSID_LENGTH];
204 
208  #define ECI_ABEND_CODE_LENGTH 4
209 
214  char eci_abend_code[ECI_ABEND_CODE_LENGTH];
215 
224  void * eci_commarea;
225 
235  signed short eci_commarea_length;
236 
252  signed short eci_timeout;
253 
254  /* Values used with eci_extend_mode, for detailed information refer to the
255  * data filed documentation for eci_extend_mode */
259  #define ECI_NO_EXTEND 0
260 
263  #define ECI_EXTENDED 1
264 
267  #define ECI_COMMIT 2
268 
271  #define ECI_BACKOUT 4
272 
312  signed short eci_extend_mode;
313 
318  #define ECI_LUW_NEW 0
319 
338  signed int eci_luw_token;
339 
346  #define ECI_VERSION_2 4
347 
352  #define ECI_VERSION_2A 6
353 
362  signed short eci_version;
363 
367  #define ECI_SYSTEM_NAME_LENGTH 8
368 
379  char eci_system_name[ECI_SYSTEM_NAME_LENGTH];
380 
384  #define ECI_TPN_LENGTH 4
385 
399  char eci_tpn[ECI_TPN_LENGTH];
400 
406 
412 
420 
427  const char * eci_userid_ptr;
428 
436  const char * eci_password_ptr;
437 
451 
452 } CTG_ECI_PARMS;
453 
454 
455 /*****************************************************************************/
460 
461 
462 /*****************************************************************************/
490  CTG_ECI_PARMS *EciParms);
491 
492 
520  CTG_ECI_PARMS *EciParms);
521 
522 
538 
539 
540 /*****************************************************************************/
541 /* CICS TG ECI Return Code constants */
542 /*****************************************************************************/
546 #define ECI_NO_ERROR 0
547 
551 #define ECI_ERR_INVALID_DATA_LENGTH -1
552 
555 #define ECI_ERR_INVALID_EXTEND_MODE -2
556 
559 #define ECI_ERR_NO_CICS -3
560 
564 #define ECI_ERR_CICS_DIED -4
565 
569 #define ECI_ERR_REQUEST_TIMEOUT -5
570 
573 #define ECI_ERR_RESPONSE_TIMEOUT -6
574 
578 #define ECI_ERR_TRANSACTION_ABEND -7
579 
583 #define ECI_ERR_LUW_TOKEN -8
584 
589 #define ECI_ERR_SYSTEM_ERROR -9
590 
598 #define ECI_ERR_INVALID_CALL_TYPE -14
599 
604 #define ECI_ERR_ALREADY_ACTIVE -15
605 
610 #define ECI_ERR_RESOURCE_SHORTAGE -16
611 
615 #define ECI_ERR_NO_SESSIONS -17
616 
621 #define ECI_ERR_INVALID_DATA_AREA -19
622 
625 #define ECI_ERR_INVALID_VERSION -21
626 
629 #define ECI_ERR_UNKNOWN_SERVER -22
630 
634 #define ECI_ERR_SECURITY_ERROR -27
635 
639 #define ECI_ERR_MAX_SYSTEMS -28
640 
644 #define ECI_ERR_MAX_SESSIONS -29
645 
650 #define ECI_ERR_ROLLEDBACK -30
651 
658 #define ECI_ERR_NO_REPLY -32
659 
662 #define ECI_ERR_INVALID_MSG_QUAL -33
663 
664 #if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
665 #if defined(CICS_AIX)
666 #pragma options align=reset
667 #elif defined(CICS_HPUX) && defined(__cplusplus)
668 #pragma pack
669 #elif defined(CICS_HPUX) && defined(CICS_HPIT)
670 #pragma pack
671 #elif defined(CICS_HPUX)
672 #pragma HP_ALIGN HPUX_NATURAL
673 #else
674 #pragma pack()
675 #endif
676 #endif
677 
678 #endif /* _CTG_ECI_H */