?? icb4b8ms.h
字號:
/* SPECTRUM: C txt off * Copyright (C) Siemens AG 1992 All Rights Reserved.Confidential * Definitions of ICCP Block4/Block 8 messages * * $Id: icb4b8msgs.h,v 1.000.1.08 1997/10/30 14:47:09 sbecchet Exp $ * * $NewRev$ * $NewRevEnd$ * * $Log: icb4b8msgs.h,v $ * Revision 1.000.1.08 1997/10/30 14:47:09 sbecchet * Add IC_DEFINE_BLOCK8_TYPE message (used in NT ICCP) EMP14423 * * Revision 1.000.1.07 1997/10/21 12:15:47 sbecchet * Add icMsgTypeCurve for Block 8 Curve object. EMP14325 * * Revision 1.000.1.06 1997/10/16 21:39:49 sbecchet * Add RemoteId and VariableName to ICCP Message Header. * Add structures for other Block 8 object messages. * Add Block4Conditions and Block8Conditions to * IC_REMOTE_STATUS message. EMP14325 * * Revision 1.000.1.05 1997/09/12 12:26:04 sbecchet * Final changes before release code cut-off. EMP13388 * * Revision 1.000.1.04 1997/09/02 16:30:29 nancyl * Fix conditional statement problem EMP13971 * * Revision 1.000.1.03 1997/08/29 19:49:51 nancyl * Changes needed to allow ICCP code to be merged into Vienna base * EMP13971 * * Revision 1.000.1.02 1997/08/26 17:19:17 sbecchet * Add new ICCP Block 4 and Block 8 functionality. EMP13388 * * Revision 1.000.1.01 1997/07/03 12:42:42 sbecchet * Additional changes for NT compatibility EMP13388 * * Revision 1.000.1.00 1997/06/18 14:53:08 sbecchet * -- revision created by srcinit -- EMP13388 * * Revision 1.000 1997/06/18 14:53:08 sbecchet * Initial revision EMP13388 * * $Logend$ * txt on- */ /*-*/#ifndef _ICB4B8MSGS_H_#define _ICB4B8MSGS_H_/*#include <glbtypes.h> */#ifndef SD_TRUE#define SD_TRUE 1 /* Function SD_TRUE value */#define SD_FALSE 0 /* Function SD_FALSE value */#endif#if SPEC_SUBSYSTEM_TREE#include <comms/DEF/icapi.h>#else /* SPEC_SUBSYSTEM_TREE */#include "icapi.h"#endif /* SPEC_SUBSYSTEM_TREE */#include "icb8t.h"#define IC_DATA_ARRAY_ALIGN 8#define IC_ALIGN_DATA(length) \ if (length % IC_DATA_ARRAY_ALIGN) \ { \ length = ((length / IC_DATA_ARRAY_ALIGN) + 1) * IC_DATA_ARRAY_ALIGN; \ }/* ---------------------------------------------------------- I C C P S D K A P I (Block 4 and Block 8 message definitions) ---------------------------------------------------------- The following "variableType" values are pre-defined: Variable Type constant Message structure C typedef ********************** *************************** IC_MSG_TYPE_TA_SEG_PRD icMsgTypeTASegPeriodic IC_MSG_TYPE_TA_PERIODIC icMsgTypeTAPeriodic IC_MSG_TYPE_TA_SEG_PRF icMsgTypeTASegProfile IC_MSG_TYPE_TA_PROFILE icMsgTypeTAProfile IC_MSG_TYPE_B8_REQUEST icMsgTypeB8Request IC_MSG_TYPE_DO_NEW icMsgTypeDONewRev IC_MSG_TYPE_DO_REVISED icMsgTypeDONewRev IC_MSG_TYPE_DO_CANCEL icMsgTypeDOCancel IC_MSG_TYPE_DO_ACTUAL icMsgTypeDOActual IC_MSG_TYPE_PL_AVAILABLE icMsgTypePLAvailable IC_MSG_TYPE_PL_UNAVAILABLE icMsgTypePLUnavailable IC_MSG_TYPE_PL_RT_STATUS_AVAIL icMsgTypePLStatusAvailable IC_MSG_TYPE_PL_RT_STATUS_UNAVAIL icMsgTypePLStatusUnavailable IC_MSG_TYPE_PL_FORECAST icMsgTypePLForecast IC_MSG_TYPE_PL_CURVE icMsgTypePLCurve IC_MSG_TYPE_GEN_DATA_REPORT icMsgTypeGeneralDataReport IC_MSG_TYPE_GEN_DATA_RESPONSE icMsgTypeGenDataResponse ICCP SDK expects the following message format from the user application and also presents received messages to the user application in this format: Message ----> +---------------------------+ | ICCP Message Header | +---------------------------+ | Message Type header | +---------------------------+ | Message Alignment Data | +---------------------------+ | Message Data | +---------------------------+ ICCP Message Header: Contains general ICCP information associated with the message. Information such as Request ID and Conditions are sent and received as individual variables in the MMS Info Report for the message. This information is the same for each type of message. Message Type header: Contains information that is specific to the message type. This header is defined to match the ICCP defined Block 4 or Block 8 object definition for the associated message type. For "simple" objects like the Device Outage object, the Message Type header contains all the message information. For "complex" objects like the Transfer Account object, the Message Type header contains the account header information. The subsequent Message Data portion of the message contains the variable length portion of the object. Message Alignment Data: For complex objects, like Transfer Account objects, this alignment data is present to insure that the message Data portion of the message begins on a double word (8 byte) boundary. Message Data: For complex objects, like Transfer Account objects, this is the variable length data like Local Reference data, Segment data, Profile data, anf Integer and Float array data. In icb4b8msgs.h, the format of this portion of the message is described in text. *//* DSI Message ID's used to exchange messages between ICCP Application *//* (ie. ICPE on Spectrum) and the User applications. */#define IC_REMOTE_STATUS_MSG 1#define IC_DATA_MSG 2#define IC_REMOTE_STATUS_REQUEST_MSG 3#define IC_BLOCK4_CONDITIONS 4#define IC_BLOCK8_CONDITIONS 5#define IC_DEFINE_BLOCK8_TYPE 6/* ICCP Blocl4/Block 8 Message Type definitions */#define IC_MSG_TYPE_UNKNOWN 0#define IC_MSG_TYPE_B4_DATA 1#define IC_MSG_TYPE_TA_SEG_PRD 2#define IC_MSG_TYPE_TA_PERIODIC 3#define IC_MSG_TYPE_TA_SEG_PRF 4#define IC_MSG_TYPE_TA_PROFILE 5#define IC_MSG_TYPE_B8_REQUEST 6#define IC_MSG_TYPE_DO_NEW 7#define IC_MSG_TYPE_DO_REVISED 8#define IC_MSG_TYPE_DO_CANCEL 9#define IC_MSG_TYPE_DO_ACTUAL 10#define IC_MSG_TYPE_PL_AVAILABLE 11#define IC_MSG_TYPE_PL_UNAVAILABLE 12#define IC_MSG_TYPE_PL_RT_STATUS_AVAIL 13#define IC_MSG_TYPE_PL_RT_STATUS_UNAVAIL 14#define IC_MSG_TYPE_PL_FORECAST 15#define IC_MSG_TYPE_PL_CURVE 16#define IC_MSG_TYPE_LAST 17#define IC_MSG_TYPE_PROJECT_DEFINED IC_MSG_TYPE_LAST + 1#define IC_MSG_TYPE_GEN_DATA_REPORT IC_MSG_TYPE_PROJECT_DEFINED#define IC_MSG_TYPE_GEN_DATA_RESPONSE IC_MSG_TYPE_PROJECT_DEFINED + 1#define IC_MSG_TYPE_PROJECT_DEFINED_LAST IC_MSG_TYPE_GEN_DATA_RESPONSE#define IC_MSG_TYPE_USER_DEFINED IC_MSG_TYPE_PROJECT_DEFINED_LAST + 1/* The RemoteStatusRequest is sent as a DSI "NULL" message *//*typedef struct icMsgTypeRemoteStatusRequest {} icMsgTypeRemoteStatusRequest;*/typedef enum icRemoteStatusType { icRemoteDown = 1, icRemoteUp, icRemoteDefined} icRemoteStatusType; typedef struct icMsgTypeRemoteStatus { icInt RemoteId;/* icInt LinkId; */ icChar RemoteName[MAX_IDENT_LEN+1];/* icChar LinkName[MAX_IDENT_LEN+1]; */ icRemoteStatusType State;/* icInt ConditionValueId; */ icChar Block4Conditions; icChar Block8Conditions;} icMsgTypeRemoteStatus;typedef struct icMsgTypeDefineBlock8 { icChar VariableName[IC_MAX_NAME_SIZE+1]; icChar TypeName[IC_MAX_NAME_SIZE+1]; icInt VariableSize; /* sizeof (C-structure) *//* The remainder of the message contains the TDL string *//* The total size of the message is: *//* sizeof(icMsgTypeDefineBlock8) + TDL string length + 1 */} icMsgTypeDefineBlock8;typedef enum icMessageClass { icRouteByDestinationId = 1, icRouteByReferenceId} icMessageClass; typedef struct icTypeMsgAlign { icInt MsgAlign1;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -