ECI Version 2 for C
V9.0.0.0
Main Page
Related Pages
Data Structures
Files
File List
Globals
eci_channel.h
Go to the documentation of this file.
1
/*
2
MODULE NAME eci_channel.h
3
4
DESCRIPTIVE NAME CICS Transaction Gateway ECI and ESI Version 2.3
5
Application Programming Interface, Channels and
6
Containers Parts
7
8
Service level: V9.0.0.0
9
<copyright
10
notice="rm-source-program"
11
pids="5724-I81,5725-B65,5655-Y20"
12
years="2010,2012"
13
crc="358634685" >
14
Licensed Materials - Property of IBM
15
16
"Restricted Materials of IBM"
17
18
5724-I81,5725-B65,5655-Y20
19
20
(C) Copyright IBM Corp. 2010, 2012
21
22
US Government Users Restricted Rights - Use, duplication or
23
disclosure restricted by GSA ADP Schedule Contract with
24
IBM Corp.
25
</copyright>
26
27
Status: Version 9 Release 0
28
29
NOTES :-
30
31
This header file is provided with the CICS Transaction Gateway. These
32
products are available for a number of different operating environments
33
and to ensure the correct sections of this header are included, one of
34
the following constants must be defined prior to inclusion:
35
36
CICS_W32 - if building a Windows application
37
CICS_AIX - if building an AIX application
38
CICS_SOL - if building a Solaris application
39
CICS_LNX if building a Linux application
40
CICS_HPIT and CICS_HPUX -
41
if building an HPUX application on Itanium
42
*/
49
#ifndef _ECI_CHANNEL_H
50
#define _ECI_CHANNEL_H
51
52
#include <stdlib.h>
53
54
#if defined (CICS_W32) || defined(CICS_WNT)
55
#define CICSCALL __cdecl
56
#else
57
#define CICSCALL
58
#endif
59
60
61
#if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
62
#if defined(CICS_AIX)
63
#pragma options align=packed
64
#elif defined(CICS_HPUX)
65
#pragma pack 1
66
#else
67
#pragma pack(1)
68
#endif
69
#endif
70
71
72
74
typedef
struct
_ECI_Channel_t*
ECI_ChannelToken_t
;
75
77
#define ECI_NULL_CHANNELTOKEN (ECI_ChannelToken_t) NULL
78
79
81
typedef
enum
{
82
84
ECI_BIT
= 0x01,
85
87
ECI_CHAR
= 0x02
88
89
}
ECI_CONTAINER_TYPE
;
90
91
93
typedef
struct
{
94
95
#define ECI_CONTAINERNAME_LENGTH 16
96
97
char
name[
ECI_CONTAINERNAME_LENGTH
+ 1];
98
100
ECI_CONTAINER_TYPE
type
;
101
105
int
ccsid
;
106
108
size_t
dataLength
;
109
110
}
ECI_CONTAINER_INFO
;
111
112
113
#define ECI_CHANNELNAME_LENGTH 16
114
115
157
int
CICSCALL
ECI_createChannel
(
const
char
* name,
158
ECI_ChannelToken_t
* tokPtr);
159
177
int
CICSCALL
ECI_deleteChannel
(
ECI_ChannelToken_t
* tokPtr);
178
179
191
int
CICSCALL
ECI_deleteAllChannels
();
192
193
213
int
CICSCALL
ECI_getChannelName
(
ECI_ChannelToken_t
chanTok,
214
char
* nameBuffer);
215
216
241
int
CICSCALL
ECI_getFirstContainer
(
ECI_ChannelToken_t
chanTok,
242
ECI_CONTAINER_INFO
* infoPtr);
243
244
282
int
CICSCALL
ECI_getNextContainer
(
ECI_ChannelToken_t
chanTok,
283
ECI_CONTAINER_INFO
* infoPtr);
284
285
341
int
CICSCALL
ECI_createContainer
(
ECI_ChannelToken_t
chanTok,
342
const
char
* name,
343
ECI_CONTAINER_TYPE
type,
344
const
int
ccsid,
345
const
void
* data,
346
size_t
dataLength);
347
348
366
int
CICSCALL
ECI_deleteContainer
(
ECI_ChannelToken_t
chanTok,
367
const
char
* name);
368
369
390
int
CICSCALL
ECI_getContainerInfo
(
ECI_ChannelToken_t
chanTok,
391
const
char
* name,
392
ECI_CONTAINER_INFO
* infoPtr);
393
394
427
int
CICSCALL
ECI_getContainerData
(
ECI_ChannelToken_t
chanTok,
428
const
char
* name,
429
void
* buffer,
430
size_t
length,
431
size_t
offset,
432
size_t
* bytesReadPtr);
433
434
462
int
CICSCALL
ECI_setContainerData
(
ECI_ChannelToken_t
chanTok,
463
const
char
* name,
464
const
void
* data,
465
size_t
dataLength);
466
467
469
#define ECI_NO_ERROR 0
470
472
#define ECI_ERR_INVALID_DATA_LENGTH -1
473
475
#define ECI_ERR_SYSTEM_ERROR -9
476
478
#define ECI_ERR_INVALID_CHANNEL -50
479
481
#define ECI_ERR_INVALID_NAME -51
482
484
#define ECI_ERR_NULLCHANNELPTR -52
485
487
#define ECI_ERR_CHANNELLOCKFAIL -53
488
490
#define ECI_ERR_ENDOFCONTAINERS -54
491
493
#define ECI_ERR_NULLINFOPTR -55
494
496
#define ECI_ERR_INVALID_TYPE -56
497
499
#define ECI_ERR_CONTAINER_NOTFOUND -58
500
502
#define ECI_ERR_CONTAINER_EXISTS -59
503
505
#define ECI_ERR_COMMAREA_AND_CHANNEL -60
506
508
#define ECI_ERR_NULLPTR -109
509
512
#define ECI_ERR_MEMORY_SHORTAGE -111
513
515
#define ECI_ERR_LOCKFAIL -121
516
517
518
519
#if !defined(_LP64) && !defined(__LP64__) && !defined(_WIN64) && !defined(__64BIT__)
520
#if defined(CICS_AIX)
521
#pragma options align=reset
522
#elif defined(CICS_HPUX) && defined(__cplusplus)
523
#pragma pack
524
#elif defined(CICS_HPUX) && defined(CICS_HPIT)
525
#pragma pack
526
#elif defined(CICS_HPUX)
527
#pragma HP_ALIGN HPUX_NATURAL
528
#else
529
#pragma pack()
530
#endif
531
#endif
532
533
534
#endif
/* _ECI_CHANNEL_H */
535
source
h
eci_channel.h