📄 icapisdk.h
字号:
/* SPECTRUM: C txt off * Copyright (C) Siemens AG 1992 All Rights Reserved.Confidential * description * * $Id: icapisdk.h,v 1.000.1.26 1997/11/06 17:13:41 tome Exp $ * * $NewRev$ * $NewRevEnd$ * * $Log: icapisdk.h,v $ * * revision 07/31/02 changes for 8 remote ar names * revision 07/09/01 additions for storing app refs in icLink; * revision 06/11/01 additions for checking ap titles * revision 08/24/00 remove initializeChannel * revision 06/13/00 additions for AXS4ICCP (infoReport) * revision 06/06/00 additions for AXS4ICCP (add chan to client read/write confs) * revision 05/22/00 additions for deleting data sets * revision 05/03/00 changes to collect statistics for AXS4ICCP * revision 04/24/00 add concludeRequestTimeout prototype * revision 04/06/99 change icGetSpace and icStrSave to use mem_chk by nav @ sisco * Revision 03/05/99 add infoReport callback fun to icVariable for * AXS4ICCP by nav @ sisco * Revision 05/13/98 modify icSetDataValue prototype by nav @ sisco * Revision 1.000.1.26 1997/11/06 17:13:41 tome * Remove definition of struct timeval on Windows NT. Get that from * windows.h. EMP14487 * * Revision 1.000.1.25 1997/10/20 23:02:40 sbecchet * Put Block defines before any other includes. EMP14325 * * Revision 1.000.1.24 1997/09/19 20:14:11 rwoodruf * Modify icSetPeerForChannel, getDataSetElement and icSetLinkForPeer * prototypes. EMP13333 * * Revision 1.000.1.23 1997/09/10 18:59:52 rwoodruf * Replace icXferGrState field with boolean enabled in icTransferGroup * record. EMP13988 * * Revision 1.000.1.22 1997/09/02 17:54:45 sbecchet * EMP13388 * More changes for new ICCP Block 4 and Block 8 functionality * * Revision 1.000.1.21 1997/06/18 14:47:54 sbecchet * Add new ICCP Block 4 and Block 8 functionality EMP13388 * * Revision 1.000.1.20 1997/05/28 21:05:06 shri * Transfered Transmit Queue Full code from NT to AIX EMP13185 * * Revision 1.000.1.19 1997/04/18 22:00:49 shri * Multi-threading changes & SISCO recomended changes EMP12885 * * Revision 1.000.1.18 1997/04/07 15:13:35 rwoodruf * Add state and report Transfer group status function fields to * icTransferGroup record. EMP11732 * * Revision 1.000.1.17 1997/03/25 23:30:07 shri * NT Changes EMP12684 * * Revision 1.000.1.16 1996/10/15 00:48:01 kevinr * EMP10968 * Added timeval struct definition to simplify port to NT. * * Revision 1.000.1.15 1996/10/14 18:45:28 dnikolic * Clear the code to solve some of the error found by lint. EMP10959 * * Revision 1.000.1.14 1996/10/10 21:37:38 kevinr * EMP9614 * Added prototypes for icSetVariableChgNotify and * icCancelVariableChgNotify. Functions used in event * notification processing. * * Revision 1.000.1.13 1996/09/30 19:53:36 bjmao * ICCP Block 8 Version 1996-08 update. EMP10569 * * Revision 1.000.1.12 1996/09/19 14:36:33 rwoodruf * Correct process of adding client message variables. EMP10376 * * Revision 1.000.1.11 1996/09/18 20:33:52 dnikolic * Added prototypes for the functions used by IC_DEBUG and IC_LOG * macros. EMP10388 * * Revision 1.000.1.10 1996/09/10 23:59:09 kevinr * EMP10251 * Moved this file from def_c to iccp/icapi. Removed several items * from this file that are unused. Moved some of the items in this * file to other include files (icsdkc.h). Added many function * prototypes. * * Revision 1.000.1.09 1996/08/01 21:54:06 kevinr * EMP9715 * Removed a TRACE macro that was commented out by a #if 0. The * macro had a reference __FILE__ which we are trying to convert * to the variable, thisFileName, in an attempt to reduce the * icapi library size. * * Revision 1.000.1.08 1996/07/29 14:53:42 kevinr * EMP8771 * Add IC_SCOPE_AA constant. * Also added definitions to define the number of entries that should * initially be allocated for the different bilaterial tables along * with a definintion for the number of additional entries that should * be allocated if the existing memory is full. * * Revision 1.000.1.07 1996/06/19 14:19:31 rwoodruf * Upgrade ICCP SDK for versions 6.0 and 1996_06. EMP8859 * * Revision 1.000.1.06 1996/06/14 15:49:12 rwoodruf * Add peerPtr parameter to MP_ABORT macro. EMP8786 * * Revision 1.000.1.05 1996/06/10 15:27:58 dnikolic * EMP8681 * Added debug level constants * * Revision 1.000.1.04 1996/05/29 22:03:43 bjmao * Add fields to keep track of supported features for * local and remote systems. Also startTime should be * long integer. EMP8551 * * Revision 1.000.1.03 1996/04/12 17:06:35 bjmao * Addition for ICCP Verions 6.0. * Add defines ICAPI_B4 and ICAPI_B8 to isolate these Blocks. EMP7684 * * Revision 1.000.1.02 1996/03/06 14:39:25 bjmao * Addition for ICCP Block 4 and Block 8 functions. EMP7086 * * Revision 1.000.1.01 1995/11/28 14:49:16 sbecchet * Upgrade ICCP Data Link for ES 3.2 EMP6020 * * Revision 1.000.1.00 1995/09/08 19:17:47 bjmao * -- revision created by srcinit -- EMP4848 * * Revision 1.000 1995/09/08 19:17:47 bjmao * Initial revision EMP4848 * * $Logend$ * txt on- */ /*-*/#ifndef _ICAPISDK_H_#define _ICAPISDK_H_/* * defines for inclusion of individual blocks */#define ICAPI_B4 #define ICAPI_B5 #ifndef AXS4ICCP#define ICAPI_B4_NEW #define ICAPI_B8#define ICAPI_B8_NEW#endif#include "icapi.h"#include "icsdkt.h"#include "icb4t.h"#include "icb8t.h"#include "sysincs.h"#include "suicacse.h"/* -- */ #define ICAPI_NAME "ICCP SDK API" /* -- various ICCP Versions -- */#define VERSION_50 1#define VERSION_51 (VERSION_50 + 1)#define VERSION_51CDV (VERSION_51 + 1)#define VERSION_52 (VERSION_51CDV + 1)#define VERSION_52CDV (VERSION_52 + 1)#define VERSION_60 (VERSION_52CDV + 1)#define VERSION_1996_04 (VERSION_60 + 1)#define VERSION_1996_08 (VERSION_1996_04 + 1)#define ICCP_VERSION_STRING "ICCP_Version"#define TASE2_VERSION_STRING "TASE2_Version"#define IC_DSTRANSFERSET_V52_TDL "{{Ubyte,Vstring32,Vstring32},(StartTime)Long,(Interval)Short,(TLE)Short,(BufferTime)Short,(IntegrityCheck)Short,(DSConditionsRequested)Bstring5,(BlockData)Bool,(Critical)Bool,(RBE)Bool,(Status)Bool}"/* Replacement defines for iccp.c when compiling for SDK.*/void icapi_abort( peerType *, char *, int );#undef IC_EXIT#undef MP_ABORT#define IC_EXIT(code) icapi_exit(code,__FILE__,__LINE__)#define MP_ABORT(ptr) icapi_abort(ptr,__FILE__,__LINE__)/* -- Scope overloading for direct use of icDefineVariable() -- */#define IC_SCOPE_SERVER_VMD IC_SCOPE_VMD#define IC_SCOPE_SERVER_DOMAIN IC_SCOPE_DOMAIN#define IC_SCOPE_CLIENT IC_SCOPE_MAX + 10#define IC_SCOPE_CLIENT_VMD IC_SCOPE_VMD + IC_SCOPE_CLIENT#define IC_SCOPE_CLIENT_DOMAIN IC_SCOPE_DOMAIN + IC_SCOPE_CLIENT/* -- Scope overloading for direct use of icDefineClientAccount() -- */#define IC_CLIENT_MSG (1+IC_SCOPE_CLIENT_DOMAIN)#define IC_CLIENT_ACCOUNT (1+IC_CLIENT_MSG)/* -- define new scope constant for associationVariables (AA), *//* -- used on calls to icNewVarsOnRemotes. */#define IC_SCOPE_AA (1+IC_CLIENT_ACCOUNT)#define DEBUGlevel(x) (icTraceLevel>=(x)) /* SDK interim def */#ifndef booleantypedef unsigned char boolean ; #endif#define IC_MAX_AVAIL_CHANNELS 100 #define IC_MAX_ASN1_SIZE 300 #define IC_API_TGRP_SENTINEL_SZ 8 #define IC_API_TGRP_SENTINEL "API TGRP"/* #define DEBUG_NOW */#define PRINTF printftypedef struct _iclocal_ { /* -- Information passed in by user application -- */ icChar *localCCName ; icInt maxTransferSets ; icInt maxDataSets ; icInt maxMMSMsgSize ; } icLocal ; typedef struct _icLink_ { /* -- Information passed in by user application -- */ icRemoteId remoteId ; icInt channelNumber ; icChar *localARName ; icChar **remoteARNames; /* Pointer to an array of pointers to remote AR names */ icInt numRemoteARNames; /* number or elements in array 8 max */ icInt criticalDataTimeout ; icInt maxTransmitDelay ; icUserData userData ; /* -- Information created and maintained by API -- */ icInt serial_number ; /* Unique for each remote structure */ icBoolean linkActive ; /* If True, THIS link is started */ void (*remoteVariableType)(icLinkId,icInt,icInt,icChar *, /* */ icInt,icTypeId,icChar *); /* */ void (*remoteVariableNames)(icLinkId,icInt,icInt, icInt,char **,icBoolean); peerType *peer ; /* ptr to 'peer' struct for this link */ bilateralTableType *linkAAVariables; /* Association scope variables */ bilateralTableType *linkClientTAVariables; /* link specific Client Account variables */ bilateralTableType *linkClientMsgVariables; /* link specific Client Message variables */ icBoolean startupB4; /* if TRUE, enable IM_Transfer_Set */ icBoolean IMTransferWrite;/* TRUE if writing to IMTransferSet*/ icBoolean startupB8; /* if TRUE, enable TA_Transfer_Set */ icBoolean TATransferWrite;/* TRUE if writing to TATransferSet*/ icBoolean requestAccountWrite;/* TRUE if writing to request TA account*/ icTimerId typeTimer; /* timeout handles */ icTimerId nameTimer; /* timeout handles */ icBoolean bUseApTitle; APP_REF locAppRef; APP_REF *remAppRefs; /* an array of apprefs */ struct icLink *next ; /* ptr to next link (if defined) or NULL */} icLink ; typedef struct _icremote_ { /* -- Information passed in by user application -- */ icChar *remoteCCName ; icInt remoteType ; icInt iccpVersion ; icUShort localFeatures ; icUShort peerFeatures ; icChar *bilateralTableId ; icBoolean initiateAssociation ; icInt associationRequestTimeout ; icInt associationRequestRetry ; icInt replyTimeout ; icInt shortestPeriodicInterval ; icBoolean requestRemoteIdentity ; icBoolean serverDataSets ; icUserData userData ; /* -- Information created and maintained by API -- */ icBoolean remoteStarted ; /* TRUE, if icStartRemote was done */ icInt serial_number ; /* Unique for each remote structure */ icInt linksActive;/* No. of 'operational' links for this remote*/ icInt linkCount ; /* No. of defined links for this remote */ icLink *link ; /* ptr to 1st link structure (in chain) */ void (*linkup) (icLinkId,icUserData); /* icStartRemote() */ void (*linkdown)(icLinkId,icUserData); /* icStartRemote() */ void (*linkUpEx)(icLinkId,icChar*,icUserData); void (*linkDownEx)(icLinkId,icChar*,icUserData); void (*remoteStopped)(icRemoteId,icUserData);/* icStopRemote() */ peerType *peer ; /* ptr to master controlling 'peer' data */ struct icRemote *next ; /* ptr to next remote (housekeeping only) */} icRemote ; typedef struct _ictype_ { /* -- Information created and maintained by API -- */ icTypeId typeid ; /* 'handle' returned by 'icDefineType' */ /* (could save user TDL string here, but we recreate from asn.1 anytime) */ struct icType *next ; /* ptr to next structure in chain */ } icType ;typedef struct _icvariable_ { /* -- Information created and maintained by API -- */ icShort Ctype ; /* 'C'ommon type field used in iccp.c */ /* -- Information passed in by user application -- */ icChar *variableName; /* this must follow 'Ctype' ! */ icInt variableScope; icInt variableType;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -