ctgclient.h
Go to the documentation of this file.
1 /*
2  MODULE NAME ctgclient.h
3 
4  DESCRIPTIVE NAME CICS Transaction Gateway ECI and ESI Version 2.3
5  Application Programming Interface
6 
7  Service level: V9.1.0.4
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. 2010, 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 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 _CTGCLIENT_H
43 #define _CTGCLIENT_H
44 
45 /* Include stddef.h for size_t type definition */
46 #include <stddef.h>
47 
48 /* Ensure that a platform definition has been defined */
49 #if !(defined(CICS_W32) || defined(CICS_WNT) || defined(CICS_AIX) || \
50  defined(CICS_SOL) || defined(CICS_HPUX) || defined(CICS_LNX) )
51  #error Compiler symbol CICS_xxx is not defined (where XXX is one of W32, AIX, SOL, HPUX or LNX)
52 #endif
53 
54 #if defined (CICS_W32) || defined(CICS_WNT)
55  #define CICSCALL __cdecl
56 #else
57  #define CICSCALL
58 #endif
59 /*********************************************************************/
60 /* CICS TG ECI Version 2 General constants */
61 /*********************************************************************/
66 #define CTG_API_VERSION "2.3.0.0"
67 
72 #define CTG_DLL_VERSION "9.1.0.4"
73 
76 #define CTG_MAX_RCSTRING 40
77 
79 #define CTG_NULL_GWTOK NULL
80 
81 
82 
83 /*********************************************************************/
84 /* CICS TG ECI and ESI Version 2 Connection functions */
85 /*********************************************************************/
90 typedef struct _CTG_ConnToken_t * CTG_ConnToken_t;
91 
134 int CICSCALL CTG_openRemoteGatewayConnection(char * address,
135  int port,
136  CTG_ConnToken_t * gwTokPtr,
137  int connTimeout);
189  int port,
190  CTG_ConnToken_t * gwTokPtr,
191  int connTimeout,
192  char * applid,
193  char * applidQualifier);
194 
224 
260  int closeTimeout);
261 
280 
281 
282 /*********************************************************************/
283 /* CICS TG ECI and ESI Version 2 Utility functions */
284 /*********************************************************************/
285 
306 int CICSCALL CTG_getAPITraceLevel(int * traceStatePtr);
307 
336 int CICSCALL CTG_setAPITraceLevel(int traceState);
337 
364 int CICSCALL CTG_setAPITraceFile(char * traceFileNamePtr);
365 
382 void CICSCALL CTG_setAPITraceDataLength(size_t dataLength);
383 
400 void CICSCALL CTG_setAPITraceDataOffset(size_t dataOffset);
401 
415 int CICSCALL CTG_dumpState();
416 
425 char * CICSCALL CTG_getRcString(int returnCode, char * rcString);
426 
449 int CICSCALL CTG_getAPIVersion(char ** apiVersPtr);
450 
464 int CICSCALL CTG_getDLLVersion(char ** dllVersPtr);
465 
481 int CICSCALL CTG_getApplid(CTG_ConnToken_t gwTok, char ** applid);
482 
499 int CICSCALL CTG_getApplidQualifier(CTG_ConnToken_t gwTok, char ** applidQualifier);
500 /*****************************************************************************/
508 typedef struct
509 {
510  /* Length of SystemName */
511  #define CTG_LIST_SYSTEM_LENGTH 8
512 
517  char SystemName[CTG_LIST_SYSTEM_LENGTH+1];
518 
519  /* Length of the Description */
520  #define CTG_LIST_DESCRIPTION_LENGTH 60
521 
527  char Description[CTG_LIST_DESCRIPTION_LENGTH+1];
529 
530 /*****************************************************************************/
562  unsigned short *Systems,
563  CTG_listSystem_t *List);
564 
565 /*********************************************************************/
566 /* CICS TG ECI and ESI Version 2 Return Code constants */
567 /*********************************************************************/
571 #define CTG_OK 0
572 
575 #define CTG_ERR_INVALID_DATA_LENGTH -1
576 
581 #define CTG_ERR_SYSTEM_ERROR -9
582 
586 #define CTG_ERR_MORE_SYSTEMS -25
587 
590 #define CTG_ERR_NO_SYSTEMS -26
591 
594 #define CTG_ERR_NULLGWTOK -100
595 
599 #define CTG_ERR_BADGWTOK -101
600 
603 #define CTG_ERR_LOSTGWCON -102
604 
607 #define CTG_ERR_NULLPARM -103
608 
611 #define CTG_ERR_TRACELEVEL -104
612 
616 #define CTG_ERR_BADPORT -107
617 
620 #define CTG_ERR_NULLGWTOKPTR -108
621 
624 #define CTG_ERR_NULLPTR -109
625 
630 #define CTG_ERR_MALLOCFAIL -111
631 
634 #define CTG_ERR_BADGWTOKLIST -115
635 
638 #define CTG_ERR_CONNECTFAILED -118
639 
642 #define CTG_ERR_ICONV -120
643 
646 #define CTG_ERR_LOCKFAIL -121
647 
650 #define CTG_ERR_COMMSFAIL -122
651 
654 #define CTG_ERR_PIDMISMATCH -123
655 
658 #define CTG_ERR_TIDMISMATCH -124
659 
662 #define CTG_ERR_TRACEFILE -130
663 
666 #define CTG_ERR_BADHOST -132
667 
670 #define CTG_ERR_NULLADDRESS -133
671 
674 #define CTG_ERR_CONNECTTIMEOUT -134
675 
678 #define CTG_ERR_NULLECIPOINTER -137
679 
682 #define CTG_ERR_INVALIDTIMEOUTPARM -138
683 
687 #define CTG_ERR_APPLIDTOOLONG -139
688 
692 #define CTG_ERR_GWTOK_CLOSED -140
693 
696 #define CTG_ERR_UNKNOWN_REQUEST_TYPE 0xF002
697 
701 #define CTG_ERR_GATEWAY_CLOSED 0xF004
702 
706 #define CTG_ERR_WORK_WAS_REFUSED 0xF005
707 
712 #define CTG_ERR_GATEWAY_EXCEPTION 0xF006
713 
716 #define CTG_ERR_NOT_AUTHORIZED 0xF007
717 
721 #define CTG_ERR_GATEWAY_BACK_LEVEL 0xF00A
722 
727 #define CTG_ERR_INVALID_REQUEST_TYPE 0xF00B
728 
729 /*********************************************************************/
730 /* CICS TG ECI and ESI Version 2 Trace constants */
731 /*********************************************************************/
735 #define CTG_TRACE_LEVEL0 0
736 
739 #define CTG_TRACE_LEVEL1 1
740 
744 #define CTG_TRACE_LEVEL2 2
745 
749 #define CTG_TRACE_LEVEL3 3
750 
754 #define CTG_TRACE_LEVEL4 4
755 
756 
757 #endif /* ifndef _CTGCLIENT_H */
758 
759 /* Doxygen index page */
760