home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
hnofapi.zip
/
WINNOF.H
< prev
Wrap
C/C++ Source or Header
|
2002-03-19
|
461KB
|
9,931 lines
/**INC+***********************************************************************/
/* Header: winnof.h */
/* */
/* Purpose: Defines types and macros used by the NOF API */
/* */
/* Dependencies: */
/* */
/* Invocation: */
/* #include <winnof.h> */
/* */
/* Copyright Notice: */
/* (C) COPYRIGHT IBM CORP. 1996 - PROGRAM PROPERTY OF IBM */
/* ALL RIGHTS RESERVED */
/* */
/* $Revision:: 1.48 $$Modtime:: 15 Jun 1999 17:31:12 $*/
/**INC-***********************************************************************/
/*****************************************************************************/
/* If winnof.h not already included then define NOF_C_INCLUDED to avoid it */
/* being included again */
/*****************************************************************************/
#ifndef NOF_C_INCLUDED
#define NOF_C_INCLUDED
/*****************************************************************************/
/* Include common return code and parmeter definitions */
/*****************************************************************************/
#include <winrc.h>
#include <winparms.h>
/*****************************************************************************/
/* Define this header file to be C if this is inluded by a C++ source file */
/*****************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************/
/* For Win32 environment: */
/* - ensure correct packing */
/* - remove references to far */
/*****************************************************************************/
#pragma pack(4)
#define far
/*****************************************************************************/
/* Operation Codes */
/*****************************************************************************/
/*****************************************************************************/
/* Verbs used to define or change resources */
/*****************************************************************************/
#define AP_DEFINE_ADJACENT_LEN_NODE 0x2064
#define AP_DEFINE_ADJACENT_NODE 0x2071
#define AP_DEFINE_CN 0x2038
#define AP_DEFINE_COS 0x2053
#define AP_DEFINE_DEFAULT_PU 0x300C
#define AP_DEFINE_DEFAULTS 0x0015
#define AP_DEFINE_DLC 0x2039
#define AP_DEFINE_DLUR_DEFAULTS 0x6001
#define AP_DEFINE_FOCAL_POINT 0x300B
#define AP_DEFINE_INTERNAL_PU 0x6000
#define AP_DEFINE_LOCAL_LU 0x0021
#define AP_DEFINE_LS 0x2040
#define AP_DEFINE_LU62_TIMEOUT 0x0064
#define AP_DEFINE_LU_0_TO_3 0x5000
#define AP_DEFINE_LU_0_TO_3_RANGE 0x5001
#define AP_DEFINE_LU_POOL 0x5004
#define AP_DEFINE_MODE 0x0039
#define AP_DEFINE_PARTNER_LU 0x0037
#define AP_DEFINE_PORT 0x2041
#define AP_DEFINE_RTP_TUNING 0x2080
#define AP_DEFINE_TP 0x0030
#define AP_DEFINE_CPIC_SIDE_INFO 0x2062
#define AP_DEFINE_ISR_STATS 0x2073
#ifdef PU_CONC_SUPPORTED
#define AP_DEFINE_DOWNSTREAM_LU 0x5006
#define AP_DEFINE_DOWNSTREAM_LU_RANGE 0x5007
#endif
/*****************************************************************************/
/* Verbs used to delete resources */
/*****************************************************************************/
#define AP_DELETE_ADJACENT_LEN_NODE 0x2065
#define AP_DELETE_ADJACENT_NODE 0x2072
#define AP_DELETE_CN 0x2042
#define AP_DELETE_COS 0x2054
#define AP_DELETE_DLC 0x2043
#define AP_DELETE_FOCAL_POINT 0x300F
#define AP_DELETE_INTERNAL_PU 0x6004
#define AP_DELETE_LOCAL_LU 0x0044
#define AP_DELETE_LS 0x2044
#define AP_DELETE_LU62_TIMEOUT 0x0065
#define AP_DELETE_LU_0_TO_3 0x5002
#define AP_DELETE_LU_0_TO_3_RANGE 0x5003
#define AP_DELETE_LU_POOL 0x5005
#define AP_DELETE_MODE 0x003F
#define AP_DELETE_PARTNER_LU 0x003E
#define AP_DELETE_PORT 0x2045
#define AP_DELETE_TP 0x0031
#define AP_DELETE_CPIC_SIDE_INFO 0x2063
#ifdef PU_CONC_SUPPORTED
#define AP_DELETE_DOWNSTREAM_LU 0x5008
#define AP_DELETE_DOWNSTREAM_LU_RANGE 0x5009
#define AP_DEFINE_DSPU_TEMPLATE 0x500A
#define AP_DELETE_DSPU_TEMPLATE 0x500B
#define AP_DEACTIVATE_LU_0_TO_3 0x500C
#endif
/*****************************************************************************/
/* Verbs used to activate or deactivate resources */
/*****************************************************************************/
#define AP_START_DLC 0x2031
#define AP_START_LS 0x2033
#define AP_START_PORT 0x2034
#define AP_STOP_DLC 0x2035
#define AP_STOP_LS 0x2036
#define AP_STOP_PORT 0x2037
#define AP_START_INTERNAL_PU 0x6002
#define AP_STOP_INTERNAL_PU 0x6003
/*****************************************************************************/
/* Verbs used at session level */
/*****************************************************************************/
#define AP_ACTIVATE_SESSION 0x1014
#define AP_DEACTIVATE_CONV_GROUP 0x0032
#define AP_DEACTIVATE_SESSION 0x002E
#define AP_SIGN_OFF 0x1020
/*****************************************************************************/
/* Verb used to force an RTP connection to switch paths */
/*****************************************************************************/
#define AP_PATH_SWITCH 0x7000
/*****************************************************************************/
/* Verbs used to return information about the node */
/*****************************************************************************/
#define AP_QUERY_ACTIVE_TRANSACTION 0x211B
#define AP_QUERY_ADJACENT_NODE 0x20FB
#define AP_QUERY_CN 0x2117
#define AP_QUERY_CN_PORT 0x2101
#define AP_QUERY_CONVERSATION 0x20F8
#define AP_QUERY_COS 0x2102
#define AP_QUERY_CPIC_SIDE_INFO 0x2121
#define AP_QUERY_DEFAULTS 0x2132
#define AP_QUERY_DEFAULT_PU 0x2131
#define AP_QUERY_DIRECTORY_LU 0x2106
#define AP_QUERY_DIRECTORY_STATS 0x212E
#define AP_QUERY_DLC 0x2107
#define AP_QUERY_DLUR_DEFAULTS 0x2133
#define AP_QUERY_DLUR_LU 0x2128
#define AP_QUERY_DLUR_PU 0x2127
#define AP_QUERY_DLUS 0x2126
#define AP_QUERY_FOCAL_POINT 0x2118
#define AP_QUERY_HPR_STATS 0x2134
#define AP_QUERY_LOCAL_LU 0x2109
#define AP_QUERY_LOCAL_TOPOLOGY 0x210A
#define AP_QUERY_LS 0x210B
#define AP_QUERY_LS_EXCEPTION 0x20F9
#define AP_QUERY_LS_ROUTING 0x20FC
#define AP_QUERY_LU62_TIMEOUT 0x20FA
#define AP_QUERY_LU_0_TO_3 0x211C
#define AP_QUERY_LU_POOL 0x211D
#define AP_QUERY_MDS_APPLICATION 0x211A
#define AP_QUERY_MDS_STATISTICS 0x2130
#define AP_QUERY_MODE 0x210C
#define AP_QUERY_MODE_DEFINITION 0x210D
#define AP_QUERY_MODE_TO_COS_MAPPING 0x210E
#define AP_QUERY_NMVT_APPLICATION 0x2119
#define AP_QUERY_NODE 0x212C
#define AP_QUERY_PARTNER_LU 0x2111
#define AP_QUERY_PARTNER_LU_DEFINITION 0x2112
#define AP_QUERY_PORT 0x2113
#define AP_QUERY_PU 0x211E
#define AP_QUERY_RTP_CONNECTION 0x2129
#define AP_QUERY_RTP_TUNING 0x2135
#define AP_QUERY_SESSION 0x2114
#define AP_QUERY_SIGNED_ON_LIST 0x20FD
#define AP_QUERY_STATISTICS 0x212D
#define AP_QUERY_TP 0x2115
#define AP_QUERY_TP_DEFINITION 0x2116
#define AP_SAFE_STORE_TOPOLOGY 0x20F7
#ifdef PU_CONC_SUPPORTED
#define AP_QUERY_DOWNSTREAM_LU 0x211F
#define AP_QUERY_DOWNSTREAM_PU 0x2120
#define AP_QUERY_DSPU_TEMPLATE 0x20FE
#endif
#ifdef NN_SUPPORTED
#define AP_QUERY_ADJACENT_NN 0x2100
#define AP_QUERY_COS_NODE_ROW 0x2103
#define AP_QUERY_COS_TG_ROW 0x2104
#define AP_QUERY_DIRECTORY_ENTRY 0x2105
#define AP_QUERY_ISR_SESSION 0x2108
#define AP_QUERY_NN_TOPOLOGY_NODE 0x210F
#define AP_QUERY_NN_TOPOLOGY_STATS 0x212F
#define AP_QUERY_NN_TOPOLOGY_TG 0x2110
#endif
#define AP_MIN_QUERY_OPCODE 0x20F7
#define AP_MIN_QUERY_WITH_BUF_PTR 0x20F7
#define AP_MAX_QUERY_OPCODE 0x2135
/*****************************************************************************/
/* Verbs used to change the number of sessions */
/*****************************************************************************/
#define AP_CHANGE_SESSION_LIMIT 0x1010
#define AP_INITIALIZE_SESSION_LIMIT 0x1011
#define AP_RESET_SESSION_LIMIT 0x1013
/*****************************************************************************/
/* Security verbs */
/*****************************************************************************/
#define AP_DEFINE_LU_LU_PASSWORD 0x0060
#define AP_DEFINE_USERID_PASSWORD 0x0058
#define AP_DELETE_LU_LU_PASSWORD 0x0061
#define AP_DELETE_USERID_PASSWORD 0x0059
/*****************************************************************************/
/* Verb used to 'ping' a remote LU */
/*****************************************************************************/
#define AP_APING 0x2060
/*****************************************************************************/
/* Unsolicited indication verbs */
/*****************************************************************************/
#define AP_DLC_INDICATION 0x400E
#define AP_DLUR_LU_INDICATION 0x4017
#define AP_DLUR_PU_INDICATION 0x401A
#define AP_DLUS_INDICATION 0x4014
#define AP_EXTENDED_DLOAD_INDICATION 0x4019
#define AP_FOCAL_POINT_INDICATION 0x400F
#define AP_LOCAL_LU_INDICATION 0x4016
#define AP_LOCAL_TOPOLOGY_INDICATION 0x4005
#define AP_LS_INDICATION 0x4006
#define AP_LU_0_TO_3_INDICATION 0x4010
#define AP_MODE_INDICATION 0x4007
#define AP_PLU_INDICATION 0x400A
#define AP_PORT_INDICATION 0x400D
#define AP_PU_INDICATION 0x4011
#define AP_REGISTRATION_FAILURE 0x400B
#define AP_RTP_INDICATION 0x4015
#define AP_SESSION_FAILURE_INDICATION 0x4018
#define AP_SESSION_INDICATION 0x400C
#define AP_POOL_INDICATION 0x9000
#define AP_MAX_INDICATION_OPCODE 0x401A
#define NUM_IND_SINK_TYPES 25
#ifdef PU_CONC_SUPPORTED
#define AP_DOWNSTREAM_LU_INDICATION 0x4013
#define AP_DOWNSTREAM_PU_INDICATION 0x4012
#endif
#ifdef NN_SUPPORTED
#define AP_DIRECTORY_INDICATION 0x4002
#define AP_ISR_INDICATION 0x4004
#define AP_NN_TOPOLOGY_NODE_INDICATION 0x4008
#define AP_NN_TOPOLOGY_TG_INDICATION 0x4009
#endif
/*****************************************************************************/
/* User Defined verbs 0xF000 onwards */
/*****************************************************************************/
/*****************************************************************************/
/* Attach Manager Enable and Disable */
/*****************************************************************************/
#define AP_ENABLE_ATTACH_MGR 0xF001
#define AP_DISABLE_ATTACH_MGR 0xF002
#define AP_QUERY_ATTACH_MGR 0xF003
/*****************************************************************************/
/* 3270 user verbs */
/*****************************************************************************/
#define AP_DEFINE_EMULATOR_USER 0xF041
#define AP_DELETE_EMULATOR_USER 0xF042
#define AP_QUERY_EMULATOR_USER 0xF043
#define AP_QUERY_EMULATOR_USER_SESSION 0xF044
#define AP_DEFINE_3270_DIAG 0xF045
#define AP_QUERY_3270_DIAG 0xF046
/*****************************************************************************/
/* Verbs from 0xFF00 onwards are reserved for internal use */
/*****************************************************************************/
/*****************************************************************************/
/* List option variants for use with query verbs */
/*****************************************************************************/
#define AP_DETAIL 0x01
#define AP_SUMMARY 0x02
#define AP_LIST_INCLUSIVE 0x04
#define AP_LIST_FROM_NEXT 0x08
#define AP_FIRST_IN_LIST 0x10
#define AP_LIST_BY_ALIAS 0x20
/*****************************************************************************/
/* Node type */
/*****************************************************************************/
#define AP_LEARN_NODE 0x00
#define AP_APPN_NODE 0x00
#define AP_LEN_NODE 0x01
#define AP_NETWORK_NODE 0x02
#define AP_END_NODE 0x03
#define AP_VRN 0x04
#define AP_BACK_LEVEL_LEN_NODE 0x05
#define AP_HOST_XID3 0x06
#define AP_HOST_XID0 0x07
#ifdef PU_CONC_SUPPORTED
#define AP_DSPU_XID 0x08
#define AP_DSPU_NOXID 0x09
#endif
#define AP_BRANCH_NETWORK_NODE 0x0A
/*****************************************************************************/
/* Level of HPR support */
/* (AP_NONE defined in winparms.h) */
/*****************************************************************************/
#define AP_BASE 0x01
#define AP_RTP 0x02
#define AP_CONTROL_FLOWS 0x03
/*****************************************************************************/
/* Constants used for the PTF array */
/*****************************************************************************/
/*****************************************************************************/
/* byte 0 */
/* bit 0 - */
/* bit 1 - */
/* bit 2 - */
/* bit 3 - */
/* bit 4 - Set search status. This forces the NNS of this node to forward */
/* broadcast LOCATEs to this node. This slows down network */
/* searhes, so is usually only done if this EN/BrNN is unable to */
/* register LUs with its NNs. But if this is a BrNN Anynet */
/* Gateway which registers its LUs, then only by setting this bit */
/* can the Anynet resources be made visible to the network. */
/*****************************************************************************/
#define AP_SUPPRESS_REQDISCONT 0x80
#define AP_OVERRIDE_REQDISCONT 0x40
#define AP_REQDISCONT_TYPE 0x20
#define AP_REQDISCONT_RECONTACT 0x10
#define AP_SET_SEARCH_STATUS 0x08
/*****************************************************************************/
/* byte 1 */
/*****************************************************************************/
#define AP_OVERRIDE_ERP 0x80
/*****************************************************************************/
/* byte 2 */
/*****************************************************************************/
#define AP_SUPPRESS_BIS 0x80
/*****************************************************************************/
/* byte 3 */
/*****************************************************************************/
#define AP_EXTERNAL_APINGD 0x80
/*****************************************************************************/
/* byte 4 */
/*****************************************************************************/
#define AP_ALLOW_BB_RQE (0x80)
/*****************************************************************************/
/* byte 5 */
/*****************************************************************************/
#define AP_LIMIT_TP_SECURITY (0x80)
/*****************************************************************************/
/* byte 8 */
/*****************************************************************************/
#define AP_INDICATE_GVRN_SUPPORT (0x01)
/*****************************************************************************/
/* Constants for functions supported in QUERY_NODE */
/*****************************************************************************/
#define AP_NEGOTIABLE_LS 0x01
#define AP_SEGMENT_REASSEMBLY 0x02
#define AP_BIND_REASSEMBLY 0x04
#define AP_PARALLEL_TGS 0x08
#define AP_CALL_IN 0x10
#define AP_ADAPTIVE_PACING 0x20
#define AP_TOPOLOGY_AWARENESS 0x40
/*****************************************************************************/
/* Constants for nn functions supported in QUERY_NODE */
/*****************************************************************************/
#define AP_RCV_REG_CHAR 0x01
#define AP_ACCESS_NODE 0x01
#define AP_GATEWAY 0x02
#define AP_CDS 0x04
#define AP_TREE_CACHING 0x08
#define AP_TREE_UPDATES 0x10
#define AP_ISR 0x20
#define AP_PERIPHERAL_BORDER_NODE 0x40
#define AP_EXTENDED_BORDER_NODE 0x80
/*****************************************************************************/
/* Constants for nn functions2 supported in QUERY_NODE */
/*****************************************************************************/
#define AP_BRANCH_AWARENESS 0x01
/*****************************************************************************/
/* Constants for function supported in QUERY_NN_TOPOLOGY_NODE. */
/* These are taken from the QUERY_NODE values with the following */
/* replacements. */
/*****************************************************************************/
#define AP_INTERCHANGE_NODE 0x01
#define AP_HPR_SUPPORT_MASK 0x18
#define AP_HPR 0x08
#define AP_RTP_TOWER 0x10
#define AP_CONTROL_OVER_RTP_TOWER 0x18
/*****************************************************************************/
/* Constants for en functions supported in QUERY_NODE */
/*****************************************************************************/
#define AP_SEGMENT_GENERATION 0x01
#define AP_MODE_TO_COS_MAP 0x02
#define AP_LOCATE_CDINIT 0x04
#define AP_REG_WITH_NN 0x08
#define AP_REG_CHARS_WITH_NN 0x10
/*****************************************************************************/
/* Constants for START_LS/STOP_LS/QUERY_LS */
/*****************************************************************************/
#define AP_ACTIVATE 0x00
#define AP_AUTO_ACT 0x01
#define AP_REMOTE_ACT 0x02
/*****************************************************************************/
/* Transmission priority */
/*****************************************************************************/
#define AP_LOW 0x00
#define AP_MEDIUM 0x01
#define AP_HIGH 0x02
#define AP_NETWORK 0x03
/*****************************************************************************/
/* DLC types */
/*****************************************************************************/
#define AP_SDLC 0x00
#define AP_X25 0x01
#define AP_TR 0x02
#define AP_LLC2 0x03
#define AP_TWINAX 0x05
#define AP_FDDI 0x06
#define AP_ETHERNET 0x07
#define AP_FRAME_RELAY 0x08
#define AP_ANYNET 0x20
#define AP_OEM_DLC 0x21
#define AP_SELFTEST 0x80
/*****************************************************************************/
/* DSPU services */
/*****************************************************************************/
#ifdef PU_CONC_SUPPORTED
#define AP_PU_CONCENTRATION 0x01
#endif
#define AP_DLUR 0x02
#define AP_DIRECT_ATTACHED 0x03
#define AP_DLUR_ATTACHED 0x04
/*****************************************************************************/
/* Cryptography level */
/*****************************************************************************/
#define AP_MANDATORY 0x01
#define AP_OPTIONAL 0x02
/*****************************************************************************/
/* Port type */
/*****************************************************************************/
#define AP_PORT_NONSWITCHED 0x01
#define AP_PORT_SWITCHED 0x02
#define AP_PORT_SATF 0x04
#define AP_NO_IMPLICIT_LINKS 0xFFFF
/*****************************************************************************/
/* LS role */
/*****************************************************************************/
#define AP_DISCOVERY_CLIENT 0x01
#define AP_DISCOVERY_SERVER 0x02
#define AP_LS_NEG 0x0000
#define AP_LS_PRI 0x0001
#define AP_LS_SEC 0x0002
#define AP_USE_PORT_DEFAULTS 0x00FF
#define AP_LS_MSEC 0x0004
#define AP_LOAD_OUTSTANDING 0x0001
#define AP_LOAD_RESOLVED 0x0002
#define AP_ACTIVATION_STARTED 0x01
#define AP_ACTIVATION_FAILED 0x02
#define AP_LUA_APPLICATION 0x02
#define AP_SUPPRESS_CP_NAME 0x80
#define AP_REACTIVATE_ON_FAILURE 0x40
#define AP_USE_PU_NAME_IN_XID_CVS 0x20
#define AP_USE_DSPU_NAME_IN_XID_CVS 0x10
#define AP_ACCEPT_DEP_BIND_SIDH_NOT_1 0x08
/*****************************************************************************/
/* LS transmit receive capability */
/*****************************************************************************/
#define AP_LS_TWA 0x00
#define AP_LS_TWS 0x01
/*****************************************************************************/
/* Port Attributes */
/*****************************************************************************/
/*****************************************************************************/
/* byte 0 (ALLOW_INV_ABM_SUPPORT with NAP prefix should not be changed) */
/*****************************************************************************/
#define AP_RESOLVE_BY_LINK_ADDRESS 0x80
#define NAP_ALLOW_INV_ABM_SUPPORT 0x40
/*****************************************************************************/
/* LS Attributes - byte 0 */
/*****************************************************************************/
#define AP_SNA 0x00
#define AP_FNA 0x80
#define AP_HNA 0x40
/*****************************************************************************/
/* Stop type */
/*****************************************************************************/
#define AP_ORDERLY_STOP 0x01
#define AP_IMMEDIATE_STOP 0x02
/*****************************************************************************/
/* Deactivate type */
/*****************************************************************************/
#define AP_DEACT_CLEANUP 0x02
#define AP_DEACT_NORMAL 0x01
#define AP_ASYNCHRONOUS_DEACTIVATION 0x00
#define AP_SYNCHRONOUS_DEACTIVATION 0x80
/*****************************************************************************/
/* LU location */
/*****************************************************************************/
#define AP_LOCAL 0x00
#define AP_REMOTE 0x01
/*****************************************************************************/
/* LU entry type */
/*****************************************************************************/
#define AP_INVALID_ENTRY_TYPE (0x10)
#define AP_HOME 0x03
#define AP_REGISTER 0x02
#define AP_CACHE 0x00
/*****************************************************************************/
/* Location of LU */
/*****************************************************************************/
#define AP_DOWNSTREAM 0x01
#define AP_INTERNAL 0x02
#define AP_DOMAIN 0x01
#define AP_CROSS_DOMAIN 0x02
/*****************************************************************************/
/* Wildcard */
/*****************************************************************************/
#define AP_OTHER 0x01
#define AP_EXPLICIT 0x02
#define AP_PARTIAL_WILDCARD 0x03
#define AP_FULL_WILDCARD 0x04
/*****************************************************************************/
/* Auto network shutdown support */
/*****************************************************************************/
#define AP_CONT 0x01
#define AP_STOP 0x02
/*****************************************************************************/
/* Status */
/*****************************************************************************/
#define AP_INACTIVE 0x00
#define AP_LOADED 0x01
#define AP_LOADING 0x02
#define AP_RUNNING 0x03
/*****************************************************************************/
/* PU status */
/*****************************************************************************/
#define AP_RESET 0x00
#define AP_ACTIVE 0x01
#define AP_PEND_ACTPU 0x02
#define AP_PEND_ACTPU_RSP 0x03
#define AP_PEND_DACTPU_RSP 0x04
#define AP_PEND_INOP 0x05
#define AP_RESET_RETRY 0x06
#define AP_RESET_NO_RETRY 0x07
/*****************************************************************************/
/* DLUS session status */
/*****************************************************************************/
#define AP_NOT_ACTIVE 0x00
#define AP_PENDING 0x02
#define AP_NEVER_ACTIVE 0x04
#define AP_PENDING_ACTIVE 0x02
#define AP_PENDING_INACTIVE 0x08
/*****************************************************************************/
/* Constants for session_type */
/*****************************************************************************/
#define AP_ISR_SESSIONS 0x00
#define AP_DLUR_SESSIONS 0x01
/*****************************************************************************/
/* ISR session status */
/*****************************************************************************/
#define AP_ISR_STATS_NO_CHANGE 0x00
#define AP_ISR_STATS_ACTIVE 0x01
#define AP_ISR_STATS_INACTIVE 0x02
#define AP_ISR_INACTIVE 0x00
#define AP_ISR_ACTIVE 0x01
#define AP_ISR_PENDING_ACTIVE 0x02
#define AP_ISR_PENDING_INACTIVE 0x03
/*****************************************************************************/
/* LU type values (type 5 is deliberately omitted). */
/*****************************************************************************/
#define AP_LU_TYPE_0 0x00
#define AP_LU_TYPE_1 0x01
#define AP_LU_TYPE_2 0x02
#define AP_LU_TYPE_3 0x03
#define AP_LU_TYPE_4 0x04
#define AP_LU_TYPE_6 0x06
#define AP_LU_TYPE_7 0x07
#define AP_LU_TYPE_UNKNOWN 0xFF
#define AP_LU_LEVEL_0 0x00
#define AP_LU_LEVEL_1 0x01
#define AP_LU_LEVEL_2 0x02
#define AP_LU_LEVEL_UNKNOWN 0xFF
/*****************************************************************************/
/* Focal point type */
/*****************************************************************************/
#define AP_EXPLICIT_PRIMARY_FP 0x01
#define AP_IMPLICIT_PRIMARY_FP 0x02
#define AP_BACKUP_FP 0x20
#define AP_DEFAULT_PRIMARY_FP 0x30
#define AP_DOMAIN_FP 0x50
#define AP_HOST_FP 0xF0
#define AP_NO_FP 0xFF
/*****************************************************************************/
/* Focal point type */
/*****************************************************************************/
#define AP_BACKUP 0x02
#define AP_IMPLICIT 0x03
/*****************************************************************************/
/* Focal point routing */
/*****************************************************************************/
#define AP_DEFAULT 0x00
#define AP_DIRECT 0x01
/*****************************************************************************/
/* Statistics type */
/*****************************************************************************/
#define AP_LS 0x01
#define AP_PORT 0x02
/*****************************************************************************/
/* Statistics table type */
/*****************************************************************************/
#define AP_STATS_TBL 0x00
#define AP_ADMIN_TBL 0x01
#define AP_OPER_TBL 0x02
/*****************************************************************************/
/* User password type */
/*****************************************************************************/
#define AP_ADD_USER 0x01
#define AP_ADD_PROFILES 0x02
#define AP_REMOVE_USER 0x01
#define AP_REMOVE_PROFILES 0x02
/*****************************************************************************/
/* NN status */
/*****************************************************************************/
#define AP_CONGESTED 0x80
#define AP_UNCONGESTED 0x00
#define AP_IRR_DEPLETED 0x40
#define AP_ERR_DEPLETED 0x20
#define AP_GARBAGE_COLLECT 0x10
#define AP_GARBAGE_COLLECT_NODE 0x10
#define AP_QUIESCING 0x04
/*****************************************************************************/
/* Session contention */
/*****************************************************************************/
#define AP_CONWINNER_ACTIVE 0x02
#define AP_CONLOSER_ACTIVE 0x03
/*****************************************************************************/
/* Polarity */
/*****************************************************************************/
#define AP_CONWINNER 0x00
#define AP_CONLOSER 0x01
/*****************************************************************************/
/* Resource types */
/*****************************************************************************/
#define AP_LU_RESOURCE 0x00F3
#define AP_ENCP_RESOURCE 0x00F4
#define AP_NNCP_RESOURCE 0x00F6
#define AP_ASSOCIATED_RESOURCE 0x00F7
#define AP_DLUR_LU_RESOURCE 0x00F8
#define AP_WILDCARD_LU_RESOURCE 0x1000
/*****************************************************************************/
/* Constants for SIGN_ON/OFF */
/*****************************************************************************/
#define AP_SIGNED_ON_TO_LIST 1
#define AP_SIGNED_ON_FROM_LIST 2
#define AP_SIGNED_ON_ALL_LISTS 3
/*****************************************************************************/
/* Other */
/*****************************************************************************/
#define AP_TG_OPERATIVE 0x80
#define AP_TG_GARBAGE_COLLECT 0x40
#define AP_TG_QUIESCING 0x20
#define AP_TG_CP_CP_SESSIONS 0x10
#define AP_TG_HPR 0x01
#define AP_TG_RTP 0x02
/*****************************************************************************/
/* Sub-states returned on QUERY_LS. Note that the full list includes: */
/* AP_RESET (0x00) */
/* AP_ACTIVE (0x01) */
/* AP_PENDING_RETRY (0x09) (defined in winparms.h) */
/*****************************************************************************/
#define AP_SENT_CONNECT_OUT 0x02
#define AP_PENDING_XID_EXCHANGE 0x03
#define AP_SENT_ACTIVATE_AS 0x04
#define AP_SENT_SET_MODE 0x05
#define AP_SENT_DEACTIVATE_AS_ORDERLY 0x06
#define AP_SENT_DISCONNECT 0x07
#define AP_WAITING_STATS 0x08
#define AP_DEACT_OPER_ORDERLY 0x01
#define AP_DEACT_OPER_IMMEDIATE 0x02
#define AP_DEACT_AUTOMATIC 0x03
#define AP_DEACT_FAILURE 0x04
#define AP_NO_SESSIONS 0x01
#define AP_INACTIVITY 0x02
#define AP_CONNECTING 0x00
#define AP_CONNECTED 0x01
#define AP_ERROR_LEVEL_1 0x02
#define AP_ERROR_LEVEL_2 0x03
#define AP_DISCONNECTING 0x04
#define AP_DISCONNECTED 0x05
#define AP_ADAPTER_ERROR 0x06
#define AP_ADAPTER_ACCESS_ERROR 0x07
#define AP_INCONB_MING_WAIT 0x08
#define AP_COMPLIANCE_1980 1980
#define AP_COMPLIANCE_1984 1984
#define AP_COMPLIANCE_1988 1988
#define AP_SEQUENCING_128 128
#define AP_SEQUENCING_8 8
/*****************************************************************************/
/* Values used in emulator configuration verbs */
/* DEFINE_EMULATOR_USER */
/* DELETE_EMULATOR_USER */
/* QUERY_EMULATOR_USER */
/*****************************************************************************/
/*****************************************************************************/
/* Values for emulator_type fields */
/*****************************************************************************/
#define AP_DELETE_USER (0x00)
#define AP_3270_SESSION (0x01)
/*****************************************************************************/
/* Constants for 3270 diagnostics record */
/*****************************************************************************/
#define AP_RTM_SCREEN 0
#define AP_RTM_UNLOCK 1
#define AP_RTM_DIRECTION 2
/*****************************************************************************/
/* Constants for 3270 user alert records */
/*****************************************************************************/
#define AP_MAX_3270_ALERT_DESC 52
#define AP_MAX_3270_ALERT_PARM 32
/*****************************************************************************/
/* Resource types for LU62 timeouts */
/*****************************************************************************/
#define AP_GLOBAL_TIMEOUT 1
#define AP_LOCAL_LU_TIMEOUT 2
#define AP_PARTNER_LU_TIMEOUT 3
#define AP_MODE_TIMEOUT 4
/**STRUCT+********************************************************************/
/* Structure: NOF_HDR */
/* */
/* Description: Common NOF verb header */
/*****************************************************************************/
typedef struct nof_hdr
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format;
unsigned short primary_rc;
unsigned long secondary_rc;
} NOF_HDR;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TP_SPEC_DATA */
/* */
/* Description: Data passed to Attach Manager with Dynamic Load Indication */
/*****************************************************************************/
#define AP_AM_CONSOLE 0
#define AP_AM_DETACHED 1
#define AP_AM_WINDOW 2
typedef struct tp_spec_data
{
unsigned char pathname[256]; /* path and TP name */
unsigned char parameters[64]; /* parameters for TP */
unsigned char queued; /* queued TP (AP_YES) */
unsigned char load_type; /* type of load - DETACHED/CONSOLE */
unsigned char dynamic_load; /* dynamic loading of TP enabled */
unsigned char reserved[5]; /* max size is 120 bytes */
} TP_SPEC_DATA;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* Vcb structures */
/*****************************************************************************/
#ifndef APPN_DONT_INC_VCBS
/*****************************************************************************/
/* Size of resource descriptions stored for defined resources */
/*****************************************************************************/
#define RD_LEN 16
/**STRUCT+********************************************************************/
/* Structure: TG_DEFINED_CHARS */
/* */
/* Description: Defined fields of TG Characteristics Control Vector X'47' */
/* (see SNA Formats) */
/*****************************************************************************/
typedef struct tg_defined_chars
{
unsigned char effect_cap;
unsigned char reserve1[5]; /* reserved */
unsigned char connect_cost;
unsigned char byte_cost;
unsigned char reserve2; /* reserved */
unsigned char security;
unsigned char prop_delay;
unsigned char modem_class;
unsigned char user_def_parm_1;
unsigned char user_def_parm_2;
unsigned char user_def_parm_3;
} TG_DEFINED_CHARS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: COS_NODE_STATUS */
/* */
/* Description: Node status description for COS node rows */
/*****************************************************************************/
typedef struct cos_node_status
{
unsigned char rar;
unsigned char status;
unsigned char reserv1[2]; /* reserved */
} COS_NODE_STATUS;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* Link Address */
/*****************************************************************************/
#define MAC_ADDRESS_SIZE 6
typedef unsigned char MAC_ADDRESS[MAC_ADDRESS_SIZE];
typedef unsigned char LSAP_ADDRESS;
/*****************************************************************************/
/* Maximum number of bytes in ANR labels and NCE labels */
/*****************************************************************************/
#define MAX_ANR_LABEL_SIZE (0x08)
/**STRUCT+********************************************************************/
/* Structure: TR_ADDRESS */
/* */
/* Description: Token Ring Address */
/*****************************************************************************/
typedef struct tr_address
{
/***************************************************************************/
/* MAC Address */
/***************************************************************************/
MAC_ADDRESS mac_address;
/***************************************************************************/
/* LSAP Address */
/***************************************************************************/
LSAP_ADDRESS lsap_address;
} TR_ADDRESS;
/**STRUCT-********************************************************************/
typedef unsigned char SDLC_ADDRESS;
typedef unsigned char X25_ADDRESS[15];
#define MAX_LINK_ADDR_LEN 32
#define AP_UNSPECIFIED 0x00
#define AP_IP_ADDRESS_INFO 0x01
/**STRUCT+********************************************************************/
/* Structure: LINK_ADDRESS */
/* */
/* Description: Link Address Structure */
/*****************************************************************************/
typedef struct link_address
{
/***************************************************************************/
/* Length varies according to DLC type */
/***************************************************************************/
unsigned short length;
unsigned char format;
unsigned char reserve1; /* reserved */
unsigned char address[MAX_LINK_ADDR_LEN];
} LINK_ADDRESS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: IP_ADDRESS_INFO */
/* */
/* Description: Format of IP address */
/*****************************************************************************/
typedef struct ip_address_info
{
unsigned char lsap;
#define IP_VERSION_4 (0x40)
unsigned char version;
unsigned char address[4];
} IP_ADDRESS_INFO;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ANR_LABEL */
/* */
/* Description: A single ANR label, up to 8 bytes long */
/* This structure is only used to store ANR labels assigned by nodes other */
/* than this one, since all SNAP APPN ANR labels are 1 or two bytes */
/*****************************************************************************/
typedef struct anr_label
{
unsigned short length;
unsigned short reserv; /* reserved */
unsigned char label[MAX_ANR_LABEL_SIZE];
} ANR_LABEL;
/**STRUCT+********************************************************************/
/* Structure: CP_CREATE_PARMS */
/* */
/* Description: CP_CREATE_PARMS structure passed in at start of day */
/*****************************************************************************/
typedef struct cp_create_parms
{
/***************************************************************************/
/* Length */
/***************************************************************************/
unsigned short crt_parms_len;
unsigned char description[RD_LEN];
/***************************************************************************/
/* Node type - AP_END_NODE, AP_NETWORK_NODE, AP_LEN_NODE */
/***************************************************************************/
unsigned char node_type;
/***************************************************************************/
/* Fully qualified CP name */
/***************************************************************************/
unsigned char fqcp_name[17];
unsigned char cp_alias[8];
/***************************************************************************/
/* Is mode to C.O.S. mapping supported ? */
/***************************************************************************/
unsigned char mode_to_cos_map_supp;
/***************************************************************************/
/* Does Management Services support Multiple Domain Support and MS */
/* Capabilities? */
/***************************************************************************/
unsigned char mds_supported;
/***************************************************************************/
/* Node ID */
/***************************************************************************/
unsigned char node_id[4];
/***************************************************************************/
/* Maximum locates node can process */
/***************************************************************************/
unsigned short max_locates;
/***************************************************************************/
/* Directory Cache size (reserved if not NN) */
/***************************************************************************/
unsigned short dir_cache_size;
/***************************************************************************/
/* Maximum directory entries (0 means unlimited) */
/***************************************************************************/
unsigned short max_dir_entries;
/***************************************************************************/
/* Locate timeout in seconds (0 means no time limit). If a locate request */
/* has not been responded to by an adjacent node within the time specified */
/* CP-CP sessions to the adjacent node will be deactivated. */
/***************************************************************************/
unsigned short locate_timeout;
/***************************************************************************/
/* (EN only) register resources with Network Node server */
/***************************************************************************/
unsigned char reg_with_nn;
/***************************************************************************/
/* In EN case (ignored if reg_with_nn set to AP_NO) set to AP_YES will */
/* allow NN server to register EN resources with a Central Directory */
/* Server. In NN case then local or domain resources can be optionally */
/* registered with CDS. */
/***************************************************************************/
unsigned char reg_with_cds;
/***************************************************************************/
/* Size of MDS send alert queue */
/***************************************************************************/
unsigned short mds_send_alert_q_size;
/***************************************************************************/
/* Maximum number of entries in the COS database */
/***************************************************************************/
unsigned short cos_cache_size;
/***************************************************************************/
/* Topology Database routing tree cache size */
/***************************************************************************/
unsigned short tree_cache_size;
/***************************************************************************/
/* Topology Database routing tree cache use limit */
/***************************************************************************/
unsigned short tree_cache_use_limit;
/***************************************************************************/
/* Maximum number of nodes and TGs that can be stored in Topology Database */
/* (0 means unlimited) */
/***************************************************************************/
unsigned short max_tdm_nodes;
unsigned short max_tdm_tgs;
/***************************************************************************/
/* Maximum ISR sessions. */
/***************************************************************************/
unsigned long max_isr_sessions;
/***************************************************************************/
/* Upper and Lower thresholds for ISR sessions */
/***************************************************************************/
unsigned long isr_sessions_upper_threshold;
unsigned long isr_sessions_lower_threshold;
/***************************************************************************/
/* Max RU size and receive pacing window for ISR */
/***************************************************************************/
unsigned short isr_max_ru_size;
unsigned short isr_rcv_pac_window;
/***************************************************************************/
/* Should RSCV's be stored for diagnostic purposes. (Note setting these */
/* values to AP_YES means an RSCV will be stored for each ISR and/or end */
/* point session. This extra storage can be upto 256 bytes per session.) */
/***************************************************************************/
unsigned char store_endpt_rscvs;
unsigned char store_isr_rscvs;
unsigned char store_dlur_rscvs;
/***************************************************************************/
/* Is the DLUR component supported? */
/***************************************************************************/
unsigned char dlur_support;
/***************************************************************************/
/* Is the PU Concentration function supported? */
/***************************************************************************/
unsigned char pu_conc_support;
/***************************************************************************/
/* Route Addition Resistance of this node */
/***************************************************************************/
unsigned char nn_rar;
/***************************************************************************/
/* Level of HPR support: AP_NONE, AP_BASE, AP_RTP or AP_CONTROL_FLOWS */
/***************************************************************************/
unsigned char hpr_support;
/***************************************************************************/
/* Is this node mobile (for HPR / RTP purposes) */
/***************************************************************************/
unsigned char mobile;
/***************************************************************************/
/* Does this node support Discovery (client or server) */
/***************************************************************************/
unsigned char discovery_support;
/***************************************************************************/
/* Group name to use on Discovery searches */
/***************************************************************************/
unsigned char discovery_group_name[8];
/***************************************************************************/
/* Support implicit LU 0 to 3 definition (by ACTLU) */
/***************************************************************************/
unsigned char implicit_lu_0_to_3;
/***************************************************************************/
/* Default preference for routing protocol selection */
/***************************************************************************/
unsigned char default_preference;
/***************************************************************************/
/* Support for non-native (ANYNET) routing */
/***************************************************************************/
unsigned char anynet_supported;
/***************************************************************************/
/* Maximum number of LS Exception entries stored. */
/***************************************************************************/
#define MAX_LS_EXCEPTION_EVENTS 200
unsigned short max_ls_exception_events;
/***************************************************************************/
/* is compression in series allowed */
/***************************************************************************/
unsigned char comp_in_series;
/***************************************************************************/
/* Specifies the maximum compression level supported by the node */
/***************************************************************************/
unsigned char max_compress_lvl;
/***************************************************************************/
/* length of node specific data */
/***************************************************************************/
unsigned char node_spec_data_len;
/***************************************************************************/
/* Program temporary fix array */
/***************************************************************************/
unsigned char ptf[64];
/***************************************************************************/
/* COS Table version */
/***************************************************************************/
unsigned char cos_table_version;
/***************************************************************************/
/* Should we send a TERM_SELF (rather than an UNBIND) to bring down a */
/* PLU-SLU host session */
/***************************************************************************/
unsigned char send_term_self;
/***************************************************************************/
/* Reserved space */
/***************************************************************************/
unsigned char reserved[98]; /* reserved */
} CP_CREATE_PARMS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_ADJACENT_LEN_NODE */
/* */
/* Description: DEFINE_ADJACENT_LEN_NODE verb control block */
/*****************************************************************************/
typedef struct define_adjacent_len_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char cp_name[17];
unsigned char description[RD_LEN];
unsigned char num_of_lus;
unsigned char wildcard_lus;
unsigned char reserv3[8]; /* reserved */
unsigned char lu_names[10][8];
} DEFINE_ADJACENT_LEN_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_ADJACENT_NODE */
/* */
/* Description: DEFINE_ADJACENT_NODE verb control block */
/*****************************************************************************/
typedef struct define_adjacent_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char cp_name[17];
unsigned char description[RD_LEN];
unsigned char reserv3[19]; /* reserved */
unsigned short num_of_lus;
unsigned char reserv4[2]; /* reserved */
} DEFINE_ADJACENT_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ADJACENT_NODE_LU */
/* */
/* Description: ADJACENT_NODE_LU structure, used as an overlay on the */
/* DEFINE and DELETE_ADJACENT_NODE verbs */
/*****************************************************************************/
typedef struct adjacent_node_lu
{
unsigned char wildcard_lu;
unsigned char fqlu_name[17];
unsigned char reserv1[6]; /* reserved */
} ADJACENT_NODE_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CN_DEF_DATA */
/* */
/* Description: Defined Data for a Connection Network */
/*****************************************************************************/
typedef struct cn_def_data
{
unsigned char description[RD_LEN];
/***************************************************************************/
/* Number of ports on the CN */
/***************************************************************************/
unsigned char num_ports;
unsigned char reserv1[16]; /* reserved */
/***************************************************************************/
/* TG Characteristics for all TGs on the Connection Network */
/***************************************************************************/
TG_DEFINED_CHARS tg_chars;
} CN_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CN_PORT_NAME */
/* */
/* Description: The port name on which is defined a particular CN. */
/*****************************************************************************/
typedef struct cn_port_name
{
/***************************************************************************/
/* Name of port */
/***************************************************************************/
unsigned char port_name[8];
} CN_PORT_NAME;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_CN */
/* */
/* Description: Message to add a new CN_CB or update existing one */
/*****************************************************************************/
typedef struct define_cn
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Connection Network */
/***************************************************************************/
unsigned char fqcn_name[17];
/***************************************************************************/
/* CN Defined Data */
/***************************************************************************/
CN_DEF_DATA def_data;
/***************************************************************************/
/* Port names */
/***************************************************************************/
#define MAX_PORTS_PER_DEFINE 8
#define MAX_PORTS_PER_CN 239
unsigned char port_name[MAX_PORTS_PER_DEFINE][8];
} DEFINE_CN;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_COS */
/* */
/* Description: DEFINE_COS verb control block */
/*****************************************************************************/
typedef struct define_cos
{
/***************************************************************************/
/* Standard header for vcb */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char cos_name[8];
unsigned char description[RD_LEN];
unsigned char transmission_priority;
unsigned char reserv3[9]; /* reserved */
unsigned char num_of_node_rows;
unsigned char num_of_tg_rows;
} DEFINE_COS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: COS_NODE_ROW */
/* */
/* Description: COS definition node row */
/*****************************************************************************/
typedef struct cos_node_row
{
COS_NODE_STATUS minimum;
COS_NODE_STATUS maximum;
unsigned char weight;
unsigned char reserv1; /* reserved */
} COS_NODE_ROW;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: COS_TG_ROW */
/* */
/* Description: COS definition TG row */
/*****************************************************************************/
typedef struct cos_tg_row
{
TG_DEFINED_CHARS minimum;
TG_DEFINED_CHARS maximum;
unsigned char weight;
unsigned char reserv1; /* reserved */
} COS_TG_ROW;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DEFAULT_PU */
/* */
/* Description: Specifies a pu to serve as the default pu */
/*****************************************************************************/
typedef struct define_default_pu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char pu_name[8];
unsigned char description[RD_LEN];
unsigned char reserv3[16]; /* reserved */
} DEFINE_DEFAULT_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFAULT_CHARS */
/* */
/* Description: Default characteristics - passed in on DEFINE_DEFAULTS */
/*****************************************************************************/
typedef struct default_chars
{
unsigned char description[RD_LEN];
unsigned char mode_name[8];
unsigned char implicit_plu_forbidden;
unsigned char specific_security_codes;
unsigned short limited_timeout;
unsigned char reserv[244]; /* reserved */
} DEFAULT_CHARS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DEFAULTS */
/* */
/* Description: DEFINE_DEFAULTS verb control block */
/*****************************************************************************/
typedef struct define_defaults
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
DEFAULT_CHARS default_chars;
} DEFINE_DEFAULTS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLC_SPEC_DATA */
/* */
/* Description: Contains data related to a specific DLC type */
/*****************************************************************************/
typedef struct dlc_spec_data
{
/***************************************************************************/
/* Padding */
/***************************************************************************/
#define SIZEOF_DLC_SPEC_DATA 268
unsigned char dlc_data[SIZEOF_DLC_SPEC_DATA];
} DLC_SPEC_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLC_DEF_DATA */
/* */
/* Description: Contains data related to a specific DLC in the node, which */
/* is passed in by the NOF on the DEFINE_DLC */
/*****************************************************************************/
typedef struct dlc_def_data
{
unsigned char description[RD_LEN];
/***************************************************************************/
/* DLC Type - which sort of DLC process is this? */
/* These types are contiguous - so table of DLC type vs port type in ncs.h */
/* can work OK */
/***************************************************************************/
unsigned char dlc_type;
/***************************************************************************/
/* Common Data - common to all DLC types. This is in the FAP but has been */
/* removed, because it is better to have DLC tell CS whether (for example) */
/* he supports ABM than vice-versa. These fields renamed DLC_CHARS, and */
/* passed back to CS on DLC_CREATED signal (and then stored in */
/* DLC_DET_DATA below) */
/* However one new common data field has been added in... */
/* Does the DLC support negotiable link stations? */
/***************************************************************************/
unsigned char neg_ls_supp;
/***************************************************************************/
/* Port types */
/***************************************************************************/
unsigned char port_types;
/***************************************************************************/
/* Link-supports-only-HPR flag */
/***************************************************************************/
unsigned char hpr_only;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Conditions for automatic retry */
/***************************************************************************/
unsigned char retry_flags;
/***************************************************************************/
/* Maximum allowed number of automatic retries if the remote node is not */
/* responding, or the port is inactive, or the DLC is inactive. */
/***************************************************************************/
unsigned short max_activation_attempts;
/***************************************************************************/
/* Retry delay time, used to pace automatic retries and application */
/* retries, if configured by retry_flags. */
/***************************************************************************/
unsigned short activation_delay_timer;
unsigned char reserv4[4]; /* reserved */
/***************************************************************************/
/* DLC Specific Data (specific to the type of the DLC) */
/***************************************************************************/
unsigned short dlc_spec_data_len;
} DLC_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DLC */
/* */
/* Description: Message to add a new DLC_CB or update existing one */
/*****************************************************************************/
typedef struct define_dlc
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the DLC */
/***************************************************************************/
unsigned char dlc_name[8];
/***************************************************************************/
/* Defined Data */
/***************************************************************************/
DLC_DEF_DATA def_data;
} DEFINE_DLC;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DLUR_DEFAULTS */
/* */
/* Description: Message used to define DLUR defaults */
/*****************************************************************************/
typedef struct define_dlur_defaults
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char description[RD_LEN];
/***************************************************************************/
/* Name of the DLUS - null if resetting */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Name of the backup DLUS name */
/***************************************************************************/
unsigned char bkup_dlus_name[17];
/***************************************************************************/
/* Reserve field */
/***************************************************************************/
unsigned char reserv3; /* reserved */
unsigned short dlus_retry_timeout;
unsigned short dlus_retry_limit;
/***************************************************************************/
/* Reserve field */
/***************************************************************************/
unsigned char reserv4[16]; /* reserved */
} DEFINE_DLUR_DEFAULTS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_FOCAL_POINT */
/* */
/* Description: Allows the operator to define a focal point */
/*****************************************************************************/
typedef struct define_focal_point
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserved; /* reserved */
unsigned char ms_category[8];
unsigned char fp_fqcp_name[17];
unsigned char ms_appl_name[8];
unsigned char description[RD_LEN];
unsigned char backup;
unsigned char reserv3[16]; /* reserved */
} DEFINE_FOCAL_POINT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: INTERNAL_PU_DEF_DATA */
/* */
/* Description: Defined data for internal PU */
/*****************************************************************************/
typedef struct internal_pu_def_data
{
unsigned char description[RD_LEN];
/***************************************************************************/
/* Name of the DLUS */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Name of the backup DLUS name */
/***************************************************************************/
unsigned char bkup_dlus_name[17];
/***************************************************************************/
/* PU ID */
/***************************************************************************/
unsigned char pu_id[4];
/***************************************************************************/
/* Retry Timeout. Time in seconds between attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_timeout;
/***************************************************************************/
/* Retry Limit. Maximum Number of attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_limit;
/***************************************************************************/
/* Data Compression requested. Only valid for LU 0 to 3 traffic. */
/***************************************************************************/
unsigned char conventional_lu_compression;
/***************************************************************************/
/* Cryptography support on conventional LU sessions */
/***************************************************************************/
unsigned char conventional_lu_cryptography;
unsigned char reserv2[2]; /* reserved */
} INTERNAL_PU_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_INTERNAL_PU */
/* */
/* Description: Message to add a new DLUR-supported PU */
/*****************************************************************************/
typedef struct define_internal_pu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the PU */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Defined data */
/***************************************************************************/
INTERNAL_PU_DEF_DATA def_data;
} DEFINE_INTERNAL_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_LU_DEF_DATA */
/* */
/* Description: Data used in defining a local lu */
/*****************************************************************************/
typedef struct local_lu_def_data
{
unsigned char description[RD_LEN];
unsigned char lu_alias[8];
unsigned char nau_address;
unsigned char syncpt_support; /* reserved */
unsigned short lu_session_limit;
unsigned char default_pool;
unsigned char reserv2; /* reserved */
unsigned char pu_name[8];
unsigned char lu_attributes;
unsigned char sscp_id[6];
unsigned char disable;
unsigned char attach_routing_data[128];
unsigned char lu_model;
unsigned char model_name[7];
unsigned char reserv4[16];
} LOCAL_LU_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LOCAL_LU */
/* */
/* Description: DEFINE_LOCAL_LU verb control block */
/*****************************************************************************/
typedef struct define_local_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
LOCAL_LU_DEF_DATA def_data;
} DEFINE_LOCAL_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LLC_LINK_SPEC_DATA */
/* */
/* Description: Holds data about a link station that is of use to LLC2 code. */
/* */
/*****************************************************************************/
#define SIZEOF_LLC_LINK_SPEC_DATA 24
typedef struct llc_link_spec_data
{
/***************************************************************************/
/* Length of this structure. */
/***************************************************************************/
unsigned short length;
/***************************************************************************/
/* XID Timer for connection setup processing */
/***************************************************************************/
unsigned short xid_timer;
unsigned short xid_timer_retry;
/***************************************************************************/
/* TEST Timer for outgoing connection setup processing */
/***************************************************************************/
unsigned short test_timer;
unsigned short test_timer_retry;
/***************************************************************************/
/* Time out values to override those in the LLC_SAP_SPEC_DATA */
/***************************************************************************/
unsigned short ack_timeout;
unsigned short p_bit_timeout;
unsigned short t2_timeout;
unsigned short rej_timeout;
unsigned short busy_state_timeout;
unsigned short idle_timeout;
unsigned short max_retry;
} LLC_LINK_SPEC_DATA;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* The following are the SDLC and TWINAX link spec data */
/*****************************************************************************/
enum ECfgInstType { eNULL, eCx, eRetired1, eRetired2, eLAPD, eLAPB,
eHayesAT, eV25bis, eLeased, eISDN931, eX25bis, eX25PLP,
eSDLC, e8022, eQLLC, eRetired3, eTWINAX, eProductDef,
eRetired4,
eStack,
eLx,
eCx2,
eAlternateDial,
eX32,
eListenDef,
eAsyncCall,
eSyncCall,
eX25SVCCall,
eX25PVCCall,
eX25FilterData,
eX25SNA,
eOemAdapter,
eAsyncAdapter,
eSyncAdapter,
eWacAdapter,
eTwinaxAdapter
};
#define MAX_PATH_LENGTH 50
typedef struct X25DestAddr
{
char dteAddress[16];
char extension[42];
} X25DESTADDR;
typedef struct X25FilterAddr
{
char dteAddress[8];
char extension[4];
} X25FILTERADDR;
typedef struct X25Filter
{
X25FILTERADDR destAddr;
int reverseCharging;
} X25FILTER;
typedef struct inst_Cx2
{
unsigned long length;
enum ECfgInstType itype; /* eCx2 */
char name[16];
char stackName[16];
char dlcName[16];
int netCxType;
char callDataName[16];
int addlProtocolCnt;
char addlProtocolName[4][16];
} INST_CX2;
typedef struct inst_Lx
{
unsigned long length;
enum ECfgInstType itype; /* eLx */
char name[16];
char stackName[16];
char dlcName[16];
int netCxType;
char callDataName[16];
char filterName[16];
int addlProtocolCnt;
char addlProtocolName[4][16];
} INST_LX;
typedef struct inst_Stack
{
unsigned long length;
enum ECfgInstType itype; /* eStack */
char name[16];
int type;
int netCxType;
int enableIncoming;
char layer1Name[16];
char layer2Name[16];
} INST_STACK;
typedef struct inst_X25
{
unsigned long length;
enum ECfgInstType itype; /* eX25 */
char name[16];
char factoryName[16];
int conformance;
char localDteAddress[16];
unsigned short insertCalling;
unsigned short sequencing;
unsigned short startPVC;
unsigned short startInSVC;
unsigned short startBothSVC;
unsigned short startOutSVC;
unsigned short PVCs;
unsigned short inSVCs;
unsigned short bothSVCs;
unsigned short outSVCs;
unsigned short defaultPacketSize;
unsigned short defaultWindowSize;
unsigned short maxIFieldSize;
unsigned short t20;
unsigned short t21;
unsigned short t22;
unsigned short t23;
unsigned short t24;
unsigned short t25;
unsigned short t26;
unsigned short r22;
unsigned short r23;
} INST_X25;
typedef struct inst_QLLC
{
unsigned long length;
enum ECfgInstType itype; /* eQLLC */
char name[16];
char factoryName[16];
} INST_QLLC;
typedef struct inst_LAPB
{
unsigned long length;
enum ECfgInstType itype; /* eLAPB */
char name[16];
char factoryName[16];
unsigned short modulo;
unsigned short windowSize;
unsigned short responseTimer;
unsigned short retryCount;
unsigned short inactivityTimer;
} INST_LAPB;
typedef struct inst_X32 {
unsigned long length;
enum ECfgInstType itype; /* eX32 */
char name[16];
char factoryName[16];
unsigned char identity[34];
unsigned char signature[34];
} INST_X32;
typedef struct inst_X25SNA
{
unsigned long length;
enum ECfgInstType itype; /* eX25SNA */
char name[16];
char factoryName[16];
int conformance;
char connectionID[10];
} INST_X25SNA;
typedef struct inst_X25SVCCallData
{
unsigned long length;
enum ECfgInstType itype; /* eX25SVCCall */
char name[16];
BOOLEAN reqReverseCharging;
int CUGFormat;
char CUGIndex[6];
char networkUserID[42];
char addlFacilities[110];
int remConf;
int destAddrCnt;
struct X25DestAddr destAddr[8];
} INST_X25SVCCALLDATA;
typedef struct inst_X25PVCCallData
{
unsigned long length;
enum ECfgInstType itype; /* eX25PVCCall */
char name[16];
unsigned int logicalChannel;
unsigned int windowSize;
unsigned int packetSize;
int remConf;
} INST_X25PVCCALLDATA;
typedef struct inst_AsyncCallData
{
unsigned long length;
enum ECfgInstType itype; /* eAsyncCall */
char name[16];
int framingMethod;
unsigned int portSpeed;
int encodingScheme;
int remaddrcnt;
unsigned char remaddr[8][64];
} INST_ASYNCCALLDATA;
typedef struct inst_SyncCallData
{
unsigned long length;
enum ECfgInstType itype; /* eSyncCall */
char name[16];
int encodingScheme;
int remaddrcnt;
unsigned char remaddr[8][64];
} INST_SYNCCALLDATA;
typedef struct inst_X25FilterData
{
unsigned long length;
enum ECfgInstType itype; /* eX25FilterData */
char name[16];
signed long filterCount;
X25FILTER X25filterAry[15];
} INST_X25FILTERDATA;
typedef struct inst_ProductDef {
unsigned long length;
enum ECfgInstType itype; /* eProductDef */
char installDirectory[260];
} INST_PRODUCTDEF;
/**STRUCT+********************************************************************/
/* Structure: CfgCxDef */
/* */
/* Description: SDLC and TWINAX link spec data */
/* The link spec data consists of CfgCxDef followed by one of */
/* inst_SDLC or inst_TWINAX */
/* */
/*****************************************************************************/
typedef struct CfgCxDef
{
char name[16];
char stackName[16];
char dlcName[16];
int netCxType;
int framingMethod;
int portSpeed;
int encodingScheme;
int destaddrcnt;
char destaddr[8][64];
} CFGCXDEF;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_hdr */
/* */
/* Description: Instance structure common header */
/* */
/*****************************************************************************/
typedef struct inst_hdr
{
unsigned long length;
enum ECfgInstType itype;
} INST_HDR;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_SDLC */
/* */
/* Description: SDLC instance data */
/* */
/* Note: This can also be appended to PORT_SPEC_DATA */
/* */
/*****************************************************************************/
typedef struct inst_SDLC
{
unsigned long length;
enum ECfgInstType itype; /* eSDLC */
char name[16];
char factoryName[16];
int secondaryPoll;
unsigned short responseTimer;
unsigned short inactivityTimer;
unsigned short retryCount;
unsigned short connectTimer;
unsigned short connectretryCount;
unsigned char stationPollCount;
unsigned char multidropPrimary;
} INST_SDLC;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_TWINAX */
/* */
/* Description: TWINAX instance data */
/* */
/*****************************************************************************/
typedef struct inst_TWINAX
{
unsigned long length;
enum ECfgInstType itype; /* eTWINAX */
char name[16];
char factoryName[16];
} INST_TWINAX;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LINK_SPEC_DATA */
/* */
/* Description: Consists of information specific to this link station - */
/* format is specific to DLC type */
/*****************************************************************************/
typedef struct link_spec_data
{
#define SIZEOF_LINK_SPEC_DATA 1600
unsigned char link_data[SIZEOF_LINK_SPEC_DATA];
} LINK_SPEC_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_DEF_DATA */
/* */
/* Description: Contains data related to a specific link station, and passed */
/* in by the NOF */
/*****************************************************************************/
typedef struct ls_def_data
{
unsigned char description[RD_LEN];
/***************************************************************************/
/* Port Name - name of the associated port */
/***************************************************************************/
unsigned char port_name[8];
/***************************************************************************/
/* Adjacent CP Name. This is the defined CP name for the adj. node. */
/* This cannot be null for a connection to a back-level LEN node. */
/***************************************************************************/
unsigned char adj_cp_name[17];
/***************************************************************************/
/* Adjacent CP Type. Not in the FAP. This is to allow check on p9-230 of */
/* FAP that the adjacent node's network capabilities are as expected */
/***************************************************************************/
unsigned char adj_cp_type;
/***************************************************************************/
/* Destination Address. The address used by the node to address the adj. */
/* link station. Various contents according to DLC type (see p9-205) */
/***************************************************************************/
LINK_ADDRESS dest_address;
/***************************************************************************/
/* Auto-activation Supported - can the adjacent link station be activated */
/* other than by NOF. If so CS tries to activate the station every time */
/* an ACTIVATE_ROUTE is recd. from SS requesting to use the link station. */
/* Dynamic link stations cannot be NOF-activated, so always support this. */
/***************************************************************************/
unsigned char auto_act_supp;
/***************************************************************************/
/* TG Number - if this is non-zero value it is used as a pre-assigned */
/* TG number for the LS */
/***************************************************************************/
unsigned char tg_number;
/***************************************************************************/
/* TG related data */
/***************************************************************************/
/***************************************************************************/
/* Limited Resource - is the TG a limited resource (i.e. will it be */
/* deactivated if no sessions are using it). The NOF sets this for */
/* defined TGs (though TGs on nonswitched connections are never limited */
/* resources). Implicit and dynamic TGs are always limited resources. */
/***************************************************************************/
unsigned char limited_resource;
/***************************************************************************/
/* Solicit SSCP Sessions => only applies if remote node is T4/5. If set */
/* then the ACTPU Suppression indicator on XID3 will be masked off. */
/***************************************************************************/
unsigned char solicit_sscp_sessions;
/***************************************************************************/
/* Specified when solicit_sscp_sessions is AP_YES, indicates the name of */
/* the local PU which will use this link */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Disable remote activation flag */
/***************************************************************************/
unsigned char disable_remote_act;
#ifdef PU_CONC_SUPPORTED
/***************************************************************************/
/* Specified when solicit_sscp_sessions is AP_NO, specifies what services */
/* the local node is providing for the downstream PU. */
/***************************************************************************/
unsigned char dspu_services;
/***************************************************************************/
/* Specifies downstream PU name if dspu_services is AP_PU_CONCENTRATION */
/* or AP_DLUR */
/***************************************************************************/
unsigned char dspu_name[8];
/***************************************************************************/
/* DLUS name if dspu_services is AP_DLUR */
/* and the backup as well */
/***************************************************************************/
unsigned char dlus_name[17];
unsigned char bkup_dlus_name[17];
#else
unsigned char dspu_services; /* reserved */
unsigned char dspu_name[8]; /* reserved */
unsigned char dlus_name[17]; /* reserved */
unsigned char bkup_dlus_name[17]; /* reserved */
#endif
/***************************************************************************/
/* HPR supported */
/***************************************************************************/
unsigned char hpr_supported;
/***************************************************************************/
/* HPR link level error recovery supported */
/***************************************************************************/
unsigned char hpr_link_lvl_error;
/***************************************************************************/
/* HPR link deactivation timer (in seconds) */
/***************************************************************************/
unsigned short link_deact_timer;
unsigned char reserv1; /* reserved */
unsigned char default_nn_server;
/***************************************************************************/
/* Link Station Attributes */
/***************************************************************************/
unsigned char ls_attributes[4];
/***************************************************************************/
/* Adjacent node ID - identifies back-level LEN end nodes. */
/* See fig 9-44 in Ref. */
/***************************************************************************/
unsigned char adj_node_id[4];
/***************************************************************************/
/* Local node ID - overrides node ID specified on START_NODE for XIDs */
/* sent over this link (if non-null) */
/***************************************************************************/
unsigned char local_node_id[4];
/***************************************************************************/
/* CP-CP Sessions - are they supported on this TG. Cannot be set if adj. */
/* node is LEN. Used to set CP-CP Sessions Support field on XID3 and to */
/* set up various checks for the DEFINE_LS. */
/***************************************************************************/
unsigned char cp_cp_sess_support;
/***************************************************************************/
/* TG Characteristics. Defined associated characteristics. */
/***************************************************************************/
unsigned char use_default_tg_chars;
TG_DEFINED_CHARS tg_chars;
/***************************************************************************/
/* Link Station Parameters - additional defined data. */
/***************************************************************************/
/***************************************************************************/
/* LS Parms fields - old field name was ls_parms */
/***************************************************************************/
/***************************************************************************/
/* Target pacing count */
/***************************************************************************/
unsigned short target_pacing_count;
/***************************************************************************/
/* Desired maximum send BTU size */
/***************************************************************************/
unsigned short max_send_btu_size;
/***************************************************************************/
/* Link Station Role */
/***************************************************************************/
unsigned char ls_role;
/***************************************************************************/
/* Maximum Number of I-Frames That Can be Received by the XID Sender */
/* Before Acknowlegment. Set to zero if the default value from */
/* DEFINE_PORT should be used. */
/***************************************************************************/
unsigned char max_ifrm_rcvd;
/***************************************************************************/
/* Retry Timeout. Time in seconds between attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_timeout;
/***************************************************************************/
/* Retry Limit. Maximum Number of attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_limit;
/***************************************************************************/
/* Data Compression requested. Only valid for LU 0 to 3 traffic. */
/***************************************************************************/
unsigned char conventional_lu_compression;
/***************************************************************************/
/* Cryptography support on conventional LU sessions */
/***************************************************************************/
unsigned char conventional_lu_cryptography;
/***************************************************************************/
/* This defines how incoming calls resolve to this link station, in the */
/* case that a zero-length destination address is specified */
/***************************************************************************/
unsigned char null_address_meaning;
/***************************************************************************/
/* Conditions for automatic retry */
/***************************************************************************/
unsigned char retry_flags;
/***************************************************************************/
/* Maximum allowed number of automatic retries if the remote node is not */
/* responding, or the port is inactive, or the DLC is inactive. */
/***************************************************************************/
unsigned short max_activation_attempts;
/***************************************************************************/
/* Retry delay time, used to pace automatic retries and application */
/* retries, if configured by retry_flags. */
/***************************************************************************/
unsigned short activation_delay_timer;
/***************************************************************************/
/* Branch Extender: Specifies whether this link is an uplink or a */
/* downlink. */
/***************************************************************************/
unsigned char branch_link_type;
/***************************************************************************/
/* Branch Extender: Specifies whether adjacent CP is allowed, required or */
/* permitted to be a BrNN. Only valid for Network Nodes. */
/***************************************************************************/
unsigned char adj_brnn_cp_support;
unsigned char reserv4[20]; /* reserved */
/***************************************************************************/
/* Link-specific data */
/***************************************************************************/
unsigned short link_spec_data_len;
} LS_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LS */
/* */
/* Description: Message to add a new LS_CB or update existing one */
/*****************************************************************************/
typedef struct define_ls
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Link Station */
/***************************************************************************/
unsigned char ls_name[8];
/***************************************************************************/
/* Defined data */
/***************************************************************************/
LS_DEF_DATA def_data;
} DEFINE_LS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_0_TO_3_DEF_DATA */
/* */
/* Description: Data used to define a LU_0_TO_3 */
/*****************************************************************************/
typedef struct lu_0_to_3_def_data
{
unsigned char description[RD_LEN];
unsigned char nau_address;
unsigned char pool_name[8];
unsigned char pu_name[8];
unsigned char priority;
unsigned char lu_model;
unsigned char sscp_id[6];
unsigned short timeout;
unsigned char app_spec_def_data[16];
unsigned char model_name[7];
unsigned char term_method;
unsigned char reserv3[16]; /* reserved */
} LU_0_TO_3_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LU_0_TO_3 */
/* */
/* Description: DEFINE_LU_0_TO_3 verb control block */
/*****************************************************************************/
typedef struct define_lu_0_to_3
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
LU_0_TO_3_DEF_DATA def_data;
} DEFINE_LU_0_TO_3;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LU_0_TO_3_RANGE */
/* */
/* Description: DEFINE_LU_0_TO_3_RANGE verb control block */
/*****************************************************************************/
typedef struct define_lu_0_to_3_range
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char base_name[6];
unsigned char description[RD_LEN];
unsigned char min_nau;
unsigned char max_nau;
unsigned char pool_name[8];
unsigned char pu_name[8];
unsigned char priority;
unsigned char lu_model;
unsigned char sscp_id[6];
unsigned short timeout;
unsigned char app_spec_def_data[16];
unsigned char model_name[7];
unsigned char name_attributes;
unsigned char base_number;
unsigned char term_method;
unsigned char reserv4[14]; /* reserved */
} DEFINE_LU_0_TO_3_RANGE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LU_POOL */
/* */
/* Description: DEFINE_LU_POOL verb control block */
/*****************************************************************************/
typedef struct define_lu_pool
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char pool_name[8];
unsigned char description[RD_LEN];
unsigned char reserv3[4]; /* reserved */
unsigned short num_lus;
unsigned char lu_names[10][8];
} DEFINE_LU_POOL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_CHARS */
/* */
/* Description: Mode characteristics - passed in on DEFINE_MODE */
/*****************************************************************************/
typedef struct mode_chars
{
unsigned char description[RD_LEN];
unsigned short max_ru_size_upp;
unsigned char receive_pacing_win;
unsigned char default_ru_size;
unsigned short max_neg_sess_lim;
unsigned short plu_mode_session_limit;
unsigned short min_conwin_src;
unsigned char cos_name[8];
unsigned char cryptography;
unsigned char compression;
unsigned short auto_act;
unsigned short min_conloser_src;
unsigned short max_ru_size_low;
unsigned short max_receive_pacing_win;
unsigned char max_compress_lvl;
unsigned char max_decompress_lvl;
unsigned char comp_in_series;
unsigned char reserv4[24]; /* reserved */
} MODE_CHARS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_MODE */
/* */
/* Description: DEFINE_MODE verb control block */
/*****************************************************************************/
typedef struct define_mode
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char mode_name[8];
unsigned short reserv3; /* reserved */
MODE_CHARS mode_chars;
} DEFINE_MODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PLU_CHARS */
/* */
/* Description: Partner LU characteristics - passed in on DEFINE_PARTNER_LU */
/*****************************************************************************/
typedef struct plu_chars
{
unsigned char fqplu_name[17];
unsigned char plu_alias[8];
unsigned char description[RD_LEN];
unsigned char plu_un_name[8];
unsigned char preference;
unsigned short max_mc_ll_send_size;
unsigned char conv_security_ver;
unsigned char parallel_sess_supp;
unsigned char reserv2[8]; /* reserved */
} PLU_CHARS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_PARTNER_LU */
/* */
/* Description: DEFINE_PARTNER_LU verb control block */
/*****************************************************************************/
typedef struct define_partner_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
PLU_CHARS plu_chars;
} DEFINE_PARTNER_LU;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* Maximum length of full Adapter name */
/*****************************************************************************/
#define LLM_ADAPTER_NAME_LEN 64
/*****************************************************************************/
/* adapter id - unique identifier of adapter which is being activated */
/*****************************************************************************/
#define SIZEOF_ADAPTER_ID 8
/**STRUCT+********************************************************************/
/* Structure: NDIS_SPEC_DATA */
/* */
/* Description: Device specific data for NDIS N-MAC stub */
/*****************************************************************************/
typedef struct ndis_spec_data
{
/***************************************************************************/
/* Receive buffer pool size */
/***************************************************************************/
unsigned short pool_size;
/***************************************************************************/
/* Maximum frame size (including DLC header i.e. sizes a receive buffer) */
/***************************************************************************/
unsigned short frame_size;
/***************************************************************************/
/* Anticipated number of outstanding transmits */
/***************************************************************************/
unsigned short num_xmit_descriptors;
/***************************************************************************/
/* Adapter name - null terminated variable length full name of LAN adapter */
/* to activate */
/***************************************************************************/
unsigned char adapter_name[LLM_ADAPTER_NAME_LEN];
} NDIS_SPEC_DATA;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* size of LLC_SPEC_DATA and adapter spec data */
/*****************************************************************************/
#define SIZEOF_LLC_SPEC_DATA 16
#define SIZEOF_ADAPT_SPEC_DATA 72
/**STRUCT+********************************************************************/
/* Structure: LLC_SAP_SPEC_DATA */
/* */
/* Description: SAP specific data for LLC2 code - flows in ACTIVATE_SAP */
/* */
/*****************************************************************************/
typedef struct llc_sap_spec_data
{
/**************************************************************************/
/* time out values */
/**************************************************************************/
unsigned short ack_timeout;
unsigned short p_bit_timeout;
unsigned short t2_timeout;
unsigned short rej_timeout;
unsigned short busy_state_timeout;
unsigned short idle_timeout;
unsigned short max_retry;
unsigned short upward_cred_q_threshold;
unsigned short window_inc_threshold;
unsigned short pad;
} LLC_SAP_SPEC_DATA;
#define SIZEOF_SAP_SPEC_DATA 20
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PROM_MODE_DATA */
/* */
/* Description: Fields which control the setting of promiscous mode within */
/* the port spec data structure */
/* */
/*****************************************************************************/
typedef struct prom_mode_data
{
/***************************************************************************/
/* length of LLC2 port spect data */
/***************************************************************************/
unsigned short port_spec_data_size;
/***************************************************************************/
/* Promiscuous mode flag */
/***************************************************************************/
unsigned char promiscuous;
/***************************************************************************/
/* Dlsw flag - use dlsw filter */
/***************************************************************************/
unsigned char dlsw_flag;
/***************************************************************************/
/* VRN - Virtual ring number - used only if promiscous set to true */
/***************************************************************************/
unsigned short vrn;
/***************************************************************************/
/* Bridge Number - used with VRN to create a Route Designator */
/***************************************************************************/
unsigned short bridge_num;
} PROM_MODE_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LLC_PORT_SPEC_DATA */
/* */
/* Description: PORT specific data for LLC2 code - flows in ACTIVATE_PORT */
/* */
/*****************************************************************************/
typedef struct llc_port_spec_data
{
/***************************************************************************/
/* promiscous mode data */
/***************************************************************************/
PROM_MODE_DATA prom_data;
/***************************************************************************/
/* Sap specific data - time out values for LLC2 stations */
/***************************************************************************/
LLC_SAP_SPEC_DATA sap_spec_data;
/***************************************************************************/
/* Adapter ID - This is used to identify the specific adapter to which */
/* this port is attached. */
/***************************************************************************/
unsigned char adapter_id[SIZEOF_ADAPTER_ID];
/***************************************************************************/
/* adapter specific data - data for the adapter passed thru untouched */
/***************************************************************************/
unsigned char adapt_spec_data[SIZEOF_ADAPT_SPEC_DATA];
/***************************************************************************/
/* receive flow control fields */
/***************************************************************************/
unsigned long max_rcv_pool_kb;
unsigned char throttle_back_pcent;
unsigned char pad[3];
} LLC_PORT_SPEC_DATA;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* The following are the Port Spec Data structures for DLC types SDLC, */
/* TWINAX and WAC */
/*****************************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CfgStackDef */
/* */
/* Description: SDLC, TWINAX and WAC port spec data */
/* The link spec data consists of CfgStackDef followed by one */
/* or more of inst_SDLC, inst_HayesAT, inst_V25bis, inst_Leased,*/
/* inst_AsyncAdapter, instSyncAdapter, instListenDef, */
/* inst_TwxAdapter or inst_WacAdapter */
/* */
/*****************************************************************************/
typedef struct CfgStackDef
{
char name[16];
int type;
int netCxType;
int enableIncoming;
char layer1Name[16];
char layer2Name[16];
} CFGSTACKDEF;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_HayesAT */
/* */
/* Description: Hayes instance data */
/* */
/*****************************************************************************/
typedef struct inst_HayesAT
{
unsigned long length;
enum ECfgInstType itype; /* eHayesAT */
char name[16];
char factoryName[16];
char modemName[256];
char portName[16];
char dialogName[16];
} INST_HAYESAT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_V25bis */
/* */
/* Description: V25 instance data */
/* */
/*****************************************************************************/
typedef struct inst_V25bis
{
unsigned long length;
enum ECfgInstType itype; /* eV25bis */
char name[16];
char factoryName[16];
char dialogName[16];
} INST_V25BIS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_Leased */
/* */
/* Description: Leased instance data */
/* */
/*****************************************************************************/
typedef struct inst_Leased
{
unsigned long length;
enum ECfgInstType itype; /* eLeased */
char name[16];
char factoryName[16];
} INST_LEASED;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_AsyncAdapter */
/* */
/* Description: Async Adapter instance data */
/* */
/*****************************************************************************/
typedef struct inst_AsyncAdapter
{
unsigned long length;
enum ECfgInstType itype; /* eAsyncAdapter */
char name[16];
char factoryName[16];
unsigned short baseAddress;
unsigned short IRQLevel;
unsigned short maxFrameSize;
unsigned short maxRxBuffers;
char port[16];
} INST_ASYNCADAPTER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_SyncAdapter */
/* */
/* Description: Sync Adapter instance data */
/* */
/*****************************************************************************/
typedef struct inst_SyncAdapter
{
unsigned long length;
enum ECfgInstType itype; /* eSyncAdapter */
char name[16];
char factoryName[16];
unsigned short IRQLevel;
unsigned short modemStatusIRQ;
unsigned short maxFrameSize;
unsigned short maxRxBuffers;
int defaultEncoding;
int constantRTS;
char port[16];
} INST_SYNCADAPTER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_OemAdapter */
/* */
/* Description: Oem Shallow Adapter instance data */
/* */
/*****************************************************************************/
typedef struct inst_OemAdapter
{
unsigned long length;
enum ECfgInstType itype; /* eOemAdapter */
char name[16];
char factoryName[16];
char port[16];
unsigned short maxFrameSize;
unsigned short maxRxBuffers;
int defaultEncoding;
int constantRTS;
int dumbCardInterface;
int fullDuplex;
int OemDataLength;
unsigned char OemData[256];
} INST_OEMADAPTER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_ListenDef */
/* */
/* Description: Listen Def instance data */
/* */
/*****************************************************************************/
typedef struct inst_ListenDef
{
unsigned long length;
enum ECfgInstType itype; /* eCx */
char name[16];
char stackName[16];
char dlcName[16];
int netCxType;
int framingMethod;
int portSpeed;
int encodingScheme;
int destaddrcnt;
char destaddr[8][64];
} INST_LISTENDEF;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_TwxAdapter */
/* */
/* Description: Twinax Adapter instance data */
/* */
/*****************************************************************************/
typedef struct inst_TwxAdapter
{
unsigned long length;
enum ECfgInstType itype; /* eTwinaxAdapter */
char name[16];
char factoryName[16];
int adapterType;
int IRQLevel;
int memoryAddress;
int IOAddress;
int maxFrameSize;
char port[16];
} INST_TWXADAPTER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: inst_WacAdapter */
/* */
/* Description: WAC Adapter instance data */
/* */
/*****************************************************************************/
typedef struct inst_WacAdapter {
unsigned long length;
enum ECfgInstType itype; /* eWacAdapter */
char name[16];
char factoryName[16];
unsigned short maxFrameSize;
unsigned short maxRxBuffers;
int defaultEncoding;
int constantRTS;
unsigned long memoryAddress;
char port[16];
unsigned short flags;
} INST_WACADAPTER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PORT_SPEC_DATA */
/* */
/* Description: Contains data related to a specific Port */
/*****************************************************************************/
typedef struct port_spec_data
{
#define SIZEOF_PORT_SPEC_DATA 1600
unsigned char port_data[SIZEOF_PORT_SPEC_DATA];
} PORT_SPEC_DATA;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* Port Number used by DLC to identify the port */
/*****************************************************************************/
#define NULL_PORT_NUMBER 0L
/**STRUCT+********************************************************************/
/* Structure: PORT_DEF_DATA */
/* */
/* Description: Contains data related to a port and passed in on the */
/* DEFINE_PORT from the NOF */
/*****************************************************************************/
typedef struct port_def_data
{
unsigned char description[RD_LEN];
/***************************************************************************/
/* DLC Name - DLC associated with this port. Defined before the port. */
/***************************************************************************/
unsigned char dlc_name[8];
/***************************************************************************/
/* Port Type - the type of the port. Can be: */
/* nonswitched - used for nonswitched (leased line etc.) connections */
/* switched - used for switched (e.g. dialed line) connections */
/* SATF - used for a Shared Access Transport Facility (e.g. TR) */
/* Note the types are bit-testable so table of allowed types for given DLC */
/* type in ncs.h can be set up. */
/***************************************************************************/
unsigned char port_type;
/***************************************************************************/
/* Port Attributes */
/***************************************************************************/
unsigned char port_attributes[4];
/***************************************************************************/
/* Specifies whether implicit link stations off this port are uplink or */
/* downlink if the adjacent node is an end node. */
/***************************************************************************/
unsigned char implicit_uplink_to_en;
unsigned char reserv3[2];
/***************************************************************************/
/* Port Number - used by DLC to identify the port. */
/***************************************************************************/
unsigned long port_number;
/***************************************************************************/
/* Maximum Receive BTU Size - that a link station on this port can */
/* receive. Sent to the port on ACTIVATE_PORT (differs from FAP...) */
/***************************************************************************/
unsigned short max_rcv_btu_size;
/***************************************************************************/
/* Desired Total, Inbound, Outbound Link-activation Limits. Desired max. */
/* number of active logical links on this port (negotiated with DLC). */
/* Total >= Inbound+Outbound. See p9-212 of Node Ref for restrictions. */
/***************************************************************************/
unsigned short tot_link_act_lim;
unsigned short inb_link_act_lim;
unsigned short out_link_act_lim;
/***************************************************************************/
/* Link Station Role - initial role for all TGs through the port. Always */
/* negotiable for SATF ports. Sent on XID3s for link stations on port. */
/***************************************************************************/
unsigned char ls_role;
/***************************************************************************/
/* Conditions for automatic retry */
/***************************************************************************/
unsigned char retry_flags;
/***************************************************************************/
/* Maximum allowed number of automatic retries if the remote node is not */
/* responding, or the port is inactive, or the DLC is inactive. */
/***************************************************************************/
unsigned short max_activation_attempts;
/***************************************************************************/
/* Retry delay time, used to pace automatic retries and application */
/* retries, if configured by retry_flags. */
/***************************************************************************/
unsigned short activation_delay_timer;
unsigned char reserv1[10]; /* reserved */
unsigned char implicit_dspu_template[8];
unsigned short implicit_ls_limit;
unsigned char reserv2;
/***************************************************************************/
/* Implicit dspu support - the support for dspu's on implicit links. */
/* Can be AP_NONE, AP_DLUR or AP_PU_CONCENTRATION */
/***************************************************************************/
unsigned char implicit_dspu_services;
/***************************************************************************/
/* link deactivation timer for implicit links (in seconds) */
/***************************************************************************/
unsigned short implicit_deact_timer;
/***************************************************************************/
/* Activation XID Exchange Limit - max number of XID exchanges in link */
/* activation. Set high enough to handle various retries (p9-221 in NRef).*/
/***************************************************************************/
unsigned short act_xid_exchange_limit;
/***************************************************************************/
/* Nonactivation XID Exchange Limit - max number of XID exchanges during a */
/* nonactivation exchange. Again set high. */
/***************************************************************************/
unsigned short nonact_xid_exchange_limit;
/***************************************************************************/
/* Link-Station Transmit-Receive Capability. Is the port two-way */
/* alternating or two-way simultaneous. Used in XID3. */
/***************************************************************************/
unsigned char ls_xmit_rcv_cap;
/***************************************************************************/
/* Maximum Number of I-Frames That Can be Received by the XID Sender */
/* Before Acknowlegment. Implies modulus for send/receive sequence */
/* counts. Sent in the XID3. See p9-224 for discusion of implied moduli. */
/***************************************************************************/
unsigned char max_ifrm_rcvd;
/***************************************************************************/
/* Old LS parms fields - old field called ls_defaults */
/* Link_spec_data moved to end */
/***************************************************************************/
/***************************************************************************/
/* Target pacing count */
/***************************************************************************/
unsigned short target_pacing_count;
/***************************************************************************/
/* Desired maximum send BTU size */
/***************************************************************************/
unsigned short max_send_btu_size;
/***************************************************************************/
/* port characteristics */
/***************************************************************************/
/***************************************************************************/
/* DLC Data (DLC signalling information for VRN) */
/***************************************************************************/
LINK_ADDRESS dlc_data;
/***************************************************************************/
/* DLC Data (DLC signalling information for HPR data) */
/***************************************************************************/
LINK_ADDRESS hpr_dlc_data;
/***************************************************************************/
/* Implicit fields - alter the behaviour of IMPLICIT LS's */
/***************************************************************************/
unsigned char implicit_cp_cp_sess_support;
unsigned char implicit_limited_resource;
unsigned char implicit_hpr_support;
unsigned char implicit_link_lvl_error;
unsigned char retired1; /* reserved */
/***************************************************************************/
/* Default TG Chars - used for DEFINE_LS or implicit links */
/***************************************************************************/
TG_DEFINED_CHARS default_tg_chars;
unsigned char discovery_supported;
/***************************************************************************/
/* Port and link specific data */
/***************************************************************************/
unsigned short port_spec_data_len;
unsigned short link_spec_data_len;
} PORT_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_PORT */
/* */
/* Description: Message to add a new PORT_CB or update existing one */
/*****************************************************************************/
typedef struct define_port
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Port */
/***************************************************************************/
unsigned char port_name[8];
/***************************************************************************/
/* Defined Data */
/***************************************************************************/
PORT_DEF_DATA def_data;
} DEFINE_PORT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TP_CHARS */
/* */
/* Description: TP characteristics - passed in on DEFINE_TP */
/*****************************************************************************/
typedef struct tp_chars
{
unsigned char description[RD_LEN];
unsigned char conv_type;
unsigned char security_rqd;
unsigned char sync_level;
unsigned char dynamic_load;
unsigned char enabled;
unsigned char pip_allowed;
unsigned char duplex_support;
unsigned char reserv3[9]; /* reserved */
unsigned short tp_instance_limit;
unsigned short incoming_alloc_timeout;
unsigned short rcv_alloc_timeout;
unsigned short tp_data_len;
TP_SPEC_DATA tp_data; /* product-specific TP data */
} TP_CHARS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_TP */
/* */
/* Description: DEFINE_TP verb control block */
/*****************************************************************************/
typedef struct define_tp
{
unsigned short opcode;
unsigned char attributes; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_name[64];
TP_CHARS tp_chars;
} DEFINE_TP;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* The security_user_id and security_password fields in CPIC side info */
/* can be 8 or 10 bytes long. The version 1.2 CPI-C spec specifies 10 */
/* bytes, but for backwards compatibility, 8 may be selected. */
/*****************************************************************************/
#define CPIC_SECURITY_INFO_LEN 10
/**STRUCT+********************************************************************/
/* Structure: CPIC_SIDE_INFO */
/* */
/* Description: struct used by xcmssi and xcmesi to define side information */
/*****************************************************************************/
typedef struct cpic_side_info
{
unsigned char partner_lu_name[17];
unsigned char reserved[3]; /* reserved */
unsigned long tp_name_type;
unsigned char tp_name[64];
unsigned char mode_name[8];
unsigned long conversation_security_type;
unsigned char security_user_id[CPIC_SECURITY_INFO_LEN];
unsigned char security_password[CPIC_SECURITY_INFO_LEN];
} CPIC_SIDE_INFO;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CPIC_SIDE_INFO_DEF_DATA */
/* */
/* Description: Defined Data for CPI-C side information entry */
/*****************************************************************************/
typedef struct cpic_side_info_def_data
{
unsigned char description[RD_LEN];
CPIC_SIDE_INFO side_info;
unsigned char user_data[32];
} CPIC_SIDE_INFO_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_CPIC_SIDE_INFO */
/* */
/* Description: Message to add a new CPI-C side information entry */
/*****************************************************************************/
typedef struct define_cpic_side_info
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserv2a[8]; /* reserved */
unsigned char sym_dest_name[8];
CPIC_SIDE_INFO_DEF_DATA def_data;
} DEFINE_CPIC_SIDE_INFO;
/**STRUCT-********************************************************************/
#ifdef PU_CONC_SUPPORTED
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_LU_DEF_DATA */
/* */
/* Description: Parameters used for defining downstream lus */
/*****************************************************************************/
typedef struct downstream_lu_def_data
{
unsigned char description[RD_LEN];
unsigned char nau_address;
unsigned char dspu_name[8];
unsigned char host_lu_name[8];
unsigned char allow_timeout;
unsigned char delayed_logon;
unsigned char reserv2[6]; /* reserved */
} DOWNSTREAM_LU_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DOWNSTREAM_LU */
/* */
/* Description: DEFINE_DOWNSTREAM_LU verb control block */
/*****************************************************************************/
typedef struct define_downstream_lu
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char dslu_name[8];
DOWNSTREAM_LU_DEF_DATA def_data;
} DEFINE_DOWNSTREAM_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DOWNSTREAM_LU_RANGE */
/* */
/* Description: DEFINE_DOWNSTREAM_LU_RANGE verb control block */
/*****************************************************************************/
typedef struct define_downstream_lu_range
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char dslu_base_name[5];
unsigned char reserv3; /* reserved */
unsigned char description[RD_LEN];
unsigned char min_nau;
unsigned char max_nau;
unsigned char dspu_name[8];
unsigned char host_lu_name[8];
unsigned char allow_timeout;
unsigned char delayed_logon;
unsigned char reserv4[6]; /* reserved */
} DEFINE_DOWNSTREAM_LU_RANGE;
/**STRUCT-********************************************************************/
#endif
/**STRUCT+********************************************************************/
/* Structure: DELETE_ADJACENT_LEN_NODE */
/* */
/* Description: DELETE_ADJACENT_LEN_NODE verb control block */
/*****************************************************************************/
typedef struct delete_adjacent_len_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char cp_name[17];
unsigned char num_of_lus;
unsigned char lu_names[10][8];
unsigned char wildcard_lus;
} DELETE_ADJACENT_LEN_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_ADJACENT_NODE */
/* */
/* Description: DELETE_ADJACENT_NODE verb control block */
/*****************************************************************************/
typedef struct delete_adjacent_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char cp_name[17];
unsigned char reserv3[3]; /* reserved */
unsigned short num_of_lus;
} DELETE_ADJACENT_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_CN */
/* */
/* Description: Message to delete a CN_CB */
/*****************************************************************************/
typedef struct delete_cn
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Connection Network */
/***************************************************************************/
unsigned char fqcn_name[17];
unsigned char reserv1; /* reserved */
unsigned short num_ports;
unsigned char port_name[MAX_PORTS_PER_DEFINE][8];
} DELETE_CN;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_COS */
/* */
/* Description: DELETE_COS verb control block */
/*****************************************************************************/
typedef struct delete_cos
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char cos_name[8];
} DELETE_COS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_DLC */
/* */
/* Description: Message to delete a DLC_CB */
/*****************************************************************************/
typedef struct delete_dlc
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Data Link Control */
/***************************************************************************/
unsigned char dlc_name[8];
} DELETE_DLC;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_FOCAL_POINT */
/* */
/* Description: Allows the operator to delete a focal point */
/*****************************************************************************/
typedef struct delete_focal_point
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserved; /* reserved */
unsigned char ms_category[8];
unsigned char type;
} DELETE_FOCAL_POINT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_INTERNAL_PU */
/* */
/* Description: Message to delete a DLUR-supported PU */
/*****************************************************************************/
typedef struct delete_internal_pu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the PU */
/***************************************************************************/
unsigned char pu_name[8];
} DELETE_INTERNAL_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LOCAL_LU */
/* */
/* Description: DELETE_LOCAL_LU verb control block */
/*****************************************************************************/
typedef struct delete_local_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
} DELETE_LOCAL_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LS */
/* */
/* Description: Message to delete an LS_CB */
/*****************************************************************************/
typedef struct delete_ls
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Link Station */
/***************************************************************************/
unsigned char ls_name[8];
} DELETE_LS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LU_0_TO_3 */
/* */
/* Description: DELETE_LU_0_TO_3 verb control block */
/*****************************************************************************/
typedef struct delete_lu_0_to_3
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
} DELETE_LU_0_TO_3;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LU_0_TO_3_RANGE */
/* */
/* Description: DELETE_LU_0_TO_3_RANGE verb control block */
/*****************************************************************************/
typedef struct delete_lu_0_to_3_range
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char base_name[6];
unsigned char min_nau;
unsigned char max_nau;
unsigned char name_attributes;
unsigned char base_number;
unsigned char reserv5[16]; /* reserved */
} DELETE_LU_0_TO_3_RANGE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LU_POOL */
/* */
/* Description: DELETE_LU_POOL verb control block */
/*****************************************************************************/
typedef struct delete_lu_pool
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char pool_name[8];
unsigned short num_lus;
unsigned char lu_names[10][8];
} DELETE_LU_POOL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_MODE */
/* */
/* Description: DELETE_MODE verb control block */
/*****************************************************************************/
typedef struct delete_mode
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char mode_name[8];
} DELETE_MODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_PARTNER_LU */
/* */
/* Description: DELETE_PARTNER_LU verb control block */
/*****************************************************************************/
typedef struct delete_partner_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char fqplu_name[17];
} DELETE_PARTNER_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_PORT */
/* */
/* Description: Message to delete a PORT_CB */
/*****************************************************************************/
typedef struct delete_port
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the Port */
/***************************************************************************/
unsigned char port_name[8];
} DELETE_PORT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_TP */
/* */
/* Description: DELETE_TP verb control block */
/*****************************************************************************/
typedef struct delete_tp
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_name[64];
} DELETE_TP;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_CPIC_SIDE_INFO */
/* */
/* Description: Message to delete a CPI-C side information entry */
/*****************************************************************************/
typedef struct delete_cpic_side_info
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserv2a[8]; /* reserved */
unsigned char sym_dest_name[8];
} DELETE_CPIC_SIDE_INFO;
/**STRUCT-********************************************************************/
#ifdef PU_CONC_SUPPORTED
/**STRUCT+********************************************************************/
/* Structure: DELETE_DOWNSTREAM_LU */
/* */
/* Description: DELETE_DOWNSTREAM_LU verb control block */
/*****************************************************************************/
typedef struct delete_downstream_lu
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char dslu_name[8];
} DELETE_DOWNSTREAM_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_DOWNSTREAM_LU_RANGE */
/* */
/* Description: DELETE_DOWNSTREAM_LU_RANGE verb control block */
/*****************************************************************************/
typedef struct delete_downstream_lu_range
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char dslu_base_name[5];
unsigned char min_nau;
unsigned char max_nau;
} DELETE_DOWNSTREAM_LU_RANGE;
/**STRUCT-********************************************************************/
#endif
/**STRUCT+********************************************************************/
/* Structure: START_DLC */
/* */
/* Description: Sent from NOF to CS to request activation of a DLC, also */
/* returned as a response from CS to NOF to indicate success or failure of */
/* DLC activation */
/*****************************************************************************/
typedef struct start_dlc
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the DLC */
/***************************************************************************/
unsigned char dlc_name[8];
} START_DLC;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: START_LS */
/* */
/* Description: Sent from NOF to CS to request activation of a link, also */
/* returned by CS to NOF to indicate success or failure of link activation. */
/* May also be sent from CS to NOF as an indication that a link has been */
/* started (as a result of ACTIVATE_ROUTE or CONNECT_IN). */
/*****************************************************************************/
typedef struct start_ls
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the LS */
/***************************************************************************/
unsigned char ls_name[8];
unsigned char enable;
unsigned char reserv3[3]; /* reserved */
} START_LS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: START_PORT */
/* */
/* Description: Sent from NOF to CS to request activation of a port, also */
/* returned by CS to NOF to indicate success or failure of request. */
/*****************************************************************************/
typedef struct start_port
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the PORT */
/***************************************************************************/
unsigned char port_name[8];
} START_PORT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: STOP_DLC */
/* */
/* Description: Sent from NOF to CS to request that a DLC be stopped. Also */
/* returned by CS to NOF to indicate that the DLC has been stopped (or that */
/* the request has been rejected for some reason). May also be sent by CS */
/* as an indication that the DLC has been stopped remotely... */
/*****************************************************************************/
typedef struct stop_dlc
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Whether the DLC is to be stopped in orderly or immediate fashion */
/***************************************************************************/
unsigned char stop_type;
/***************************************************************************/
/* Name of the DLC */
/***************************************************************************/
unsigned char dlc_name[8];
} STOP_DLC;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: STOP_LS */
/* */
/* Description: Sent from NOF to CS to request deactivation of a link */
/* station. Also returned by CS to indicate that link has been stopped, or */
/* that the STOP_LS request has been rejected. May also be sent from CS to */
/* NOF as an indication that the link has been stopped remotely. */
/*****************************************************************************/
typedef struct stop_ls
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Whether the Link is to be stopped in orderly or immediate fashion */
/***************************************************************************/
unsigned char stop_type;
/***************************************************************************/
/* Name of the Link Station */
/***************************************************************************/
unsigned char ls_name[8];
unsigned char disable;
unsigned char reserved[3]; /* reserved */
} STOP_LS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: STOP_PORT */
/* */
/* Description: Sent NOF->CS to request port be stopped. Also returned by */
/* CS to indicate success or failure of request. May also be sent CS->NOF */
/* as indication of port failure. */
/*****************************************************************************/
typedef struct stop_port
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Whether the port is to be stopped in orderly or immediate fashion */
/***************************************************************************/
unsigned char stop_type;
/***************************************************************************/
/* Name of the Port */
/***************************************************************************/
unsigned char port_name[8];
} STOP_PORT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: START_INTERNAL_PU */
/* */
/* Description: Signal used by operator to start an internal PU */
/*****************************************************************************/
typedef struct start_internal_pu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the PU */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Name of the DLUS */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Name of the backup DLUS name */
/***************************************************************************/
unsigned char bkup_dlus_name[17];
} START_INTERNAL_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: STOP_INTERNAL_PU */
/* */
/* Description: Signal used by operator to stop an internal PU */
/*****************************************************************************/
typedef struct stop_internal_pu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the PU */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Type of STOP requested */
/* AP_ORDERLY_STOP 0x01 */
/* AP_IMMEDIATE_STOP 0x02 */
/***************************************************************************/
unsigned char stop_type;
} STOP_INTERNAL_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ACTIVATE_SESSION */
/* */
/* Description: ACTIVATE_SESSION verb control block */
/*****************************************************************************/
typedef struct activate_session
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char mode_name[8];
unsigned char fqplu_name[17];
unsigned char polarity;
unsigned char session_id[8];
unsigned char cnos_permitted;
unsigned char reserv4[15]; /* reserved */
} ACTIVATE_SESSION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEACTIVATE_CONV_GROUP */
/* */
/* Description: DEACTIVATE_CONV_GROUP verb control block */
/*****************************************************************************/
typedef struct deactivate_conv_group
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned long conv_group_id;
unsigned char type;
unsigned char reserv3[3]; /* reserved */
unsigned long sense_data;
} DEACTIVATE_CONV_GROUP;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEACTIVATE_SESSION */
/* */
/* Description: DEACTIVATE_SESSION verb control block */
/*****************************************************************************/
typedef struct deactivate_session
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char session_id[8];
unsigned char plu_alias[8];
unsigned char mode_name[8];
unsigned char type;
unsigned char reserv3[3]; /* reserved */
unsigned long sense_data;
unsigned char fqplu_name[17];
unsigned char reserv4[20]; /* reserved */
} DEACTIVATE_SESSION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PATH_SWITCH */
/* */
/* Description: NOF verb requesting the optimal path is recalculated for */
/* a given RTP connection */
/*****************************************************************************/
typedef struct path_switch
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the RTP connection to path switch */
/***************************************************************************/
unsigned char rtp_connection_name[8];
} PATH_SWITCH;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SESSION_STATS */
/* */
/* Description: Session statistics returned in a QUERY_SESSION response */
/*****************************************************************************/
typedef struct session_stats
{
unsigned short rcv_ru_size;
unsigned short send_ru_size;
unsigned short max_send_btu_size;
unsigned short max_rcv_btu_size;
unsigned short max_send_pac_win;
unsigned short cur_send_pac_win;
unsigned short max_rcv_pac_win;
unsigned short cur_rcv_pac_win;
unsigned long send_data_frames;
unsigned long send_fmd_data_frames;
unsigned long send_data_bytes;
unsigned long rcv_data_frames;
unsigned long rcv_fmd_data_frames;
unsigned long rcv_data_bytes;
unsigned char sidh;
unsigned char sidl;
unsigned char odai;
unsigned char ls_name[8];
unsigned char pacing_type;
} SESSION_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: EXTENDED_SESSION_STATS */
/* */
/* Description: Session statistics returned in a QUERY_SESSION response */
/*****************************************************************************/
typedef struct extended_session_stats
{
unsigned short rcv_ru_size;
unsigned short send_ru_size;
unsigned short max_send_btu_size;
unsigned short max_rcv_btu_size;
unsigned short max_send_pac_win;
unsigned short cur_send_pac_win;
unsigned short send_rpc;
unsigned short max_rcv_pac_win;
unsigned short cur_rcv_pac_win;
unsigned short rcv_rpc;
unsigned long send_data_frames;
unsigned long send_fmd_data_frames;
unsigned long send_data_bytes;
unsigned long send_fmd_data_bytes;
unsigned long rcv_data_frames;
unsigned long rcv_fmd_data_frames;
unsigned long rcv_data_bytes;
unsigned long rcv_fmd_data_bytes;
unsigned char sidh;
unsigned char sidl;
unsigned char odai;
unsigned char ls_name[8];
unsigned char pacing_type;
unsigned char reserv1[100]; /* reserved */
} EXTENDED_SESSION_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_ACTIVE_TRANSACTION */
/* */
/* Description: Used for querying active transactions */
/*****************************************************************************/
typedef struct query_active_transaction
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char fq_req_loc_cp_name[17];
unsigned char req_agent_appl_name[8];
unsigned char seq_num_dt[17];
} QUERY_ACTIVE_TRANSACTION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ACTIVE_TRANSACTION_DATA */
/* */
/* Description: Information returned for QUERY_ACTIVE_TRANSACTION */
/*****************************************************************************/
typedef struct active_transaction_data
{
unsigned short overlay_size;
unsigned char fq_origin_cp_name[17];
unsigned char origin_ms_appl_name[8];
unsigned char fq_dest_cp_name[17];
unsigned char dest_ms_appl_name[8];
unsigned char fq_req_loc_cp_name[17];
unsigned char req_agent_appl_name[8];
unsigned char seq_num_dt[17];
unsigned char reserva[20]; /* reserved */
} ACTIVE_TRANSACTION_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_CN */
/* */
/* Description: Sent NOF->CS to query status of a CN. Returned by CS as RSP.*/
/*****************************************************************************/
typedef struct query_cn
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of the CN */
/***************************************************************************/
unsigned char fqcn_name[17];
} QUERY_CN;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CN_DET_DATA */
/* */
/* Description: Determined Data for a Connection Network */
/*****************************************************************************/
typedef struct cn_det_data
{
unsigned short num_act_ports;
unsigned char reserva[20]; /* reserved */
} CN_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CN_DATA */
/* */
/* Description: Overlay returned in response to a QUERY_CN */
/*****************************************************************************/
typedef struct cn_data
{
unsigned short overlay_size;
unsigned char fqcn_name[17];
unsigned char reserv1; /* reserved */
CN_DET_DATA det_data;
CN_DEF_DATA def_data;
} CN_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_CN_PORT */
/* */
/* Description: Sent NOF->CS to query status of a CN. Returned by CS as RSP.*/
/*****************************************************************************/
typedef struct query_cn_port
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char fqcn_name[17];
unsigned char port_name[8];
} QUERY_CN_PORT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CN_PORT_DATA */
/* */
/* Description: Data overlay returned in response to QUERY_CN_PORT */
/*****************************************************************************/
typedef struct cn_port_data
{
unsigned short overlay_size;
unsigned char fqcn_name[17];
unsigned char port_name[8];
unsigned char tg_num;
unsigned char reserva[20]; /* reserved */
} CN_PORT_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_COS */
/* */
/* Description: Extracts Class Of Service specific information */
/*****************************************************************************/
typedef struct query_cos
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char cos_name[8];
} QUERY_COS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: COS_DATA */
/* */
/* Description: Overlay used for QUERY_COS */
/*****************************************************************************/
typedef struct cos_data
{
unsigned short overlay_size;
unsigned char cos_name[8];
unsigned char description[RD_LEN];
unsigned char transmission_priority;
unsigned char reserv1; /* reserved */
unsigned short num_of_node_rows;
unsigned short num_of_tg_rows;
unsigned long trees;
unsigned long calcs;
unsigned long rejs;
unsigned char reserva[20]; /* reserved */
} COS_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DEFAULTS */
/* */
/* Description: Used to query node defaults. */
/* */
/*****************************************************************************/
typedef struct query_defaults
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
DEFAULT_CHARS default_chars;
} QUERY_DEFAULTS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DEFAULT_PU */
/* */
/* Description: Queries the default pu, and whether its session if it */
/* is active */
/* */
/*****************************************************************************/
typedef struct query_default_pu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the most recently defined default PU */
/***************************************************************************/
unsigned char def_pu_name[8];
unsigned char description[RD_LEN];
/***************************************************************************/
/* Specifies the name of the PU associated with the active session */
/***************************************************************************/
unsigned char def_pu_sess[8];
unsigned char reserv3[16]; /* reserved */
} QUERY_DEFAULT_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DIRECTORY_LU */
/* */
/* Description: Used for extracting directory entries about LUs */
/*****************************************************************************/
typedef struct query_directory_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[17];
} QUERY_DIRECTORY_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DIRECTORY_LU_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_DIRECTORY_LU */
/*****************************************************************************/
typedef struct directory_lu_detail
{
unsigned short overlay_size;
unsigned char lu_name[17];
unsigned char description[RD_LEN];
unsigned char server_name[17];
unsigned char lu_owner_name[17];
unsigned char location;
unsigned char entry_type;
unsigned char wild_card;
unsigned char apparent_lu_owner_name[17];
unsigned char reserva[3]; /* reserved */
} DIRECTORY_LU_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DIRECTORY_LU_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_DIRECTORY_LU */
/*****************************************************************************/
typedef struct directory_lu_summary
{
unsigned short overlay_size;
unsigned char lu_name[17];
unsigned char description[RD_LEN];
} DIRECTORY_LU_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DIRECTORY_STATS */
/* */
/* Description: Used for querying directory statistics */
/*****************************************************************************/
typedef struct query_directory_stats
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
#ifdef NN_SUPPORTED
unsigned long max_caches;
unsigned long cur_caches;
#else
unsigned long max_caches; /* reserved */
unsigned long cur_caches; /* reserved */
#endif
unsigned long cur_home_entries;
unsigned long cur_reg_entries;
unsigned long cur_directory_entries;
#ifdef NN_SUPPORTED
unsigned long cache_hits;
unsigned long cache_misses;
#else
unsigned long cache_hits; /* reserved */
unsigned long cache_misses; /* reserved */
#endif
unsigned long in_locates;
unsigned long in_bcast_locates;
unsigned long out_locates;
unsigned long out_bcast_locates;
unsigned long not_found_locates;
unsigned long not_found_bcast_locates;
unsigned long locates_outstanding;
unsigned char reserva[20]; /* reserved */
} QUERY_DIRECTORY_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DLC */
/* */
/* Description: Sent NOF->CS to query DLC status. Returned by CS as RSP. */
/*****************************************************************************/
typedef struct query_dlc
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of the DLC */
/***************************************************************************/
unsigned char dlc_name[8];
} QUERY_DLC;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLC_SUMMARY */
/* */
/* Description: Summary of DLC information used by QUERY_DLC */
/*****************************************************************************/
typedef struct dlc_summary
{
unsigned short overlay_size;
unsigned char dlc_name[8];
unsigned char description[RD_LEN];
unsigned char state;
unsigned char dlc_type;
} DLC_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLC_DET_DATA */
/* */
/* Description: Determined data for DLC */
/*****************************************************************************/
typedef struct dlc_det_data
{
unsigned char state;
unsigned char reserv3[3]; /* reserved */
unsigned char reserva[20]; /* reserved */
} DLC_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLC_DETAIL */
/* */
/* Description: Overlay returned for QUERY_DLC when DETAIL information */
/* is requested */
/*****************************************************************************/
typedef struct dlc_detail
{
unsigned short overlay_size;
unsigned char dlc_name[8];
unsigned char reserv2[2]; /* reserved */
DLC_DET_DATA det_data;
DLC_DEF_DATA def_data;
} DLC_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: FQPCID */
/* */
/* Description: Fully qualified procedure correlation id structure used */
/* in SESSION_INDICATIONS */
/*****************************************************************************/
typedef struct fqpcid
{
unsigned char pcid[8];
unsigned char fqcp_name[17];
unsigned char reserve3[3]; /* reserved */
} FQPCID;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DLUR_LU */
/* */
/* Description: Used to Query the state of DLUR-served LUs */
/* */
/*****************************************************************************/
typedef struct query_dlur_lu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of LU */
/***************************************************************************/
unsigned char lu_name[8];
/***************************************************************************/
/* Name of the PU if filtering */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Inclusion filter */
/* AP_ALL 0x01 */
/***************************************************************************/
unsigned char filter;
} QUERY_DLUR_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUR_LU_SUMMARY */
/* */
/* Description: Data overlay returned for a QUERY_DLUR_LU signal */
/*****************************************************************************/
typedef struct dlur_lu_summary
{
unsigned short overlay_size;
/***************************************************************************/
/* Name of LU */
/***************************************************************************/
unsigned char lu_name[8];
} DLUR_LU_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUR_LU_DETAIL */
/* */
/* Description: Data overlay returned for a QUERY_DLUR_LU signal */
/*****************************************************************************/
typedef struct dlur_lu_detail
{
unsigned short overlay_size;
/***************************************************************************/
/* Name of LU */
/***************************************************************************/
unsigned char lu_name[8];
/***************************************************************************/
/* Name of parent PU */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Fully qualified name of DLUS node LU is using. If SSCP-LU session */
/* is currently inactive, this will be null */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Location of LU */
/* AP_INTERNAL */
/* AP_DOWNSTREAM */
/***************************************************************************/
unsigned char lu_location;
/***************************************************************************/
/* SIDL value used by SSCP to identify LU */
/***************************************************************************/
unsigned char nau_address;
/***************************************************************************/
/* Fully qualified name of PLU if PLU-SLU session is active. */
/***************************************************************************/
unsigned char plu_name[17];
unsigned char reserv1[27]; /* reserved */
/***************************************************************************/
/* Length of included RSCV */
/***************************************************************************/
unsigned char rscv_len;
} DLUR_LU_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DLUR_DEFAULTS */
/* */
/* Description: Queries the default values of the DLUR. */
/*****************************************************************************/
typedef struct query_dlur_defaults
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* description */
/***************************************************************************/
unsigned char description[RD_LEN];
/***************************************************************************/
/* Name of the DLUS - NULL_SNA_FQ_NAME if resetting */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Name of the backup DLUS name */
/***************************************************************************/
unsigned char bkup_dlus_name[17];
/***************************************************************************/
/* Reserved field */
/***************************************************************************/
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Retry Timeout. Time in seconds between attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_timeout;
/***************************************************************************/
/* Retry Limit. Maximum Number of attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_limit;
/***************************************************************************/
/* Reserved field */
/***************************************************************************/
unsigned char reserv4[16]; /* reserved */
} QUERY_DLUR_DEFAULTS;
/**STRUCT+********************************************************************/
/* Structure: QUERY_DLUR_PU */
/* */
/* Description: Used to Query the DLUR-specific PU information */
/* */
/*****************************************************************************/
typedef struct query_dlur_pu
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of the PU */
/***************************************************************************/
unsigned char pu_name[8];
/***************************************************************************/
/* Name of DLUS if filtering */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Filter: */
/* AP_NONE */
/* AP_INTERNAL */
/* AP_DOWNSTREAM */
/***************************************************************************/
unsigned char filter;
} QUERY_DLUR_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUR_PU_DETAIL */
/* */
/* Description: Data overlay returned for a QUERY_DLUR_PU signal */
/*****************************************************************************/
typedef struct dlur_pu_detail
{
unsigned short overlay_size;
/***************************************************************************/
/* Name of PU */
/***************************************************************************/
unsigned char pu_name[8];
unsigned char description[RD_LEN];
/***************************************************************************/
/* Name of the DLUS */
/***************************************************************************/
unsigned char defined_dlus_name[17];
/***************************************************************************/
/* Name of the backup DLUS name */
/***************************************************************************/
unsigned char bkup_dlus_name[17];
/***************************************************************************/
/* PU ID */
/***************************************************************************/
unsigned char pu_id[4];
/***************************************************************************/
/* Location of PU */
/* AP_INTERNAL */
/* AP_DOWNSTREAM */
/***************************************************************************/
unsigned char pu_location;
/***************************************************************************/
/* Fully qualified name of DLUS node PU is using. If SSCP-PU session */
/* is currently inactive, this will be null */
/***************************************************************************/
unsigned char active_dlus_name[17];
/***************************************************************************/
/* Auto Network shutdown support received on PU Characteristics sent by */
/* DLUS */
/***************************************************************************/
unsigned char ans_support;
/***************************************************************************/
/* Status of the PU */
/* AP_RESET (0x00) */
/* AP_PEND_ACTPU (0x02) */
/* AP_PEND_ACTPU_RSP(0x03) */
/* AP_ACTIVE (0x01) */
/* AP_PEND_DACTPU_RSP (0x04) */
/***************************************************************************/
unsigned char pu_status;
/***************************************************************************/
/* Status of the DLUS-DLUR pipe */
/* AP_ACTIVE (0x01) */
/* AP_PENDING_INACTIVE (0x08) */
/* AP_INACTIVE (0x00) */
/* AP_PENDING_ACTIVE (0x02) */
/***************************************************************************/
unsigned char dlus_session_status;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* FQPCID used on CPSVRMGR pipe */
/***************************************************************************/
FQPCID fqpcid;
/***************************************************************************/
/* Retry Timeout. Time in seconds between attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_timeout;
/***************************************************************************/
/* Retry Limit. Maximum Number of attempts to recontact a DLUS */
/***************************************************************************/
unsigned short dlus_retry_limit;
} DLUR_PU_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUR_PU_SUMMARY */
/* */
/* Description: Data overlay returned for a QUERY_DLUR_PU signal */
/*****************************************************************************/
typedef struct dlur_pu_summary
{
unsigned short overlay_size;
/***************************************************************************/
/* Name of PU */
/***************************************************************************/
unsigned char pu_name[8];
unsigned char description[RD_LEN];
} DLUR_PU_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DLUS */
/* */
/* Description: Used to Query the state of DLUS pipes. */
/*****************************************************************************/
typedef struct query_dlus
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of the DLUS */
/***************************************************************************/
unsigned char dlus_name[17];
} QUERY_DLUS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PIPE_STATS */
/* */
/* Description: Statistics of CPSVRMGR pipe traffic */
/*****************************************************************************/
typedef struct pipe_stats
{
/***************************************************************************/
/* Number of REQACTPUs sent from DLUR to DLUS */
/***************************************************************************/
unsigned long reqactpu_sent;
/***************************************************************************/
/* Number of REQACTPU RSPs from DLUS to DLUR */
/***************************************************************************/
unsigned long reqactpu_rsp_received;
/***************************************************************************/
/* Number of ACTPUs received from DLUS */
/***************************************************************************/
unsigned long actpu_received;
/***************************************************************************/
/* Number of RSP(ACTPU)s sent from DLUR to DLUS */
/***************************************************************************/
unsigned long actpu_rsp_sent;
/***************************************************************************/
/* Number of REQDACTPUs sent from DLUR to DLUS */
/***************************************************************************/
unsigned long reqdactpu_sent;
/***************************************************************************/
/* Number of REQDACTPU RSPs from DLUS to DLUR */
/***************************************************************************/
unsigned long reqdactpu_rsp_received;
/***************************************************************************/
/* Number of DACTPUs received from DLUS */
/***************************************************************************/
unsigned long dactpu_received;
/***************************************************************************/
/* Number of RSP(DACTPU)s sent from DLUR to DLUS */
/***************************************************************************/
unsigned long dactpu_rsp_sent;
/***************************************************************************/
/* Number of ACTLUs received from DLUS */
/***************************************************************************/
unsigned long actlu_received;
/***************************************************************************/
/* Number of RSP(ACTLU)s sent from DLUR to DLUS */
/***************************************************************************/
unsigned long actlu_rsp_sent;
/***************************************************************************/
/* Number of DACTLUs received from DLUS */
/***************************************************************************/
unsigned long dactlu_received;
/***************************************************************************/
/* Number of RSP(DACTLU)s sent from DLUR to DLUS */
/***************************************************************************/
unsigned long dactlu_rsp_sent;
/***************************************************************************/
/* Number of SSCP-PU MUs received from DLUS */
/***************************************************************************/
unsigned long sscp_pu_mus_rcvd;
/***************************************************************************/
/* Number of SSCP-PU MUs sent to DLUS */
/***************************************************************************/
unsigned long sscp_pu_mus_sent;
/***************************************************************************/
/* Number of SSCP-LU MUs received from DLUS */
/***************************************************************************/
unsigned long sscp_lu_mus_rcvd;
/***************************************************************************/
/* Number of SSCP-LU MUs sent to DLUS */
/***************************************************************************/
unsigned long sscp_lu_mus_sent;
} PIPE_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUS_DATA */
/* */
/* Description: Data overlay returned for a QUERY_DLUS signal */
/*****************************************************************************/
typedef struct dlus_data
{
unsigned short overlay_size;
/***************************************************************************/
/* Fully qualified name of DLUS node */
/***************************************************************************/
unsigned char dlus_name[17];
/***************************************************************************/
/* Specifies whether the DLUS node has been defined as the default */
/* AP_YES */
/* AP_NO */
/***************************************************************************/
unsigned char is_default;
/***************************************************************************/
/* Specifies whether the DLUS node has been defined as the backup defaul */
/* AP_YES */
/* AP_NO */
/***************************************************************************/
unsigned char is_backup_default;
/***************************************************************************/
/* State of CPSVRMGR pipe to DLUS node */
/* AP_NOT_ACTIVE */
/* AP_PENDING_INACTIVE */
/* AP_ACTIVE */
/***************************************************************************/
unsigned char pipe_state;
/***************************************************************************/
/* Number of active PUs using the pipe */
/***************************************************************************/
unsigned short num_active_pus;
/***************************************************************************/
/* Statistics on pipe traffic */
/***************************************************************************/
PIPE_STATS pipe_stats;
} DLUS_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_FOCAL_POINT */
/* */
/* Description: Used for querying focal points in MS */
/*****************************************************************************/
typedef struct query_focal_point
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char ms_category[8];
} QUERY_FOCAL_POINT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: FP_DATA */
/* */
/* Description: Overlay returned for QUERY_FP */
/*****************************************************************************/
typedef struct fp_data
{
unsigned short overlay_size;
unsigned char ms_appl_name[8];
unsigned char ms_category[8];
unsigned char description[RD_LEN];
unsigned char fp_fqcp_name[17];
unsigned char bkup_appl_name[8];
unsigned char bkup_fp_fqcp_name[17];
unsigned char implicit_appl_name[8];
unsigned char implicit_fp_fqcp_name[17];
/***************************************************************************/
/* Focal point types: */
/* AP_EXPLICIT_PRIMARY_FP */
/* AP_BACKUP_FP */
/* AP_DEFAULT_PRIMARY_FP */
/* AP_DOMAIN_FP */
/* AP_HOST_FP */
/* AP_NO_FP */
/***************************************************************************/
unsigned char fp_type;
/***************************************************************************/
/* Focal point status: */
/* AP_NOT_ACTIVE */
/* AP_ACTIVE */
/* AP_PENDING */
/* AP_NEVER_ACTIVE */
/***************************************************************************/
unsigned char fp_status;
/***************************************************************************/
/* Focal point routing: */
/* AP_DEFAULT */
/* AP_DIRECT */
/***************************************************************************/
unsigned char fp_routing;
unsigned char reserva[20]; /* reserved */
unsigned short number_of_appls;
} FP_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: APPLICATION_ID */
/* */
/* Description: Application identifier returned with FP_DETAIL */
/*****************************************************************************/
typedef struct application_id
{
unsigned char appl_name[8];
} APPLICATION_ID;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LOCAL_LU */
/* */
/* Description: Used to obtain information on one or more local LUs */
/*****************************************************************************/
typedef struct query_local_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char pu_name[8];
} QUERY_LOCAL_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_LU_SUMMARY */
/* */
/* Description: Summary overlay returned for QUERY_LOCAL_LU */
/*****************************************************************************/
typedef struct local_lu_summary
{
unsigned short overlay_size;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char description[RD_LEN];
} LOCAL_LU_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_LU_DET_DATA */
/* */
/* Description: Determined data for Dependent LU 6.2 */
/*****************************************************************************/
typedef struct local_lu_det_data
{
unsigned char lu_sscp_sess_active;
unsigned char appl_conn_active;
unsigned char reserv1[2];
SESSION_STATS lu_sscp_stats;
unsigned char sscp_id[6];
} LOCAL_LU_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_LU_DETAIL */
/* */
/* Description: Overlay returned on QUERY_LOCAL_LU when queried for detail */
/* information */
/*****************************************************************************/
typedef struct local_lu_detail
{
unsigned short overlay_size;
unsigned char lu_name[8];
LOCAL_LU_DEF_DATA def_data;
LOCAL_LU_DET_DATA det_data;
} LOCAL_LU_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LOCAL_TOPOLOGY */
/* */
/* Description: Used for extracting local topology information for EN and NN */
/* (uses local_topology overlays below but in EN case the rsn */
/* and frsn fields are reserved) */
/*****************************************************************************/
typedef struct query_local_topology
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
} QUERY_LOCAL_TOPOLOGY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_TOPOLOGY_SUMMARY */
/* */
/* Description: Summary overlay used by QUERY_LOCAL_TOPOLOGY */
/*****************************************************************************/
typedef struct local_topology_summary
{
unsigned short overlay_size;
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
} LOCAL_TOPOLOGY_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_TOPOLOGY_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_LOCAL_TOPOLOGY */
/*****************************************************************************/
typedef struct local_topology_detail
{
unsigned short overlay_size;
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
unsigned char reserv1; /* reserved */
LINK_ADDRESS dlc_data;
unsigned long rsn;
unsigned char status;
TG_DEFINED_CHARS tg_chars;
unsigned char cp_cp_session_active;
unsigned char branch_link_type;
unsigned char branch_tg;
unsigned char reserva[13]; /* reserved */
} LOCAL_TOPOLOGY_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LS */
/* */
/* Description: Sent NOF->CS to query link status. Returned as RSP by CS... */
/*****************************************************************************/
typedef struct query_ls
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of the LS */
/***************************************************************************/
unsigned char ls_name[8];
/***************************************************************************/
/* port name filter */
/***************************************************************************/
unsigned char port_name[8];
} QUERY_LS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LS_EXCEPTION */
/* */
/* Description: Sent NOF->CS to query link exception data. Returned as RSP */
/* by CS... */
/*****************************************************************************/
typedef struct query_ls_exception
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Index of LS exception entry. */
/***************************************************************************/
unsigned long exception_index;
/***************************************************************************/
/* Name of the LS */
/***************************************************************************/
unsigned char ls_name[8];
} QUERY_LS_EXCEPTION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_SUMMARY */
/* */
/* Description: Structure of summary info returned on a QUERY_LS */
/*****************************************************************************/
typedef struct ls_summary
{
unsigned short overlay_size;
unsigned char ls_name[8];
unsigned char description[RD_LEN];
unsigned char dlc_type;
unsigned char state;
unsigned short act_sess_count;
unsigned char det_adj_cp_name[17];
unsigned char det_adj_cp_type;
unsigned char port_name[8];
unsigned char adj_cp_name[17];
unsigned char adj_cp_type;
} LS_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_STATS */
/* */
/* Description: LS statistics */
/*****************************************************************************/
typedef struct ls_stats
{
unsigned long in_xid_bytes;
unsigned long in_msg_bytes;
unsigned long in_xid_frames;
unsigned long in_msg_frames;
unsigned long out_xid_bytes;
unsigned long out_msg_bytes;
unsigned long out_xid_frames;
unsigned long out_msg_frames;
unsigned long in_invalid_sna_frames;
unsigned long in_session_control_frames;
unsigned long out_session_control_frames;
unsigned long echo_rsps;
unsigned long current_delay;
unsigned long max_delay;
unsigned long min_delay;
unsigned long max_delay_time;
unsigned long good_xids;
unsigned long bad_xids;
} LS_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_DET_DATA */
/* */
/* Description: Data determined during life of LS */
/*****************************************************************************/
typedef struct ls_det_data
{
unsigned short act_sess_count;
unsigned char dlc_type;
unsigned char state;
unsigned char sub_state;
unsigned char det_adj_cp_name[17];
unsigned char det_adj_cp_type;
unsigned char dlc_name[8];
unsigned char dynamic;
unsigned char migration;
unsigned char tg_num;
LS_STATS ls_stats;
unsigned long start_time;
unsigned long stop_time;
unsigned long up_time;
unsigned long current_state_time;
unsigned char deact_cause;
unsigned char hpr_support;
unsigned char anr_label[2];
unsigned char hpr_link_lvl_error;
unsigned char auto_act;
unsigned char ls_role;
unsigned char reserva; /* reserved */
unsigned char node_id[4];
unsigned short active_isr_count;
unsigned short active_lu_sess_count;
unsigned short active_sscp_sess_count;
ANR_LABEL reverse_anr_label;
LINK_ADDRESS local_address;
unsigned short max_send_btu_size;
unsigned char brnn_link_type;
unsigned char adj_cp_is_brnn;
unsigned char reservb[64]; /* reserved */
} LS_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_DETAIL */
/* */
/* Description: Overlay returned for a QUERY_LS when DETAIL information */
/* is requested */
/*****************************************************************************/
typedef struct ls_detail
{
unsigned short overlay_size;
unsigned char ls_name[8];
LS_DET_DATA det_data;
LS_DEF_DATA def_data;
} LS_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_DATE_TIME */
/* */
/* Description: Date/Time Structure used in the LS_EXCEPTION structure */
/*****************************************************************************/
typedef struct ls_date_time
{
/***************************************************************************/
/* This structure is set up to include the year in two formats. */
/* The first format uses two bytes (upper_year and lower_year) to */
/* include the year in hex. For example, the year 1989 is encoded as */
/* upper_byte = 0x07, lower_byte = 0xC5. */
/* The second format uses 1 byte to code in hex the last 2 digits of the */
/* year. */
/***************************************************************************/
unsigned char upper_year;
unsigned char lower_year;
unsigned char year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char hundredth;
} LS_DATE_TIME;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_EXCEPTION */
/* */
/* Description: Overlay returned for a QUERY_LS_EXCEPTION verb */
/*****************************************************************************/
typedef struct ls_exception
{
unsigned short overlay_size;
unsigned long exception_index;
LS_DATE_TIME time;
unsigned char ls_name[8];
unsigned char adj_cp_name[17];
unsigned char adj_node_id[4];
unsigned short tg_number;
unsigned long general_sense;
unsigned char retry;
unsigned long end_sense;
unsigned long xid_local_sense;
unsigned long xid_remote_sense;
unsigned short xid_error_byte;
unsigned short xid_error_bit;
unsigned char dlc_type;
LINK_ADDRESS local_addr;
LINK_ADDRESS destination_addr;
unsigned char reserved[20]; /* reserved */
} LS_EXCEPTION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LU_0_TO_3 */
/* */
/* Description: Used to obtain information on one or more LUs type 0 to 3 */
/*****************************************************************************/
typedef struct query_lu_0_to_3
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char pu_name[8];
unsigned char lu_name[8];
unsigned char host_attachment;
} QUERY_LU_0_TO_3;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_0_TO_3_SUMMARY */
/* */
/* Description: Summary overlay returned for QUERY_LU_0_TO_3 */
/*****************************************************************************/
typedef struct lu_0_to_3_summary
{
unsigned short overlay_size;
unsigned char pu_name[8];
unsigned char lu_name[8];
unsigned char description[RD_LEN];
unsigned char nau_address;
unsigned char lu_sscp_sess_active;
unsigned char appl_conn_active;
unsigned char plu_sess_active;
unsigned char host_attachment;
} LU_0_TO_3_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_0_TO_3_DET_DATA */
/* */
/* Description: Determined data for LUs of type 0 to 3 */
/*****************************************************************************/
typedef struct lu_0_to_3_det_data
{
unsigned char lu_sscp_sess_active;
unsigned char appl_conn_active;
unsigned char plu_sess_active;
unsigned char host_attachment;
SESSION_STATS lu_sscp_stats;
SESSION_STATS plu_stats;
unsigned char plu_name[8];
unsigned char session_id[8];
unsigned char app_spec_det_data[256];
unsigned char app_type;
unsigned char reserva[19]; /* reserved */
} LU_0_TO_3_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_0_TO_3_DETAIL */
/* */
/* Description: Overlay returned for QUERY_LU_0_TO_3 when detailed data */
/* is requeseted */
/*****************************************************************************/
typedef struct lu_0_to_3_detail
{
unsigned short overlay_size;
unsigned char lu_name[8];
unsigned char reserv1[2]; /* reserved */
LU_0_TO_3_DET_DATA det_data;
LU_0_TO_3_DEF_DATA def_data;
} LU_0_TO_3_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LU_POOL */
/* */
/* Description: Used to obtain information on one or more LU pools */
/*****************************************************************************/
typedef struct query_lu_pool
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char pool_name[8];
unsigned char lu_name[8];
} QUERY_LU_POOL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_POOL_SUMMARY */
/* */
/* Description: Summary overlay returned for QUERY_LU_POOL */
/*****************************************************************************/
typedef struct lu_pool_summary
{
unsigned short overlay_size;
unsigned char pool_name[8];
unsigned char description[RD_LEN];
unsigned short num_active_lus;
unsigned short num_avail_lus;
unsigned short num_act_appl_conn_lus;
unsigned short total_num_lus;
} LU_POOL_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_POOL_DETAIL */
/* */
/* Description: Detail overlay returned for QUERY_LU_POOL */
/*****************************************************************************/
typedef struct lu_pool_detail
{
unsigned short overlay_size;
unsigned char pool_name[8];
unsigned char description[RD_LEN];
unsigned char lu_name[8];
unsigned char lu_sscp_sess_active;
unsigned char appl_conn_active;
unsigned char plu_sess_active;
} LU_POOL_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_MDS_APPLICATION */
/* */
/* Description: Used for querying application registered for MDS level */
/* information */
/*****************************************************************************/
typedef struct query_mds_application
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char application[8];
} QUERY_MDS_APPLICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MDS_APPLICATION_DATA */
/* */
/* Description: Information returned for QUERY_MDS_APPLICATION */
/*****************************************************************************/
typedef struct mds_application_data
{
unsigned short overlay_size;
unsigned char application[8];
unsigned short max_rcv_size;
unsigned char reserva[20]; /* reserved */
} MDS_APPLICATION_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_MDS_STATISTICS */
/* */
/* Description: Used for querying MDS statistics */
/*****************************************************************************/
typedef struct query_mds_statistics
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned long alerts_sent;
unsigned long alert_errors_rcvd;
unsigned long uncorrelated_alert_errors;
unsigned long mds_mus_rcvd_local;
unsigned long mds_mus_rcvd_remote;
unsigned long mds_mus_delivered_local;
unsigned long mds_mus_delivered_remote;
unsigned long parse_errors;
unsigned long failed_deliveries;
#ifdef NN_SUPPORTED
unsigned long ds_searches_performed;
unsigned long unverified_errors;
#else
unsigned long ds_searches_performed; /* reserved */
unsigned long unverified_errors; /* reserved */
#endif
unsigned char reserva[20]; /* reserved */
} QUERY_MDS_STATISTICS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MDS_STATISTICS */
/* */
/* Description: Structure for holding MDS Statistics */
/*****************************************************************************/
typedef struct mds_statistics
{
unsigned long alerts_sent;
unsigned long alert_errors_rcvd;
unsigned long uncorrelated_alert_errors;
unsigned long mds_mus_rcvd_local;
unsigned long mds_mus_rcvd_remote;
unsigned long mds_mus_delivered_local;
unsigned long mds_mus_delivered_remote;
unsigned long parse_errors;
unsigned long failed_deliveries;
unsigned long ds_searches_performed;
unsigned long unverified_errors;
} MDS_STATISTICS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_MODE */
/* */
/* Description: Used for querying mode information */
/*****************************************************************************/
typedef struct query_mode
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char mode_name[8];
unsigned char active_sessions;
} QUERY_MODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_SUMMARY */
/* */
/* Description: Summary overlay used for query_mode */
/*****************************************************************************/
typedef struct mode_summary
{
unsigned short overlay_size;
unsigned char mode_name[8];
unsigned char description[RD_LEN];
unsigned short sess_limit;
unsigned short act_sess_count;
unsigned char fqplu_name[17];
unsigned char reserv1[3]; /* reserved */
} MODE_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_DETAIL */
/* */
/* Description: Detail overlay used for query_mode */
/*****************************************************************************/
typedef struct mode_detail
{
unsigned short overlay_size;
unsigned char mode_name[8];
unsigned char description[RD_LEN];
unsigned short sess_limit;
unsigned short act_sess_count;
unsigned char fqplu_name[17];
unsigned char reserv1[3]; /* reserved */
unsigned short min_conwinners_source;
unsigned short min_conwinners_target;
unsigned char drain_source;
unsigned char drain_partner;
unsigned short auto_act;
unsigned short act_cw_count;
unsigned short act_cl_count;
unsigned char sync_level;
unsigned char default_ru_size;
unsigned short max_neg_sess_limit;
unsigned short max_rcv_ru_size;
unsigned short pending_session_count;
unsigned short termination_count;
unsigned char implicit;
unsigned char reserva[15]; /* reserved */
} MODE_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_MODE_DEFINITION */
/* */
/* Description: Extracts mode definition information */
/*****************************************************************************/
typedef struct query_mode_definition
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char mode_name[8];
} QUERY_MODE_DEFINITION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_DEF_SUMMARY */
/* */
/* Description: Summary information returned on QUERY_MODE_DEF */
/*****************************************************************************/
typedef struct mode_def_summary
{
unsigned short overlay_size;
unsigned char mode_name[8];
unsigned char description[RD_LEN];
} MODE_DEF_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_DEF_DETAIL */
/* */
/* Description: Detail information returned on QUERY_MODE_DEF */
/*****************************************************************************/
typedef struct mode_def_detail
{
unsigned short overlay_size;
unsigned char mode_name[8];
MODE_CHARS mode_chars;
} MODE_DEF_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_MODE_TO_COS_MAPPING */
/* */
/* Description: Extracts mode to COS mappings */
/*****************************************************************************/
typedef struct query_mode_to_cos_mapping
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char mode_name[8];
} QUERY_MODE_TO_COS_MAPPING;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_TO_COS_MAPPING_DATA */
/* */
/* Description: Overlay used by QUERY_MODE_TO_COS_MAPPING */
/*****************************************************************************/
typedef struct mode_to_cos_mapping_data
{
unsigned short overlay_size;
unsigned char mode_name[8];
unsigned char cos_name[8];
unsigned char reserva[20]; /* reserved */
} MODE_TO_COS_MAPPING_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_NMVT_APPLICATION */
/* */
/* Description: Used for querying application registered for NMVT level */
/* information */
/*****************************************************************************/
typedef struct query_nmvt_application
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char application[8];
} QUERY_NMVT_APPLICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: NMVT_APPLICATION_DATA */
/* */
/* Description: Information returned for QUERY_NMVT_APPLICATION */
/*****************************************************************************/
typedef struct nmvt_application_data
{
unsigned short overlay_size;
unsigned char application[8];
unsigned short ms_vector_key_type;
unsigned char conversion_required;
unsigned char reserv[5]; /* reserved */
unsigned char reserva[20]; /* reserved */
} NMVT_APPLICATION_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_NODE */
/* */
/* Description: Used to query node details. Note nn_* fields are reserved */
/* when querying an end node and en_* fields are reserved */
/* when querying a network node. */
/* */
/*****************************************************************************/
typedef struct query_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 3 */
unsigned short primary_rc;
unsigned long secondary_rc;
CP_CREATE_PARMS cp_create_parms;
unsigned long up_time;
unsigned long mem_size;
unsigned long mem_used;
unsigned long mem_warning_threshold;
unsigned long mem_critical_threshold;
unsigned char nn_functions_supported;
unsigned char functions_supported;
unsigned char en_functions_supported;
unsigned char nn_status;
unsigned long nn_frsn;
unsigned long nn_rsn;
unsigned long def_ls_good_xids;
unsigned long def_ls_bad_xids;
unsigned long dyn_ls_good_xids;
unsigned long dyn_ls_bad_xids;
unsigned char dlur_release_level;
unsigned char nns_dlus_served_lu_reg_supp;
unsigned char reserva[18]; /* reserved */
unsigned char fq_nn_server_name[17];
unsigned long current_isr_sessions;
unsigned char nn_functions2;
unsigned char branch_ntwk_arch_version;
unsigned char reservb[28]; /* reserved */
} QUERY_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_PARTNER_LU */
/* */
/* Description: Used to query partner LU information */
/*****************************************************************************/
typedef struct query_partner_lu
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char active_sessions;
} QUERY_PARTNER_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PLU_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_PARTNER_LU */
/*****************************************************************************/
typedef struct plu_summary
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv1; /* reserved */
unsigned char description[RD_LEN];
unsigned short act_sess_count;
unsigned char partner_cp_name[17];
unsigned char partner_lu_located;
} PLU_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PLU_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_PARTNER_LU */
/*****************************************************************************/
typedef struct plu_detail
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv1; /* reserved */
unsigned char description[RD_LEN];
unsigned short act_sess_count;
unsigned char partner_cp_name[17];
unsigned char partner_lu_located;
unsigned char plu_un_name[8];
unsigned char parallel_sess_supp;
unsigned char conv_security;
unsigned short max_mc_ll_send_size;
unsigned char implicit;
unsigned char security_details;
unsigned char duplex_support;
unsigned char preference;
unsigned char reserva[16]; /* reserved */
} PLU_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_PARTNER_LU_DEFINITION */
/* */
/* Description: Extracts partner LU definition details */
/*****************************************************************************/
typedef struct query_partner_lu_definition
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
} QUERY_PARTNER_LU_DEFINITION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PARTNER_LU_DEF_SUMMARY */
/* */
/* Description: Summary information used by QUERY_PARTNER_LU_DEF */
/*****************************************************************************/
typedef struct partner_lu_def_summary
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char description[RD_LEN];
} PARTNER_LU_DEF_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PARTNER_LU_DEF_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_PARTNER_LU_DEF */
/*****************************************************************************/
typedef struct partner_lu_def_detail
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv1; /* reserved */
PLU_CHARS plu_chars;
} PARTNER_LU_DEF_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_PORT */
/* */
/* Description: Sent NOF->CS to query port status. Returned as RSP by CS. */
/*****************************************************************************/
typedef struct query_port
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
/***************************************************************************/
/* Name of the port */
/***************************************************************************/
unsigned char port_name[8];
/***************************************************************************/
/* Name of the DLC if filtering */
/***************************************************************************/
unsigned char dlc_name[8];
} QUERY_PORT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PORT_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_PORT */
/*****************************************************************************/
typedef struct port_summary
{
unsigned short overlay_size;
unsigned char port_name[8];
unsigned char description[RD_LEN];
unsigned char port_state;
unsigned char reserv1[1]; /* reserved */
unsigned char dlc_name[8];
} PORT_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PORT_DET_DATA */
/* */
/* Description: Determined data during life of port */
/*****************************************************************************/
typedef struct port_det_data
{
unsigned char port_state;
unsigned char dlc_type;
unsigned char port_sim_rim;
unsigned char reserv1; /* reserved */
unsigned short def_ls_good_xids;
unsigned short def_ls_bad_xids;
unsigned short dyn_ls_good_xids;
unsigned short dyn_ls_bad_xids;
unsigned short num_implicit_links;
unsigned char neg_ls_supp;
unsigned char abm_ls_supp;
unsigned long start_time;
unsigned char reserva[12]; /* reserved */
} PORT_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PORT_DETAIL */
/* */
/* Description: Detailed overlay used for QUERY_PORT */
/*****************************************************************************/
typedef struct port_detail
{
unsigned short overlay_size;
unsigned char port_name[8];
unsigned char reserv1[2]; /* reserved */
PORT_DET_DATA det_data;
PORT_DEF_DATA def_data;
} PORT_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_PU */
/* */
/* Description: Used to obtain information on one or more PUs and the links */
/* associated with them */
/*****************************************************************************/
typedef struct query_pu
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char pu_name[8];
unsigned char host_attachment;
} QUERY_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PU_DATA */
/* */
/* Description: Summary overlay returned for QUERY_PU */
/*****************************************************************************/
typedef struct pu_data
{
unsigned short overlay_size;
unsigned char pu_name[8];
unsigned char description[RD_LEN];
unsigned char ls_name[8];
unsigned char pu_sscp_sess_active;
unsigned char host_attachment;
SESSION_STATS pu_sscp_stats;
unsigned char sscp_id[6];
unsigned char conventional_lu_compression;
unsigned char conventional_lu_cryptography;
unsigned char reserva[12]; /* reserved */
} PU_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_RTP_CONNECTION */
/* */
/* Description: NOF verb to query information about one or more RTP */
/* connections */
/*****************************************************************************/
typedef struct query_rtp_connection
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char rtp_name[8];
} QUERY_RTP_CONNECTION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: RTP_CONNECTION_SUMMARY */
/* */
/* Description: Summary information returned for QUERY_RTP_CONNECTION */
/*****************************************************************************/
typedef struct rtp_connection_summary
{
unsigned short overlay_size;
unsigned char rtp_name[8];
unsigned char first_hop_ls_name[8];
unsigned char dest_node_name[17];
unsigned char connection_type;
unsigned char cos_name[8];
unsigned short num_sess_active;
} RTP_CONNECTION_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: RTP_STATISTICS */
/* */
/* Description: RTP connection statistics */
/*****************************************************************************/
typedef struct rtp_statistics
{
unsigned long bytes_sent;
unsigned long bytes_received;
unsigned long bytes_resent;
unsigned long bytes_discarded;
unsigned long packets_sent;
unsigned long packets_received;
unsigned long packets_resent;
unsigned long packets_discarded;
unsigned long gaps_detected;
unsigned long send_rate;
unsigned long max_send_rate;
unsigned long min_send_rate;
unsigned long receive_rate;
unsigned long max_receive_rate;
unsigned long min_receive_rate;
unsigned long burst_size;
unsigned long up_time;
unsigned long smooth_rtt;
unsigned long last_rtt;
unsigned long short_req_timer;
unsigned long short_req_timeouts;
unsigned long liveness_timeouts;
unsigned long in_invalid_sna_frames;
unsigned long in_sc_frames;
unsigned long out_sc_frames;
unsigned char reserve[40]; /* reserved */
} RTP_STATISTICS;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* This is the maximum length of the RSCV appended after the */
/* RTP_CONNECTION_DETAIL */
/*****************************************************************************/
#define MAX_RSCV_LENGTH 255
/**STRUCT+********************************************************************/
/* Structure: RTP_CONNECTION_DETAIL */
/* */
/* Description: Detailed information returned for QUERY_RTP_CONNECTION */
/*****************************************************************************/
typedef struct rtp_connection_detail
{
unsigned short overlay_size;
/***************************************************************************/
/* The following fields are the same as the summary */
/***************************************************************************/
unsigned char rtp_name[8];
unsigned char first_hop_ls_name[8];
unsigned char dest_node_name[17];
unsigned char isr_boundary_fn;
unsigned char connection_type;
unsigned char reserv1; /* reserved */
unsigned char cos_name[8];
/***************************************************************************/
/* The following are extra fields for the detail */
/***************************************************************************/
unsigned short max_btu_size;
unsigned long liveness_timer;
unsigned char local_tcid[8];
unsigned char remote_tcid[8];
RTP_STATISTICS rtp_stats;
unsigned short num_sess_active;
unsigned char reserv2[16]; /* reserved */
/***************************************************************************/
/* The RSCV is variable length, and is appended after the DETAIL structure */
/***************************************************************************/
unsigned short rscv_len;
} RTP_CONNECTION_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_SESSION */
/* */
/* Description: Used for querying session info */
/*****************************************************************************/
typedef struct query_session
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char mode_name[8];
unsigned char session_id[8];
} QUERY_SESSION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SESSION_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_SESSION */
/*****************************************************************************/
typedef struct session_summary
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3[1]; /* reserved */
unsigned char mode_name[8];
unsigned char session_id[8];
FQPCID fqpcid;
} SESSION_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SESSION_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_SESSION */
/*****************************************************************************/
typedef struct session_detail
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3[1]; /* reserved */
unsigned char mode_name[8];
unsigned char session_id[8];
FQPCID fqpcid;
unsigned char cos_name[8];
unsigned char trans_pri;
unsigned char ltd_res;
unsigned char polarity;
unsigned char contention;
SESSION_STATS sess_stats;
unsigned char duplex_support;
unsigned char sscp_id[6];
unsigned char reserva; /* reserved */
unsigned long session_start_time;
unsigned short session_timeout;
unsigned char reservb[7]; /* reserved */
unsigned char plu_slu_comp_lvl;
unsigned char slu_plu_comp_lvl;
unsigned char rscv_len;
} SESSION_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_STATISTICS */
/* */
/* Description: This is the message passed from NOF->CS and back to give */
/* link and port statistics. CS then converts it into a QUERY_LS_STATISTICS */
/* or QUERY_PORT_STATISTICS and routes it the appropriate DLC instance */
/* which routes it according to the specifier (which therefore requires */
/* the port or link station to be non-reset). On its return, CS copies */
/* the statistics back into this message and returns it (via the NOF). */
/*****************************************************************************/
typedef struct query_statistics
{
/***************************************************************************/
/* Standard VCB header. */
/***************************************************************************/
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
/***************************************************************************/
/* Name of the adjacent link station */
/***************************************************************************/
unsigned char name[8];
/***************************************************************************/
/* Type of statistics */
/* Valid values: AP_LS or AP_PORT */
/***************************************************************************/
unsigned char stats_type;
/***************************************************************************/
/* Table type */
/* Valid values: AP_STATS_TBL, AP_ADMIN_TBL, AP_OPER_TBL */
/***************************************************************************/
unsigned char table_type;
/***************************************************************************/
/* Should stats be reset? AP_YES or AP_NO */
/***************************************************************************/
unsigned char reset_stats;
/***************************************************************************/
/* Type of the DLC */
/***************************************************************************/
unsigned char dlc_type;
/***************************************************************************/
/* Adj LS current statistics */
/***************************************************************************/
unsigned char statistics[256];
unsigned char reserva[20]; /* reserved */
} QUERY_STATISTICS;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* The following are the LINK and PORT statistics fields returned by LLC2 */
/*****************************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LLC2_DEV_STATS */
/* */
/* Description: Statistics data supplied in an NMAC QUERY_DEVICE signal */
/* response, and included in the N-DLC QUERY_PORT_STATISTICS */
/* signal response. */
/* */
/* Derived from Statistics formats listed in Chapter 8 of */
/* the IBM publication "Extended Services for OS2: Programming */
/* Services and Advanced Problem Determination for */
/* Communications" Number S04G-1007-00 */
/* */
/*****************************************************************************/
typedef struct llc2_dev_stats
{
/***************************************************************************/
/* adapter number */
/***************************************************************************/
unsigned char adapter_number;
/***************************************************************************/
/* reserved field - value is 0 */
/***************************************************************************/
unsigned char res1; /* reserved */
/***************************************************************************/
/* line error count */
/***************************************************************************/
unsigned char line_error;
/***************************************************************************/
/* Internal error count */
/***************************************************************************/
unsigned char internal_error;
/***************************************************************************/
/* Burst error count */
/***************************************************************************/
unsigned char burst_error;
/***************************************************************************/
/* ARI/FCI error count */
/***************************************************************************/
unsigned char ari_fci_error;
/***************************************************************************/
/* End delimter */
/***************************************************************************/
unsigned char end_delim;
/***************************************************************************/
/* reserved field - value is xx */
/***************************************************************************/
unsigned char res2; /* reserved */
/***************************************************************************/
/* Lost frame count */
/***************************************************************************/
unsigned char lost_frame;
/***************************************************************************/
/* Receive congestion count */
/***************************************************************************/
unsigned char rcv_cngstn;
/***************************************************************************/
/* Frame Copied error count */
/***************************************************************************/
unsigned char frm_cpy_err;
/***************************************************************************/
/* Fequency error count */
/***************************************************************************/
unsigned char freq_err;
/***************************************************************************/
/* Token error count */
/***************************************************************************/
unsigned char token_err;
/***************************************************************************/
/* CRC error count */
/***************************************************************************/
unsigned char crc_err;
/***************************************************************************/
/* reserved field - value is 0 */
/***************************************************************************/
unsigned char res3; /* reserved */
/***************************************************************************/
/* Transmit error count */
/***************************************************************************/
unsigned char xmit_err;
/***************************************************************************/
/* reserved field - value is 0 */
/***************************************************************************/
unsigned char res4; /* reserved */
/***************************************************************************/
/* collision errors count */
/***************************************************************************/
unsigned char collision_err;
/***************************************************************************/
/* reserved fields - value is '00 xx xx xx 00 00 00' */
/***************************************************************************/
unsigned char res5[7]; /* reserved */
} LLC2_DEV_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LLC2_PORT_STATS */
/* */
/* Description: Statistics data supplied in an NDLC QUERY_PORT_STATISTICS */
/* signal response. */
/* */
/*****************************************************************************/
typedef struct llc2_port_stats
{
/***************************************************************************/
/* System time (NB_GET_TIME format) when port was activated */
/***************************************************************************/
unsigned long time_secs;
unsigned short time_ms;
/***************************************************************************/
/* MAC address of this port */
/***************************************************************************/
unsigned char mac_addr[MAC_ADDRESS_SIZE];
/***************************************************************************/
/* SAP-specific data set for this port when it was opened. */
/***************************************************************************/
unsigned short ack_timeout;
unsigned short p_bit_timeout;
unsigned short t2_timeout;
unsigned short rej_timeout;
unsigned short busy_state_timeout;
unsigned short idle_timeout;
unsigned short max_retry;
/***************************************************************************/
/* Max BTU size permitted on this port (by config or stub) */
/***************************************************************************/
unsigned short max_btu_size;
/***************************************************************************/
/* Number of link stations currently in use on this port */
/***************************************************************************/
unsigned short ls_count;
unsigned short reserve1; /* reserved */
/***************************************************************************/
/* Count of UI frames sent */
/***************************************************************************/
unsigned long ui_frames_sent;
/***************************************************************************/
/* Count of UI frames received */
/***************************************************************************/
unsigned long ui_frames_rcvd;
/***************************************************************************/
/* Device statistics returned by NMAC STUB */
/***************************************************************************/
LLC2_DEV_STATS device_stats;
} LLC2_PORT_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LLC2_LS_STATS */
/* */
/* Description: Statistics data supplied in an NDLC QUERY_LS_STATISTICS */
/* response. */
/* */
/*****************************************************************************/
#define LLC_MAX_BRIDGES 8
typedef struct llc2_ls_stats
{
/***************************************************************************/
/* Local and remote MAC/SAP pair for this station */
/* RIF field - Token ring only */
/***************************************************************************/
unsigned char local_mac[MAC_ADDRESS_SIZE];
unsigned char local_sap;
unsigned char reserve1; /* reserved */
unsigned char remote_mac[MAC_ADDRESS_SIZE];
unsigned char remote_sap;
unsigned char reserve2; /* reserved */
unsigned short rif_len;
unsigned short rif[LLC_MAX_BRIDGES];
/***************************************************************************/
/* LLC2 FSM state of this link station */
/***************************************************************************/
unsigned char ls_fsm;
unsigned char reserve3; /* reserved */
/***************************************************************************/
/* LS MAC type (in particular, which format of Ethernet */
/***************************************************************************/
unsigned short mac_type;
/***************************************************************************/
/* Max BTU for this station */
/***************************************************************************/
unsigned short max_btu_size;
/***************************************************************************/
/* Send and receive windows for this station */
/***************************************************************************/
unsigned short send_window;
unsigned short receive_window;
/***************************************************************************/
/* T1 expiry count - number of times the remote partner failed to return */
/* any form of response to a frame within the required */
/* timeout period */
/***************************************************************************/
unsigned long t1_expiry_count;
/***************************************************************************/
/* T2 expiry count - number of times the reply timer expired without a */
/* frame being queued on which the required reply bits */
/* could be piggybacked. LLC2 will have generated a */
/* RR/RNR frame to carry the required reply. */
/***************************************************************************/
unsigned long t2_expiry_count;
/***************************************************************************/
/* Count of times remote busy state entered (RNR received) */
/***************************************************************************/
unsigned long remote_busy;
/***************************************************************************/
/* Count of times local busy state entered (RNR sent) */
/***************************************************************************/
unsigned long local_busy;
/***************************************************************************/
/* Count of I frames sent */
/***************************************************************************/
unsigned long i_frames_sent;
/***************************************************************************/
/* Count of bytes in I-frames sent */
/***************************************************************************/
unsigned long i_bytes_sent;
/***************************************************************************/
/* Count of I frames received */
/***************************************************************************/
unsigned long i_frames_rcvd;
/***************************************************************************/
/* Count of bytes in I-frames received */
/***************************************************************************/
unsigned long i_bytes_rcvd;
/***************************************************************************/
/* Count of received I-frames rejected/discarded */
/***************************************************************************/
unsigned long i_frames_rjctd;
/***************************************************************************/
/* Count of received bytes in I-frames rejected/discarded */
/***************************************************************************/
unsigned long i_bytes_rjctd;
/***************************************************************************/
/* Count of I-frames retransmitted (transmitted in error/lost) */
/***************************************************************************/
unsigned long i_frames_rexmit;
/***************************************************************************/
/* Count of bytes in I-frames retransmitted (transmitted in error/lost) */
/***************************************************************************/
unsigned long i_bytes_rexmit;
/***************************************************************************/
/* Count of REJ frames sent to request re-send of one or more I-frames */
/***************************************************************************/
unsigned long rej_frames_sent;
/***************************************************************************/
/* Count of REJ frames received requesting re-send of I-frames */
/***************************************************************************/
unsigned long rej_frames_rcvd;
/***************************************************************************/
/* Count of XID frames sent */
/***************************************************************************/
unsigned long xid_frames_sent;
/***************************************************************************/
/* Count of XID frames received */
/***************************************************************************/
unsigned long xid_frames_rcvd;
/***************************************************************************/
/* Time to wait for a response to I-frames sent (msecs) */
/***************************************************************************/
unsigned short ack_timeout;
/***************************************************************************/
/* Time to wait for a response to a frame sent with the poll bit (msecs) */
/***************************************************************************/
unsigned short p_bit_timeout;
/***************************************************************************/
/* Time to withhold a response to a received I-frame (msecs) */
/***************************************************************************/
unsigned short t2_timeout;
/***************************************************************************/
/* Time to wait for a response to a REJ (secs) */
/***************************************************************************/
unsigned short rej_timeout;
/***************************************************************************/
/* Time to wait for clearance of busy condition at adjacent LS (secs) */
/***************************************************************************/
unsigned short busy_state_timeout;
/***************************************************************************/
/* RR 'keep-alive' interval for an idle link (secs) */
/***************************************************************************/
unsigned short idle_timeout;
/***************************************************************************/
/* Max retries for waiting for a response or clearance of busy state */
/***************************************************************************/
unsigned short max_retry;
} LLC2_LS_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_TP */
/* */
/* Description: Used for querying TP specific information */
/*****************************************************************************/
typedef struct query_tp
{
unsigned short opcode;
unsigned char attributes; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char tp_name[64];
} QUERY_TP;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TP_DATA */
/* */
/* Description: Overlay returned for QUERY_TP */
/*****************************************************************************/
typedef struct tp_data
{
unsigned short overlay_size;
unsigned char tp_name[64];
unsigned char description[RD_LEN];
unsigned short instance_limit;
unsigned short instance_count;
unsigned short locally_started_count;
unsigned short remotely_started_count;
unsigned char reserva[20]; /* reserved */
} TP_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_TP_DEFINITION */
/* */
/* Description: Extracts TP definition information */
/*****************************************************************************/
typedef struct query_tp_definition
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char tp_name[64];
} QUERY_TP_DEFINITION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TP_DEF_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_TP_DEF */
/*****************************************************************************/
typedef struct tp_def_summary
{
unsigned short overlay_size;
unsigned char tp_name[64];
unsigned char description[RD_LEN];
} TP_DEF_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TP_DEF_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_TP_DEF */
/*****************************************************************************/
typedef struct tp_def_detail
{
unsigned short overlay_size;
unsigned char tp_name[64];
TP_CHARS tp_chars;
} TP_DEF_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_CPIC_SIDE_INFO */
/* */
/* Description: Used to query a CPI-C side information entry */
/*****************************************************************************/
typedef struct query_cpic_side_info
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char sym_dest_name[8];
} QUERY_CPIC_SIDE_INFO;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CPIC_SIDE_INFO_DATA */
/* */
/* Description: Used to hold a CPI-C side information entry */
/*****************************************************************************/
typedef struct cpic_side_info_data
{
unsigned short overlay_size;
unsigned char sym_dest_name[8];
unsigned char reserv1[2]; /* reserved */
CPIC_SIDE_INFO_DEF_DATA def_data;
} CPIC_SIDE_INFO_DATA;
/**STRUCT-********************************************************************/
#ifdef PU_CONC_SUPPORTED
/**STRUCT+********************************************************************/
/* Structure: QUERY_DOWNSTREAM_LU */
/* */
/* Description: Used to obtain information on one or more downstream LUs */
/*****************************************************************************/
typedef struct query_downstream_lu
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char dspu_name[8];
unsigned char dslu_name[8];
unsigned char dspu_services;
} QUERY_DOWNSTREAM_LU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_LU_SUMMARY */
/* */
/* Description: Overlay returned on QUERY_DOWNSTREAM_LU when summary */
/* information is requested */
/*****************************************************************************/
typedef struct downstream_lu_summary
{
unsigned short overlay_size;
unsigned char dspu_name[8];
unsigned char dslu_name[8];
unsigned char description[RD_LEN];
unsigned char dspu_services;
unsigned char nau_address;
unsigned char lu_sscp_sess_active;
unsigned char plu_sess_active;
} DOWNSTREAM_LU_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_LU_DET_DATA */
/* */
/* Description: Determined data for Downstream LUs */
/*****************************************************************************/
typedef struct downstream_lu_det_data
{
unsigned char lu_sscp_sess_active;
unsigned char plu_sess_active;
unsigned char dspu_services;
unsigned char reserv1; /* reserved */
SESSION_STATS lu_sscp_stats;
SESSION_STATS ds_plu_stats;
SESSION_STATS us_plu_stats;
unsigned char host_lu_name[8];
unsigned char host_pu_name[8];
unsigned char reserva[4]; /* reserved */
} DOWNSTREAM_LU_DET_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_LU_DETAIL */
/* */
/* Description: Overlay returned on QUERY_DOWNSTREAM_LU when detail */
/* information is requested */
/*****************************************************************************/
typedef struct downstream_lu_detail
{
unsigned short overlay_size;
unsigned char dslu_name[8];
unsigned char reserv1[2]; /* reserved */
DOWNSTREAM_LU_DET_DATA det_data;
DOWNSTREAM_LU_DEF_DATA def_data;
} DOWNSTREAM_LU_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DOWNSTREAM_PU */
/* */
/* Description: Used for querying DLUR and PU Concentration supported */
/* downstream PUs */
/*****************************************************************************/
typedef struct query_downstream_pu
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char dspu_name[8];
unsigned char dspu_services;
} QUERY_DOWNSTREAM_PU;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_PU_DATA */
/* */
/* Description: Overlay returned on QUERY_DOWNSTREAM_PU */
/*****************************************************************************/
typedef struct downstream_pu_data
{
unsigned short overlay_size;
unsigned char dspu_name[8];
unsigned char description[RD_LEN];
unsigned char ls_name[8];
unsigned char pu_sscp_sess_active;
unsigned char dspu_services;
SESSION_STATS pu_sscp_stats;
unsigned char reserva[20]; /* reserved */
} DOWNSTREAM_PU_DATA;
/**STRUCT-********************************************************************/
#endif
#ifdef NN_SUPPORTED
/**STRUCT+********************************************************************/
/* Structure: QUERY_ADJACENT_NN */
/* */
/* Description: Used to access information about an adjacent Network Node */
/* (NN only) */
/*****************************************************************************/
typedef struct query_adjacent_nn
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char adj_nncp_name[17];
} QUERY_ADJACENT_NN;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ADJ_NNCP_DATA */
/* */
/* Description: Overlay used for QUERY_ADJACENT_NN */
/*****************************************************************************/
typedef struct adj_nncp_data
{
unsigned short overlay_size;
unsigned char adj_nncp_name[17];
unsigned char cp_cp_sess_status;
unsigned long out_of_seq_tdus;
unsigned long last_frsn_sent;
unsigned long last_frsn_rcvd;
unsigned char reserva[20]; /* reserved */
} ADJ_NNCP_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_COS_NODE_ROW */
/* */
/* Description: Extracts Class Of Service node row information */
/*****************************************************************************/
typedef struct query_cos_node_row
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char cos_name[8];
unsigned short node_row_index;
} QUERY_COS_NODE_ROW;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: COS_NODE_ROW_DATA */
/* */
/* Description: Overlay used for QUERY_COS_NODE_ROW */
/*****************************************************************************/
typedef struct cos_node_row_data
{
unsigned short overlay_size;
unsigned char cos_name[8];
unsigned short node_row_index;
COS_NODE_ROW node_row;
} COS_NODE_ROW_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_COS_TG_ROW */
/* */
/* Description: Extracts COS TG row */
/*****************************************************************************/
typedef struct query_cos_tg_row
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char cos_name[8];
unsigned short tg_row_index;
} QUERY_COS_TG_ROW;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: COS_TG_ROW_DATA */
/* */
/* Description: Overlay used for QUERY_COS_TG_ROW */
/*****************************************************************************/
typedef struct cos_tg_row_data
{
unsigned short overlay_size;
unsigned char cos_name[8];
unsigned short tg_row_index;
COS_TG_ROW tg_row;
} COS_TG_ROW_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DIRECTORY_ENTRY */
/* */
/* Description: Used for extracting directory entries */
/*****************************************************************************/
typedef struct query_directory_entry
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char resource_name[17];
unsigned char reserv4; /* reserved */
unsigned short resource_type;
unsigned char parent_name[17];
unsigned char reserv5; /* reserved */
unsigned short parent_type;
unsigned short reserv6[24]; /* reserved */
} QUERY_DIRECTORY_ENTRY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DIRECTORY_ENTRY_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_DIRECTORY */
/*****************************************************************************/
typedef struct directory_entry_summary
{
unsigned short overlay_size;
unsigned char resource_name[17];
unsigned char reserve1; /* reserved */
unsigned short resource_type;
unsigned char description[RD_LEN];
unsigned short real_owning_cp_type;
unsigned char real_owning_cp_name[17];
} DIRECTORY_ENTRY_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DIRECTORY_ENTRY_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_DIRECTORY */
/*****************************************************************************/
typedef struct directory_entry_detail
{
unsigned short overlay_size;
unsigned char resource_name[17];
unsigned char reserv1a; /* reserved */
unsigned short resource_type;
unsigned char description[RD_LEN];
unsigned char parent_name[17];
unsigned char reserv1b; /* reserved */
unsigned short parent_type;
unsigned char entry_type;
unsigned char location;
unsigned short real_owning_cp_type;
unsigned char real_owning_cp_name[17];
unsigned char reserva; /* reserved */
} DIRECTORY_ENTRY_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_ISR_SESSION */
/* */
/* Description: (NN only) Used for querying ISR information */
/*****************************************************************************/
typedef struct query_isr_session
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 2 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char session_type;
FQPCID fqpcid;
} QUERY_ISR_SESSION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ISR_SESSION_SUMMARY */
/* */
/* Description: Summary overlay used for QUERY_ISR_SESSION */
/*****************************************************************************/
typedef struct isr_session_summary
{
unsigned short overlay_size;
FQPCID fqpcid;
} ISR_SESSION_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ISR_SESSION_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_ISR_SESSION */
/*****************************************************************************/
typedef struct isr_session_detail
{
unsigned short overlay_size;
unsigned short sub_overlay_size;
FQPCID fqpcid;
unsigned char trans_pri;
unsigned char cos_name[8];
unsigned char ltd_res;
unsigned char reserv1[2]; /* reserved */
EXTENDED_SESSION_STATS pri_sess_stats;
EXTENDED_SESSION_STATS sec_sess_stats;
unsigned char sess_lu_type;
unsigned char sess_lu_level;
unsigned char pri_tg_number;
unsigned char sec_tg_number;
unsigned long rtp_tcid;
unsigned long time_active;
unsigned char isr_state;
unsigned char reserv2[11]; /* reserved */
unsigned char mode_name[8];
unsigned char pri_lu_name[17];
unsigned char sec_lu_name[17];
unsigned char pri_adj_cp_name[17];
unsigned char sec_adj_cp_name[17];
unsigned char reserv3[3]; /* reserved */
unsigned char rscv_len;
} ISR_SESSION_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_NN_TOPOLOGY_NODE */
/* */
/* Description: Returns Network Node entries for the Topology Database */
/*****************************************************************************/
typedef struct query_nn_topology_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char node_name[17];
unsigned char node_type;
unsigned long frsn;
} QUERY_NN_TOPOLOGY_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+****************************************************************** */
/* Structure: NN_TOPOLOGY_NODE_SUMMARY */
/* */
/* Description: Summary overlay used by QUERY_NN_TOPOLOGY_NODE */
/*****************************************************************************/
typedef struct nn_topology_node_summary
{
unsigned short overlay_size;
unsigned char node_name[17];
unsigned char node_type;
} NN_TOPOLOGY_NODE_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: NN_TOPOLOGY_NODE_DETAIL */
/* */
/* Description: Detail overlay used by QUERY_NN_TOPOLOGY_NODE */
/*****************************************************************************/
typedef struct nn_topology_node_detail
{
unsigned short overlay_size;
unsigned char node_name[17];
unsigned char node_type;
unsigned short days_left;
unsigned char reserv1[2]; /* reserved */
unsigned long frsn;
unsigned long rsn;
unsigned char rar;
unsigned char status;
unsigned char function_support;
unsigned char reserv2; /* reserved */
unsigned char branch_aware;
unsigned char reserva[19]; /* reserved */
} NN_TOPOLOGY_NODE_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_NN_TOPOLOGY_STATS */
/* */
/* Description: Used for extracting Network Node topology database */
/* statistics */
/*****************************************************************************/
typedef struct query_nn_topology_stats
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned long max_nodes;
unsigned long cur_num_nodes;
unsigned long node_in_tdus;
unsigned long node_out_tdus;
unsigned long node_low_rsns;
unsigned long node_equal_rsns;
unsigned long node_good_high_rsns;
unsigned long node_bad_high_rsns;
unsigned long node_state_updates;
unsigned long node_errors;
unsigned long node_timer_updates;
unsigned long node_purges;
unsigned long tg_low_rsns;
unsigned long tg_equal_rsns;
unsigned long tg_good_high_rsns;
unsigned long tg_bad_high_rsns;
unsigned long tg_state_updates;
unsigned long tg_errors;
unsigned long tg_timer_updates;
unsigned long tg_purges;
unsigned long total_route_calcs;
unsigned long total_route_rejs;
unsigned long total_tree_cache_hits;
unsigned long total_tree_cache_misses;
unsigned long total_tdu_wars;
unsigned char reserva[16]; /* reserved */
} QUERY_NN_TOPOLOGY_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_NN_TOPOLOGY_TG */
/* */
/* Description: Used to access TG topology information from NN topology */
/* database */
/*****************************************************************************/
typedef struct query_nn_topology_tg
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char owner[17];
unsigned char owner_type;
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
unsigned char reserv1; /* reserved */
unsigned long frsn;
} QUERY_NN_TOPOLOGY_TG;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TOPOLOGY_TG_SUMMARY */
/* */
/* Description: Summary overlay used by QUERY_NN_TOPOLOGY_TG */
/*****************************************************************************/
typedef struct topology_tg_summary
{
unsigned short overlay_size;
unsigned char owner[17];
unsigned char owner_type;
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
unsigned char reserv3[1]; /* reserved */
unsigned long frsn;
} TOPOLOGY_TG_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: TOPOLOGY_TG_DETAIL */
/* */
/* Description: Detail overlay used for QUERY_NN_TOPOLOGY_TG */
/*****************************************************************************/
typedef struct topology_tg_detail
{
unsigned short overlay_size;
unsigned char owner[17];
unsigned char owner_type;
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
unsigned char reserv3[1]; /* reserved */
unsigned long frsn;
unsigned short days_left;
LINK_ADDRESS dlc_data;
unsigned long rsn;
unsigned char status;
TG_DEFINED_CHARS tg_chars;
unsigned char subarea_number[4];
unsigned char tg_type;
unsigned char intersubnet_tg;
unsigned char cp_cp_session_active;
unsigned char branch_tg;
unsigned char reserva[12]; /* reserved */
} TOPOLOGY_TG_DETAIL;
/**STRUCT-********************************************************************/
#endif
/**STRUCT+********************************************************************/
/* Structure: CHANGE_SESSION_LIMIT */
/* */
/* Description: CHANGE_SESSION_LIMIT verb control block */
/*****************************************************************************/
typedef struct change_session_limit
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3; /* reserved */
unsigned char mode_name[8];
unsigned char reserv3a; /* reserved */
unsigned char set_negotiable;
unsigned short plu_mode_session_limit;
unsigned short min_conwinners_source;
unsigned short min_conwinners_target;
unsigned short auto_act;
unsigned char responsible;
unsigned char reserv4[3]; /* reserved */
unsigned long sense_data;
} CHANGE_SESSION_LIMIT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: INITIALIZE_SESSION_LIMIT */
/* */
/* Description: INITIALIZE_SESSION_LIMIT verb control block */
/*****************************************************************************/
typedef struct initialize_session_limit
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3; /* reserved */
unsigned char mode_name[8];
unsigned char reserv3a; /* reserved */
unsigned char set_negotiable;
unsigned short plu_mode_session_limit;
unsigned short min_conwinners_source;
unsigned short min_conwinners_target;
unsigned short auto_act;
unsigned char reserv4[4]; /* reserved */
unsigned long sense_data;
} INITIALIZE_SESSION_LIMIT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: RESET_SESSION_LIMIT */
/* */
/* Description: RESET_SESSION_LIMIT verb control block */
/*****************************************************************************/
typedef struct reset_session_limit
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3; /* reserved */
unsigned char mode_name[8];
unsigned char mode_name_select;
unsigned char set_negotiable;
unsigned char reserv4[8]; /* reserved */
unsigned char responsible;
unsigned char drain_source;
unsigned char drain_target;
unsigned char force;
unsigned long sense_data;
} RESET_SESSION_LIMIT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LU_LU_PASSWORD */
/* */
/* Description: DEFINE_LU_LU_PASSWORD verb control block */
/*****************************************************************************/
typedef struct define_lu_lu_password
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char fqplu_name[17];
unsigned char verification_protocol;
unsigned char description[RD_LEN];
unsigned char reserv3[8]; /* reserved */
unsigned char password[8];
} DEFINE_LU_LU_PASSWORD;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: USERID_PASSWORD_CHARS */
/* */
/* Description: User characteristics - passed in on DEFINE_USERID_PASSWORD */
/*****************************************************************************/
typedef struct userid_password_chars
{
unsigned char description[RD_LEN];
unsigned short profile_count;
unsigned short reserv1; /* reserved */
unsigned char password[10];
unsigned char profiles[10][10];
} USERID_PASSWORD_CHARS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_USERID_PASSWORD */
/* */
/* Description: DEFINE_USERID_PASSWORD verb control block */
/*****************************************************************************/
typedef struct define_userid_password
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char define_type;
unsigned char user_id[10];
unsigned char reserv3[8]; /* reserved */
USERID_PASSWORD_CHARS password_chars;
} DEFINE_USERID_PASSWORD;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LU_LU_PASSWORD */
/* */
/* Description: DELETE_LU_LU_PASSWORD verb control block */
/*****************************************************************************/
typedef struct delete_lu_lu_password
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3; /* reserved */
} DELETE_LU_LU_PASSWORD;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_USERID_PASSWORD */
/* */
/* Description: DELETE_USERID_PASSWORD verb control block */
/*****************************************************************************/
typedef struct delete_userid_password
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned short delete_type;
unsigned char user_id[10];
USERID_PASSWORD_CHARS password_chars;
} DELETE_USERID_PASSWORD;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: APING */
/* */
/* Description: Used to initiate APING transaction */
/*****************************************************************************/
typedef struct aping
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned long sense_data;
unsigned char plu_alias[8];
unsigned char mode_name[8];
unsigned char tp_name[64];
unsigned char security;
unsigned char reserv3a[3]; /* reserved */
unsigned char pwd[10];
unsigned char user_id[10];
unsigned short dlen;
unsigned short consec;
unsigned char fqplu_name[17];
unsigned char echo;
unsigned short iterations;
unsigned long alloc_time;
unsigned long min_time;
unsigned long avg_time;
unsigned long max_time;
unsigned short partner_ver_len;
} APING;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: INDICATION_HDR */
/* */
/* Description: Header structure of indications */
/*****************************************************************************/
typedef struct indication_hdr
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
} INDICATION_HDR;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLC_INDICATION */
/* */
/* Description: Used to indicate when a DLC is stopped or started */
/*****************************************************************************/
typedef struct dlc_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
unsigned char dlc_name[8];
unsigned char description[RD_LEN];
unsigned char reserva[20]; /* reserved */
} DLC_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: POOL_INDICATION */
/* */
/* Description: Used to indicate when a POOL is defined or deleted. */
/*****************************************************************************/
typedef struct pool_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char reason;
unsigned char pool_name[8];
unsigned char description[RD_LEN];
unsigned char reserva[20]; /* reserved */
} POOL_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUR_LU_INDICATION */
/* */
/* Description: Can be used to keep track of what DLUR LUs are currently */
/* defined. */
/*****************************************************************************/
typedef struct dlur_lu_indication
{
unsigned short opcode;
unsigned char reserv2;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char reason;
unsigned char lu_name[8];
unsigned char pu_name[8];
unsigned char nau_address;
unsigned char reserv5[7];
} DLUR_LU_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUS_INDICATION */
/* */
/* Description: Indication sent by DLUR when: */
/* A DLUS CPSVRMGR pipe is activated */
/* A DLUS CPSVRMGR pipe is deactivated */
/*****************************************************************************/
typedef struct dlus_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
unsigned char dlus_name[17];
unsigned char reserv1; /* reserved */
/***************************************************************************/
/* Pipe stats are only relevant when the pipe is deactivated */
/***************************************************************************/
PIPE_STATS pipe_stats;
unsigned char reserva[20]; /* reserved */
} DLUS_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SESSION_FAILURE_INDICATION */
/* */
/* Description: Used to indicate when a session fails */
/*****************************************************************************/
typedef struct session_failure_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserv3[3]; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char mode_name[8];
unsigned char session_id[8];
unsigned long sense_data;
} SESSION_FAILURE_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: FOCAL_POINT_INDICATION */
/* */
/* Description: Used to indicate when a focal point is acquired, changed or */
/* revoked. */
/*****************************************************************************/
typedef struct focal_point_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char ms_category[8];
unsigned char fp_fqcp_name[17];
unsigned char ms_appl_name[8];
unsigned char fp_type;
unsigned char fp_status;
unsigned char fp_routing;
unsigned char reserva[20]; /* reserved */
} FOCAL_POINT_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_LU_INDICATION */
/* */
/* Description: Can be used to keep track of what LUs are currently */
/* locally defined. */
/*****************************************************************************/
typedef struct local_lu_indication
{
unsigned short opcode;
unsigned char reserv2;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char reason;
unsigned char lu_name[8];
unsigned char description[RD_LEN];
unsigned char lu_alias[8];
unsigned char nau_address;
unsigned char reserv4;
unsigned char pu_name[8];
unsigned char lu_sscp_active;
unsigned char reserv5;
SESSION_STATS lu_sscp_stats;
unsigned char sscp_id[6];
} LOCAL_LU_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LOCAL_TOPOLOGY_INDICATION */
/* */
/* Description: Used to indicate a change in the state of a TG in the local */
/* topology */
/*****************************************************************************/
typedef struct local_topology_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char status;
unsigned char dest[17];
unsigned char dest_type;
unsigned char tg_num;
unsigned char cp_cp_session_active;
unsigned char branch_link_type;
unsigned char branch_tg;
unsigned char reserva[17]; /* reserved */
} LOCAL_TOPOLOGY_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LS_INDICATION */
/* */
/* Description: Used to indicate when the number of active sessions using */
/* changes or when the link station goes from active to */
/* inactive (or vice-versa) */
/*****************************************************************************/
typedef struct ls_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
unsigned char ls_name[8];
unsigned char description[RD_LEN];
unsigned char adj_cp_name[17];
unsigned char adj_node_type;
unsigned short act_sess_count;
unsigned char indication_cause;
LS_STATS ls_stats;
unsigned char tg_num;
unsigned long sense_data;
unsigned char brnn_link_type;
unsigned char adj_cp_is_brnn;
unsigned char reserva[17]; /* reserved */
} LS_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU_0_TO_3_INDICATION */
/* */
/* Description: Used to indicate when the state of a local LU type 0 to 3 */
/* changes. */
/*****************************************************************************/
typedef struct lu_0_to_3_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char pu_name[8];
unsigned char lu_name[8];
unsigned char description[RD_LEN];
unsigned char nau_address;
unsigned char lu_sscp_sess_active;
unsigned char appl_conn_active;
unsigned char plu_sess_active;
unsigned char host_attachment;
SESSION_STATS lu_sscp_stats;
SESSION_STATS plu_stats;
unsigned char sscp_id[6];
} LU_0_TO_3_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: MODE_INDICATION */
/* */
/* Description: Used to indicate when a local LU/partner LU first start to */
/* use a particular mode */
/*****************************************************************************/
typedef struct mode_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char removed;
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char mode_name[8];
unsigned char description[RD_LEN];
unsigned short curr_sess_count;
unsigned char reserva[20]; /* reserved */
} MODE_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PLU_INDICATION */
/* */
/* Description: Used to indicate when a local LU first connects to a partner */
/* LU. */
/*****************************************************************************/
typedef struct plu_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char removed;
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char description[RD_LEN];
unsigned char partner_cp_name[17];
unsigned char partner_lu_located;
unsigned char reserva[20]; /* reserved */
} PLU_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PORT_INDICATION */
/* */
/* Description: Used to indicate when a port is stopped or started */
/*****************************************************************************/
typedef struct port_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
unsigned char port_name[8];
unsigned char description[RD_LEN];
unsigned char reserva[20]; /* reserved */
} PORT_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: PU_INDICATION */
/* */
/* Description: Used to indicate when the state of a local PU changes */
/*****************************************************************************/
typedef struct pu_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char pu_name[8];
unsigned char description[RD_LEN];
unsigned char pu_sscp_sess_active;
unsigned char host_attachment;
unsigned char reserv1[2]; /* reserved */
SESSION_STATS pu_sscp_stats;
unsigned char sscp_id[6];
} PU_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: REGISTRATION_FAILURE */
/* */
/* Description: Verb indicating registration failure when registering */
/* resources to the Network Node server */
/*****************************************************************************/
typedef struct registration_failure
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char resource_name[17];
unsigned short resource_type;
unsigned char description[RD_LEN];
unsigned char reserv2b[2]; /* reserved */
unsigned long sense_data;
unsigned char reserva[20]; /* reserved */
} REGISTRATION_FAILURE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: RTP_INDICATION */
/* */
/* Description: Sent from RTP to HPR, and from HPR to NOF (for fanning out) */
/* when the state of an RTP connection changes */
/*****************************************************************************/
typedef struct rtp_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char connection_state;
unsigned char rtp_name[8];
unsigned short num_sess_active;
unsigned char indication_cause;
unsigned char connection_type;
unsigned char reserv3[2]; /* reserved */
/***************************************************************************/
/* Statistics are filled in only when the connection is disconnected */
/***************************************************************************/
RTP_STATISTICS rtp_stats;
} RTP_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SESSION_INDICATION */
/* */
/* Description: Used to indicate when a session is activated or deactivated */
/*****************************************************************************/
typedef struct session_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char mode_name[8];
unsigned char session_id[8];
FQPCID fqpcid;
unsigned long sense_data;
unsigned char duplex_support;
SESSION_STATS sess_stats;
unsigned char sscp_id[6];
unsigned char plu_slu_comp_lvl;
unsigned char slu_plu_comp_lvl;
unsigned char reserva[12]; /* reserved */
} SESSION_INDICATION;
/**STRUCT-********************************************************************/
#ifdef PU_CONC_SUPPORTED
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_LU_INDICATION */
/* */
/* Description: Indication generated when state of downstream LU changes */
/*****************************************************************************/
typedef struct downstream_lu_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char dspu_name[8];
unsigned char ls_name[8];
unsigned char dslu_name[8];
unsigned char description[RD_LEN];
unsigned char nau_address;
unsigned char lu_sscp_sess_active;
unsigned char plu_sess_active;
unsigned char dspu_services;
unsigned char reserv1; /* reserved */
SESSION_STATS lu_sscp_stats;
SESSION_STATS ds_plu_stats;
SESSION_STATS us_plu_stats;
} DOWNSTREAM_LU_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DOWNSTREAM_PU_INDICATION */
/* */
/* Description: Indication generated when state of downstream PU changes */
/*****************************************************************************/
typedef struct downstream_pu_indication
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char dspu_name[8];
unsigned char description[RD_LEN];
unsigned char ls_name[8];
unsigned char pu_sscp_sess_active;
unsigned char dspu_services;
unsigned char reserv1[2]; /* reserved */
SESSION_STATS pu_sscp_stats;
} DOWNSTREAM_PU_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DLUR_PU_INDICATION */
/* */
/* Description: Indication generated when state of DLUR PU changes */
/*****************************************************************************/
typedef struct dlur_pu_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char reason;
unsigned char pu_name[8];
unsigned char pu_id[4];
unsigned char pu_location;
unsigned char pu_status;
unsigned char dlus_name[17];
unsigned char dlus_session_status;
unsigned char reserv5[2]; /* reserved */
} DLUR_PU_INDICATION;
/**STRUCT-********************************************************************/
#endif
#ifdef NN_SUPPORTED
/**STRUCT+********************************************************************/
/* Structure: DIRECTORY_INDICATION */
/* */
/* Description: Used to indicate when an entry is added to or removed from */
/* the local directory database. */
/*****************************************************************************/
typedef struct directory_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char removed;
unsigned char resource_name[17];
unsigned char invalid;
unsigned short resource_type;
unsigned char parent_name[17];
unsigned char entry_type;
unsigned short parent_type;
unsigned char description[RD_LEN];
unsigned short real_owning_cp_type;
unsigned char real_owning_cp_name[17];
unsigned char reserva; /* reserved */
} DIRECTORY_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ISR_INDICATION */
/* */
/* Description: Used to indicate a change in the state of an intermediate */
/* session */
/*****************************************************************************/
typedef struct isr_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
FQPCID fqpcid;
unsigned char fqplu_name[17];
unsigned char fqslu_name[17];
unsigned char mode_name[8];
unsigned char cos_name[8];
unsigned char transmission_priority;
unsigned long sense_data;
unsigned char reserv2a[2]; /* reserved */
SESSION_STATS pri_sess_stats;
SESSION_STATS sec_sess_stats;
unsigned char reserva[20]; /* reserved */
} ISR_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: NN_TOPOLOGY_NODE_INDICATION */
/* */
/* Description: Used to indicate a change in the state of a node in the */
/* network topology */
/*****************************************************************************/
typedef struct nn_topology_node_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char deactivated;
unsigned char node_name[17];
unsigned char node_type;
unsigned char branch_aware;
unsigned char reserva[19]; /* reserved */
} NN_TOPOLOGY_NODE_INDICATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: NN_TOPOLOGY_TG_INDICATION */
/* */
/* Description: Used to indicate a change in the state of a TG in the */
/* network topology */
/*****************************************************************************/
typedef struct nn_topology_tg_indication
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char data_lost;
unsigned char status;
unsigned char owner[17];
unsigned char dest[17];
unsigned char tg_num;
unsigned char owner_type;
unsigned char dest_type;
unsigned char cp_cp_session_active;
unsigned char branch_tg;
unsigned char reserva[16]; /* reserved */
} NN_TOPOLOGY_TG_INDICATION;
/**STRUCT-********************************************************************/
#endif
/**STRUCT+********************************************************************/
/* Structure: SESSION_3270_DEF_DATA */
/* */
/* Description: Defined data for a 3270 session */
/*****************************************************************************/
typedef struct session_3270_def_data
{
unsigned char lu_name[8];
unsigned char session_type;
unsigned char model_override;
} SESSION_3270_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SESSION_DEF_DATA */
/* */
/* Description: Defined data for a 3270 session */
/*****************************************************************************/
typedef struct session_def_data
{
unsigned short overlay_size;
unsigned char session_name[8];
unsigned char emulator_type;
unsigned char reserv1; /* reserved */
unsigned char description[RD_LEN];
unsigned char reserv2[16]; /* reserved */
union
{
SESSION_3270_DEF_DATA def_data_3270;
} session_variant;
unsigned long reserv3; /* reserved */
} SESSION_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: EMULATOR_USER_DEF_DATA */
/* */
/* Description: Defined data for an emulator user. The session data */
/* (if any) is appended to the main VCB. */
/*****************************************************************************/
typedef struct emulator_user_def_data
{
unsigned char description[RD_LEN];
unsigned char style_file[9];
unsigned char reserv1[3]; /* reserved */
unsigned long num_sessions;
unsigned long max_act_sessions;
unsigned char view_rtm;
unsigned char alert_permission;
unsigned char change_lu;
unsigned char change_style;
unsigned char reserv3; /* reserved */
unsigned char status; /* reserved */
unsigned char reserv2[14]; /* reserved */
} EMULATOR_USER_DEF_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_EMULATOR_USER */
/* */
/* Description: Define characteristics of an emulator user. */
/* The session data is appended to the main VCB. */
/*****************************************************************************/
typedef struct define_emulator_user
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char user_name[32];
EMULATOR_USER_DEF_DATA def_data;
} DEFINE_EMULATOR_USER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_EMULATOR_USER */
/* */
/* Description: Delete a user or user's sessions */
/*****************************************************************************/
typedef struct delete_emulator_user
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char user_name[32];
unsigned long num_sessions;
unsigned short delete_options;
unsigned char session_names[10][8];
} DELETE_EMULATOR_USER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: EMULATOR_USER_SUMMARY */
/* */
/* Description: Summary overlay returned by QUERY_EMULATOR_USER */
/*****************************************************************************/
typedef struct emulator_user_summary
{
unsigned short overlay_size;
unsigned char user_name[32];
unsigned char reserv4[4]; /* reserved */
} EMULATOR_USER_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: EMULATOR_USER_DETAIL */
/* */
/* Description: Detailed overlay returned by QUERY_EMULATOR_USER */
/*****************************************************************************/
typedef struct emulator_user_detail
{
unsigned short overlay_size;
unsigned char reserv1[2]; /* reserved */
unsigned char user_name[32];
unsigned char reserv2[8]; /* reserved */
EMULATOR_USER_DEF_DATA def_data;
} EMULATOR_USER_DETAIL;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_EMULATOR_USER */
/* */
/* Description: Query configured users */
/*****************************************************************************/
typedef struct query_emulator_user
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char user_name[32];
} QUERY_EMULATOR_USER;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_EMULATOR_USER_SESSION */
/* */
/* Description: Query configured sessions for an emulator user */
/*****************************************************************************/
typedef struct query_emulator_user_session
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char user_name[32];
unsigned char session_name[8];
} QUERY_EMULATOR_USER_SESSION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DIAG_3270_DATA */
/* */
/* Description: 3270 diagnostic data */
/* The user alert data is appended to the main VCB. */
/*****************************************************************************/
typedef struct diag_3270_data
{
unsigned char rtm_overflow;
unsigned char rtm_unbind;
unsigned char rtm_timer_option;
unsigned char reserv1; /* reserved */
unsigned short rtm_thresh1;
unsigned short rtm_thresh2;
unsigned short rtm_thresh3;
unsigned short rtm_thresh4;
unsigned short num_alerts;
unsigned char reserv2[6]; /* reserved */
} DIAG_3270_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ALERT_3270_DATA */
/* */
/* Description: 3270 User Alert data */
/*****************************************************************************/
typedef struct alert_3270_data
{
unsigned short overlay_size;
unsigned char description[AP_MAX_3270_ALERT_DESC + 1];
unsigned char parameter1[AP_MAX_3270_ALERT_PARM + 1];
unsigned char parameter2[AP_MAX_3270_ALERT_PARM + 1];
unsigned char parameter3[AP_MAX_3270_ALERT_PARM + 1];
unsigned char reserv1[8]; /* reserved */
} ALERT_3270_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_3270_DIAG */
/* */
/* Description: Define 3270 diagnostic data. */
/* The user alerts are appended to the main VCB. */
/*****************************************************************************/
typedef struct define_3270_diag
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
DIAG_3270_DATA def_data;
} DEFINE_3270_DIAG;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_3270_DIAG */
/* */
/* Description: Query 3270 diagnostic data. */
/* Returns buffer containing ALERT_3270_DATA overlays. */
/*****************************************************************************/
typedef struct query_3270_diag
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned short alert_number;
DIAG_3270_DATA def_data;
} QUERY_3270_DIAG;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DSLU_TEMPLATE */
/* */
/* Description: Data used to define a DSPU_TEMPLATE */
/*****************************************************************************/
typedef struct dslu_template
{
unsigned char min_nau;
unsigned char max_nau;
unsigned char allow_timeout;
unsigned char delayed_logon;
unsigned char reserv1[8];
unsigned char host_lu[8];
} DSLU_TEMPLATE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_DSPU_TEMPLATE */
/* */
/* Description: DEFINE_DSPU_TEMPLATE verb control block */
/*****************************************************************************/
typedef struct define_dspu_template
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char template_name[8];
unsigned char description[RD_LEN];
unsigned char modify_template;
unsigned char reserv1[11];
unsigned short max_instance;
unsigned short num_of_dslu_templates;
} DEFINE_DSPU_TEMPLATE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_DSPU_TEMPLATE */
/* */
/* Description: DELETE_DSPU_TEMPLATE verb control block */
/*****************************************************************************/
typedef struct delete_dspu_template
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 1 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char template_name[8];
unsigned short num_of_dslu_templates;
unsigned char reserv1[10]; /* reserved */
} DELETE_DSPU_TEMPLATE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_DSPU_TEMPLATE */
/* */
/* Description: Used for querying downstream PU templates */
/*****************************************************************************/
typedef struct query_dspu_template
{
unsigned short opcode;
unsigned char attributes;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3;
unsigned char template_name[8];
} QUERY_DSPU_TEMPLATE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DSPU_TEMPLATE_DATA */
/* */
/* Description: Overlay returned for QUERY_DSPU_TEMPLATE (above) */
/*****************************************************************************/
typedef struct dspu_template_data
{
unsigned short overlay_size;
unsigned char template_name[8];
unsigned char description[RD_LEN];
unsigned char reserv1[12];
unsigned short max_instance;
unsigned short active_instance;
unsigned short num_of_dslu_templates;
} DSPU_TEMPLATE_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DSLU_TEMPLATE_DATA */
/* */
/* Description: Overlay returned for QUERY_DSPU_TEMPLATE (above) */
/*****************************************************************************/
typedef struct dslu_template_data
{
unsigned short overlay_size;
unsigned char reserv1[2];
DSLU_TEMPLATE dslu_template;
} DSLU_TEMPLATE_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: SIGN_OFF */
/* */
/* Description: SIGN_OFF verb control block */
/*****************************************************************************/
typedef struct sign_off
{
unsigned short opcode;
unsigned char reserv2;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char list;
unsigned char all_in_list;
unsigned char immediate;
unsigned short num_entries;
} SIGN_OFF;
/**STRUCT-********************************************************************/
/* */
/**STRUCT+********************************************************************/
/* Structure: SIGN_OFF_DATA */
/* */
/* Description: SIGN_OFF_DATA verb control block */
/*****************************************************************************/
typedef struct sign_off_data
{
unsigned char user_id[10];
unsigned char all_profiles;
unsigned char profile[10];
} SIGN_OFF_DATA;
/**STRUCT+********************************************************************/
/* Structure: QUERY_SIGNED_ON_LIST */
/* */
/* Description: QUERY_SIGNED_ON_LIST verb control block */
/*****************************************************************************/
typedef struct query_signed_on_list
{
unsigned short opcode;
unsigned char reserv2;
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3;
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char user_id[10];
unsigned char profile[10];
unsigned char list;
} QUERY_SIGNED_ON_LIST;
/**STRUCT+********************************************************************/
/* Structure: signed_on_list_entry */
/* */
/* Description: Overlay returned for QUERY_SIGNED_ON_LIST (above) */
/*****************************************************************************/
typedef struct signed_on_list_entry
{
unsigned short overlay_size;
unsigned char plu_alias[8];
unsigned char user_id[10];
unsigned char profile[10];
} SIGNED_ON_LIST_ENTRY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_ADJACENT_NODE */
/* */
/* Description: QUERY_ADJACENT_NODE verb control block */
/*****************************************************************************/
typedef struct query_adjacent_node
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char cp_name[17];
} QUERY_ADJACENT_NODE;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ADJACENT_NODE_DATA */
/* */
/* Description: Overlay returned on QUERY_ADJACENT_NODE. */
/*****************************************************************************/
typedef struct adjacent_node_data
{
unsigned short overlay_size;
unsigned short sub_overlay_size;
unsigned char cp_name[17];
unsigned char description[RD_LEN];
unsigned char reserv3[19]; /* reserved */
unsigned short num_of_lus;
} ADJACENT_NODE_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ADJACENT_NODE_LU_DATA */
/* */
/* Description: Overlay returned on QUERY_ADJACENT_NODE */
/*****************************************************************************/
typedef struct adjacent_node_lu_data
{
unsigned short overlay_size;
unsigned char reserv2[2]; /* reserved */
ADJACENT_NODE_LU adj_lu_def_data;
} ADJACENT_NODE_LU_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_HPR_STATS */
/* */
/* Description: QUERY_HPR_STATS verb control block */
/*****************************************************************************/
typedef struct query_hpr_stats
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned long num_orig_rs_sent;
unsigned long num_orig_rs_rej;
unsigned long num_inter_rs_rcvd;
unsigned long num_inter_rs_rej;
unsigned long num_dest_rs_rcvd;
unsigned long num_dest_rs_rej;
unsigned long active_isr_hpr_sessions;
unsigned char reserv[28]; /* reserved */
} QUERY_HPR_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_CONVERSATION */
/* */
/* Description: Used to query the node for conversation information */
/*****************************************************************************/
typedef struct query_conversation
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3; /* reserved */
unsigned char lu_name[8];
unsigned char lu_alias[8];
unsigned long conv_id;
unsigned char session_id[8];
unsigned char reserv4[12]; /* reserved */
} QUERY_CONVERSATION;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: CONV_SUMMARY */
/* */
/* Description: Summary overlay used for query_conversation (above) */
/*****************************************************************************/
typedef struct conv_summary
{
unsigned short overlay_size;
unsigned long conv_id;
unsigned char local_tp_name[64];
unsigned char partner_tp_name[64];
unsigned char tp_id[8];
unsigned char sess_id[8];
unsigned long conv_start_time;
unsigned long bytes_sent;
unsigned long bytes_received;
unsigned char conv_state;
unsigned char duplex_type;
} CONV_SUMMARY;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_RTP_TUNING */
/* */
/* Description: Defines values to modify the default RTP settings, to */
/* change the delay between path switch attempts */
/*****************************************************************************/
typedef struct define_rtp_tuning
{
unsigned short opcode;
unsigned char reserv2;
unsigned char format;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char path_switch_attempts;
unsigned char short_req_retry_limit;
unsigned char reserved[98];
} DEFINE_RTP_TUNING;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_RTP_TUNING */
/* */
/* Description: Queries the RTP_TUNING parameters, which can be used to */
/* change the delay between path switch attempts */
/*****************************************************************************/
typedef struct query_rtp_tuning
{
unsigned short opcode;
unsigned char reserv2;
unsigned char format;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char path_switch_attempts;
unsigned char short_req_retry_limit;
unsigned char reserved[98];
} QUERY_RTP_TUNING;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEACTIVATE_LU_0_TO_3 */
/* */
/* Description: NOF API verb sent to cause a TERM_SELF request for the */
/* PLU-SLU session to be sent to the host. */
/*****************************************************************************/
typedef struct deactivate_lu_0_to_3
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char lu_name[8];
} DEACTIVATE_LU_0_TO_3;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_ISR_STATS */
/* */
/* Description: Define and return what ISR stats we are maintaining. */
/*****************************************************************************/
typedef struct define_isr_stats
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char session_type;
unsigned char set_collect_stats;
unsigned char set_collect_names;
unsigned char set_collect_rscvs;
unsigned char collect_stats;
unsigned char collect_names;
unsigned char collect_rscvs;
unsigned char reserv1; /* reserved */
unsigned long collect_stats_time;
unsigned long collect_names_time;
unsigned long collect_rscvs_time;
} DEFINE_ISR_STATS;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DEFINE_LU62_TIMEOUT */
/* */
/* Description: DEFINE_LU62_TIMEOUT verb control block */
/*****************************************************************************/
typedef struct define_lu62_timeout
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char resource_type;
unsigned char resource_name[17];
unsigned short timeout;
} DEFINE_LU62_TIMEOUT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY_LU62_TIMEOUT */
/* */
/* Description: Used to obtain information on one or more LU 6.2 timeout */
/* definitions */
/*****************************************************************************/
typedef struct query_lu62_timeout
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char *buf_ptr;
unsigned long buf_size;
unsigned long total_buf_size;
unsigned short num_entries;
unsigned short total_num_entries;
unsigned char list_options;
unsigned char reserv3;
unsigned char resource_type;
unsigned char resource_name[17];
} QUERY_LU62_TIMEOUT;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: LU62_TIMEOUT_DATA */
/* */
/* Description: Overlay returned on QUERY_LU62_TIMEOUT */
/*****************************************************************************/
typedef struct lu62_timeout_data
{
unsigned short overlay_size;
unsigned char resource_type;
unsigned char resource_name[17];
unsigned short timeout;
} LU62_TIMEOUT_DATA;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DELETE_LU62_TIMEOUT */
/* */
/* Description: DELETE_LU62_TIMEOUT verb control block */
/*****************************************************************************/
typedef struct delete_lu62_timeout
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char resource_type;
unsigned char resource_name[17];
} DELETE_LU62_TIMEOUT;
/**STRUCT-********************************************************************/
#endif /* !APPN_DONT_INC_VCBS */
/*****************************************************************************/
/* User Defined Verbs */
/*****************************************************************************/
/**STRUCT+********************************************************************/
/* Structure: ENABLE AM */
/* */
/* Description: Used to enable the Attach manager */
/*****************************************************************************/
typedef struct enable_am
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
} ENABLE_AM;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: DISABLE AM */
/* */
/* Description: Used to disable the Attach manager */
/*****************************************************************************/
typedef struct disable_am
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
} DISABLE_AM;
/**STRUCT-********************************************************************/
/**STRUCT+********************************************************************/
/* Structure: QUERY AM */
/* */
/* Description: Used to query the state of the Attach manager */
/*****************************************************************************/
typedef struct query_am
{
unsigned short opcode;
unsigned char reserv2; /* reserved */
unsigned char format; /* current format is 0 */
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned short active;
} QUERY_AM;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* Windows NOF Extension Return Codes. */
/*****************************************************************************/
#define WNOFSYSERROR 0xF100 /* System error */
#define WNOFALREADY 0xF101 /* Async request already completed */
#define WNOFBADPOINTER 0xF102 /* Invalid pointer */
#define WNOFBADSIZE 0xF103 /* Invalid buffer size */
#define WNOFSYSNOTREADY 0xF104 /* Underlying subsystem not started */
#define WNOFVERNOTSUPPORTED 0xF105 /* Application version not supported */
#define WNOFNOTREG 0xF106 /* Not registered for indications */
#define WNOFTIMEOUT 0xF107 /* Call timed out */
/**STRUCT+********************************************************************/
/* Structure: WNOFDATA */
/* */
/* Description: Data returned by WinNOFStartup */
/*****************************************************************************/
#define WNOFDESCRIPTION_LEN 127
typedef struct tagWNOFDATA
{
WORD wVersion;
char szDescription[WNOFDESCRIPTION_LEN+1];
} WNOFDATA, * LPWNOFDATA;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* Api function prototypes */
/*****************************************************************************/
extern void WINAPI WinNOF(long, unsigned short);
extern HANDLE WINAPI WinAsyncNOF(HWND, long, unsigned short);
extern HANDLE WINAPI WinAsyncNOFEx(HANDLE, long, unsigned short);
extern int WINAPI WinNOFCancelAsyncRequest(HANDLE);
extern BOOL WINAPI WinNOFCleanup(void);
extern int WINAPI WinNOFStartup(WORD, LPWNOFDATA);
extern BOOL WINAPI WinNOFRegisterIndicationSink(unsigned short,
unsigned short,
unsigned short *,
unsigned long *);
extern BOOL WINAPI WinNOFUnregisterIndicationSink(unsigned short,
unsigned short *,
unsigned long *);
extern int WINAPI WinNOFGetIndication(long,
unsigned short *,
unsigned long);
#define WIN_NOF_ASYNC_COMPLETE_MESSAGE "WinAsyncNOF"
/*****************************************************************************/
/* For Win32 environment, restore original packing mode */
/*****************************************************************************/
#pragma pack()
/*****************************************************************************/
/* Define this header file to be C if this is inluded by a C++ source file */
/*****************************************************************************/
#ifdef __cplusplus
}
#endif
/*****************************************************************************/
/* End ifndef NOF_C_INCLUDED */
/*****************************************************************************/
#endif
/* winnof.h */