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: V10.1.0.0
8  Licensed Materials - Property of IBM
9 
10  "Restricted Materials of IBM"
11 
12  5724-I81,5725-B65,5655-Y20,5655-ZA1
13 
14  (C) Copyright IBM Corp. 2008, 2024
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 10 Release 1
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 #ifdef __cplusplus
49  extern "C" {
50 #endif
51 
52 #if defined (CICS_W32) || defined(CICS_WNT)
53  #define CICSCALL __cdecl
54 #else
55  #define CICSCALL
56 #endif
57 
58 #if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
59 #if defined(CICS_AIX)
60 #pragma options align=packed
61 #elif defined(CICS_HPUX)
62 #pragma pack 1
63 #else
64 #pragma pack(1)
65 #endif
66 #endif
67 
68 /*****************************************************************************/
89 typedef struct
90 {
91  /* Values used with eci_call_type, for detailed information refer to the
92  * data field documentation for eci_call_type */
96  #define ECI_SYNC 1
97 
100  #define ECI_ASYNC 2
101 
104  #define ECI_GET_REPLY 3
105 
108  #define ECI_GET_REPLY_WAIT 4
109 
112  #define ECI_GET_SPECIFIC_REPLY 5
113 
116  #define ECI_GET_SPECIFIC_REPLY_WAIT 6
117 
153  signed short eci_call_type;
154 
158  #define ECI_PROGRAM_NAME_LENGTH 8
159 
169  char eci_program_name[ECI_PROGRAM_NAME_LENGTH];
170 
174  #define ECI_USERID_LENGTH 16
175 
178  char eci_userid[ECI_USERID_LENGTH];
179 
183  #define ECI_PASSWORD_LENGTH 16
184 
187  char eci_password[ECI_PASSWORD_LENGTH];
188 
192  #define ECI_TRANSID_LENGTH 4
193 
207  char eci_transid[ECI_TRANSID_LENGTH];
208 
212  #define ECI_ABEND_CODE_LENGTH 4
213 
218  char eci_abend_code[ECI_ABEND_CODE_LENGTH];
219 
228  void * eci_commarea;
229 
239  signed short eci_commarea_length;
240 
256  signed short eci_timeout;
257 
258  /* Values used with eci_extend_mode, for detailed information refer to the
259  * data filed documentation for eci_extend_mode */
263  #define ECI_NO_EXTEND 0
264 
267  #define ECI_EXTENDED 1
268 
271  #define ECI_COMMIT 2
272 
275  #define ECI_BACKOUT 4
276 
316  signed short eci_extend_mode;
317 
322  #define ECI_LUW_NEW 0
323 
342  signed int eci_luw_token;
343 
350  #define ECI_VERSION_2 4
351 
356  #define ECI_VERSION_2A 6
357 
366  signed short eci_version;
367 
371  #define ECI_SYSTEM_NAME_LENGTH 8
372 
383  char eci_system_name[ECI_SYSTEM_NAME_LENGTH];
384 
388  #define ECI_TPN_LENGTH 4
389 
403  char eci_tpn[ECI_TPN_LENGTH];
404 
410 
416 
424 
431  const char * eci_userid_ptr;
432 
440  const char * eci_password_ptr;
441 
455 
456 } CTG_ECI_PARMS;
457 
458 
459 /*****************************************************************************/
464 
465 
466 /*****************************************************************************/
494  CTG_ECI_PARMS *EciParms);
495 
496 
524  CTG_ECI_PARMS *EciParms);
525 
526 
542 
543 
544 /*****************************************************************************/
545 /* CICS TG ECI Return Code constants */
546 /*****************************************************************************/
550 #define ECI_NO_ERROR 0
551 
555 #define ECI_ERR_INVALID_DATA_LENGTH -1
556 
559 #define ECI_ERR_INVALID_EXTEND_MODE -2
560 
563 #define ECI_ERR_NO_CICS -3
564 
568 #define ECI_ERR_CICS_DIED -4
569 
573 #define ECI_ERR_REQUEST_TIMEOUT -5
574 
577 #define ECI_ERR_RESPONSE_TIMEOUT -6
578 
582 #define ECI_ERR_TRANSACTION_ABEND -7
583 
587 #define ECI_ERR_LUW_TOKEN -8
588 
593 #define ECI_ERR_SYSTEM_ERROR -9
594 
602 #define ECI_ERR_INVALID_CALL_TYPE -14
603 
608 #define ECI_ERR_ALREADY_ACTIVE -15
609 
614 #define ECI_ERR_RESOURCE_SHORTAGE -16
615 
619 #define ECI_ERR_NO_SESSIONS -17
620 
625 #define ECI_ERR_INVALID_DATA_AREA -19
626 
629 #define ECI_ERR_INVALID_VERSION -21
630 
633 #define ECI_ERR_UNKNOWN_SERVER -22
634 
638 #define ECI_ERR_SECURITY_ERROR -27
639 
643 #define ECI_ERR_MAX_SYSTEMS -28
644 
648 #define ECI_ERR_MAX_SESSIONS -29
649 
654 #define ECI_ERR_ROLLEDBACK -30
655 
662 #define ECI_ERR_NO_REPLY -32
663 
666 #define ECI_ERR_INVALID_MSG_QUAL -33
667 
668 #if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
669 #if defined(CICS_AIX)
670 #pragma options align=reset
671 #elif defined(CICS_HPUX) && defined(__cplusplus)
672 #pragma pack
673 #elif defined(CICS_HPUX) && defined(CICS_HPIT)
674 #pragma pack
675 #elif defined(CICS_HPUX)
676 #pragma HP_ALIGN HPUX_NATURAL
677 #else
678 #pragma pack()
679 #endif
680 #endif
681 
682 #ifdef __cplusplus
683  }
684 #endif
685 
686 #endif /* _CTG_ECI_H */