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.0.0.2
8  <copyright
9 notice="rm-source-program"
10 pids="5724-I81,5725-B65,5655-Y20"
11 years="2008,2012"
12 crc="844736530" >
13 Licensed Materials - Property of IBM
14 
15 "Restricted Materials of IBM"
16 
17 5724-I81,5725-B65,5655-Y20
18 
19 (C) Copyright IBM Corp. 2008, 2012
20 
21 US Government Users Restricted Rights - Use, duplication or
22 disclosure restricted by GSA ADP Schedule Contract with
23 IBM Corp.
24 </copyright>
25 
26  Status: Version 9 Release 0
27 
28  NOTES :-
29 
30  This header file is provided with the CICS Transaction Gateway. These
31  products are available for a number of different operating environments
32  and to ensure the correct sections of this header are included, one of
33  the following constants must be defined prior to inclusion:
34 
35  CICS_W32 - if building a Windows application
36  CICS_AIX - if building an AIX application
37  CICS_SOL - if building a Solaris application
38  CICS_LNX - if building a Linux application
39  CICS_HPIT and CICS_HPUX -
40  if building an HPUX application on Itanium
41 */
48 #ifndef _CTG_ECI_H
49 #define _CTG_ECI_H
50 
51 #include "ctgclient.h"
52 #include "eci_channel.h"
53 
54 #if defined (CICS_W32) || defined(CICS_WNT)
55  #define CICSCALL __cdecl
56 #else
57  #define CICSCALL
58 #endif
59 
60 #if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
61 #if defined(CICS_AIX)
62 #pragma options align=packed
63 #elif defined(CICS_HPUX)
64 #pragma pack 1
65 #else
66 #pragma pack(1)
67 #endif
68 #endif
69 
70 /*****************************************************************************/
92 typedef struct
93 {
94  /* Values used with eci_call_type, for detailed information refer to the
95  * data field documentation for eci_call_type */
99  #define ECI_SYNC 1
100 
103  #define ECI_ASYNC 2
104 
107  #define ECI_GET_REPLY 3
108 
111  #define ECI_GET_REPLY_WAIT 4
112 
115  #define ECI_GET_SPECIFIC_REPLY 5
116 
119  #define ECI_GET_SPECIFIC_REPLY_WAIT 6
120 
156  signed short eci_call_type;
157 
161  #define ECI_PROGRAM_NAME_LENGTH 8
162 
172  char eci_program_name[ECI_PROGRAM_NAME_LENGTH];
173 
177  #define ECI_USERID_LENGTH 16
178 
181  char eci_userid[ECI_USERID_LENGTH];
182 
186  #define ECI_PASSWORD_LENGTH 16
187 
190  char eci_password[ECI_PASSWORD_LENGTH];
191 
195  #define ECI_TRANSID_LENGTH 4
196 
210  char eci_transid[ECI_TRANSID_LENGTH];
211 
215  #define ECI_ABEND_CODE_LENGTH 4
216 
221  char eci_abend_code[ECI_ABEND_CODE_LENGTH];
222 
231  void * eci_commarea;
232 
242  signed short eci_commarea_length;
243 
259  signed short eci_timeout;
260 
261  /* Values used with eci_extend_mode, for detailed information refer to the
262  * data filed documentation for eci_extend_mode */
266  #define ECI_NO_EXTEND 0
267 
270  #define ECI_EXTENDED 1
271 
274  #define ECI_COMMIT 2
275 
278  #define ECI_BACKOUT 4
279 
320  signed short eci_extend_mode;
321 
326  #define ECI_LUW_NEW 0
327 
346  signed int eci_luw_token;
347 
354  #define ECI_VERSION_2 4
355 
360  #define ECI_VERSION_2A 6
361 
370  signed short eci_version;
371 
375  #define ECI_SYSTEM_NAME_LENGTH 8
376 
386  char eci_system_name[ECI_SYSTEM_NAME_LENGTH];
387 
391  #define ECI_TPN_LENGTH 4
392 
406  char eci_tpn[ECI_TPN_LENGTH];
407 
413 
419 
427 
434  const char * eci_userid_ptr;
435 
443  const char * eci_password_ptr;
444 
458 
459 } CTG_ECI_PARMS;
460 
461 
462 /*****************************************************************************/
467 
468 
469 /*****************************************************************************/
497  CTG_ECI_PARMS *EciParms);
498 
499 
527  CTG_ECI_PARMS *EciParms);
528 
529 
545 
546 
547 /*****************************************************************************/
548 /* CICS TG ECI Return Code constants */
549 /*****************************************************************************/
553 #define ECI_NO_ERROR 0
554 
558 #define ECI_ERR_INVALID_DATA_LENGTH -1
559 
562 #define ECI_ERR_INVALID_EXTEND_MODE -2
563 
566 #define ECI_ERR_NO_CICS -3
567 
571 #define ECI_ERR_CICS_DIED -4
572 
576 #define ECI_ERR_REQUEST_TIMEOUT -5
577 
580 #define ECI_ERR_RESPONSE_TIMEOUT -6
581 
585 #define ECI_ERR_TRANSACTION_ABEND -7
586 
590 #define ECI_ERR_LUW_TOKEN -8
591 
596 #define ECI_ERR_SYSTEM_ERROR -9
597 
605 #define ECI_ERR_INVALID_CALL_TYPE -14
606 
611 #define ECI_ERR_ALREADY_ACTIVE -15
612 
617 #define ECI_ERR_RESOURCE_SHORTAGE -16
618 
622 #define ECI_ERR_NO_SESSIONS -17
623 
628 #define ECI_ERR_INVALID_DATA_AREA -19
629 
632 #define ECI_ERR_INVALID_VERSION -21
633 
636 #define ECI_ERR_UNKNOWN_SERVER -22
637 
641 #define ECI_ERR_SECURITY_ERROR -27
642 
646 #define ECI_ERR_MAX_SYSTEMS -28
647 
651 #define ECI_ERR_MAX_SESSIONS -29
652 
657 #define ECI_ERR_ROLLEDBACK -30
658 
665 #define ECI_ERR_NO_REPLY -32
666 
669 #define ECI_ERR_INVALID_MSG_QUAL -33
670 
671 #if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
672 #if defined(CICS_AIX)
673 #pragma options align=reset
674 #elif defined(CICS_HPUX) && defined(__cplusplus)
675 #pragma pack
676 #elif defined(CICS_HPUX) && defined(CICS_HPIT)
677 #pragma pack
678 #elif defined(CICS_HPUX)
679 #pragma HP_ALIGN HPUX_NATURAL
680 #else
681 #pragma pack()
682 #endif
683 #endif
684 
685 #endif /* _CTG_ECI_H */
686