home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / hnofapi.zip / WINNOF.H < prev   
C/C++ Source or Header  |  2002-03-19  |  461KB  |  9,931 lines

  1. /**INC+***********************************************************************/
  2. /* Header:    winnof.h                                                       */
  3. /*                                                                           */
  4. /* Purpose:   Defines types and macros used by the NOF API                   */
  5. /*                                                                           */
  6. /* Dependencies:                                                             */
  7. /*                                                                           */
  8. /* Invocation:                                                               */
  9. /*            #include <winnof.h>                                            */
  10. /*                                                                           */
  11. /* Copyright Notice:                                                         */
  12. /*               (C) COPYRIGHT IBM CORP. 1996 - PROGRAM PROPERTY OF IBM      */
  13. /*               ALL RIGHTS RESERVED                                         */
  14. /*                                                                           */
  15. /* $Revision::   1.48                  $$Modtime::   15 Jun 1999 17:31:12   $*/
  16. /**INC-***********************************************************************/
  17.  
  18. /*****************************************************************************/
  19. /* If winnof.h not already included then define NOF_C_INCLUDED to avoid it   */
  20. /* being included again                                                      */
  21. /*****************************************************************************/
  22. #ifndef NOF_C_INCLUDED
  23. #define NOF_C_INCLUDED
  24.  
  25. /*****************************************************************************/
  26. /* Include common return code and parmeter definitions                       */
  27. /*****************************************************************************/
  28. #include <winrc.h>
  29. #include <winparms.h>
  30.  
  31. /*****************************************************************************/
  32. /* Define this header file to be C if this is inluded by a C++ source file   */
  33. /*****************************************************************************/
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. /*****************************************************************************/
  39. /* For Win32 environment:                                                    */
  40. /* -  ensure correct packing                                                 */
  41. /* -  remove references to far                                               */
  42. /*****************************************************************************/
  43. #pragma pack(4)
  44. #define far
  45.  
  46. /*****************************************************************************/
  47. /* Operation Codes                                                           */
  48. /*****************************************************************************/
  49.  
  50. /*****************************************************************************/
  51. /* Verbs used to define or change resources                                  */
  52. /*****************************************************************************/
  53. #define AP_DEFINE_ADJACENT_LEN_NODE     0x2064
  54. #define AP_DEFINE_ADJACENT_NODE         0x2071
  55. #define AP_DEFINE_CN                    0x2038
  56. #define AP_DEFINE_COS                   0x2053
  57. #define AP_DEFINE_DEFAULT_PU            0x300C
  58. #define AP_DEFINE_DEFAULTS              0x0015
  59. #define AP_DEFINE_DLC                   0x2039
  60. #define AP_DEFINE_DLUR_DEFAULTS         0x6001
  61. #define AP_DEFINE_FOCAL_POINT           0x300B
  62. #define AP_DEFINE_INTERNAL_PU           0x6000
  63. #define AP_DEFINE_LOCAL_LU              0x0021
  64. #define AP_DEFINE_LS                    0x2040
  65. #define AP_DEFINE_LU62_TIMEOUT          0x0064
  66. #define AP_DEFINE_LU_0_TO_3             0x5000
  67. #define AP_DEFINE_LU_0_TO_3_RANGE       0x5001
  68. #define AP_DEFINE_LU_POOL               0x5004
  69. #define AP_DEFINE_MODE                  0x0039
  70. #define AP_DEFINE_PARTNER_LU            0x0037
  71. #define AP_DEFINE_PORT                  0x2041
  72. #define AP_DEFINE_RTP_TUNING            0x2080
  73. #define AP_DEFINE_TP                    0x0030
  74. #define AP_DEFINE_CPIC_SIDE_INFO        0x2062
  75. #define AP_DEFINE_ISR_STATS             0x2073
  76.  
  77. #ifdef PU_CONC_SUPPORTED
  78. #define AP_DEFINE_DOWNSTREAM_LU         0x5006
  79. #define AP_DEFINE_DOWNSTREAM_LU_RANGE   0x5007
  80. #endif
  81.  
  82. /*****************************************************************************/
  83. /* Verbs used to delete resources                                            */
  84. /*****************************************************************************/
  85. #define AP_DELETE_ADJACENT_LEN_NODE     0x2065
  86. #define AP_DELETE_ADJACENT_NODE         0x2072
  87. #define AP_DELETE_CN                    0x2042
  88. #define AP_DELETE_COS                   0x2054
  89. #define AP_DELETE_DLC                   0x2043
  90. #define AP_DELETE_FOCAL_POINT           0x300F
  91. #define AP_DELETE_INTERNAL_PU           0x6004
  92. #define AP_DELETE_LOCAL_LU              0x0044
  93. #define AP_DELETE_LS                    0x2044
  94. #define AP_DELETE_LU62_TIMEOUT          0x0065
  95. #define AP_DELETE_LU_0_TO_3             0x5002
  96. #define AP_DELETE_LU_0_TO_3_RANGE       0x5003
  97. #define AP_DELETE_LU_POOL               0x5005
  98. #define AP_DELETE_MODE                  0x003F
  99. #define AP_DELETE_PARTNER_LU            0x003E
  100. #define AP_DELETE_PORT                  0x2045
  101. #define AP_DELETE_TP                    0x0031
  102. #define AP_DELETE_CPIC_SIDE_INFO        0x2063
  103.  
  104. #ifdef PU_CONC_SUPPORTED
  105. #define AP_DELETE_DOWNSTREAM_LU         0x5008
  106. #define AP_DELETE_DOWNSTREAM_LU_RANGE   0x5009
  107. #define AP_DEFINE_DSPU_TEMPLATE         0x500A
  108. #define AP_DELETE_DSPU_TEMPLATE         0x500B
  109. #define AP_DEACTIVATE_LU_0_TO_3         0x500C
  110. #endif
  111.  
  112. /*****************************************************************************/
  113. /* Verbs used to activate or deactivate resources                            */
  114. /*****************************************************************************/
  115. #define AP_START_DLC                    0x2031
  116. #define AP_START_LS                     0x2033
  117. #define AP_START_PORT                   0x2034
  118. #define AP_STOP_DLC                     0x2035
  119. #define AP_STOP_LS                      0x2036
  120. #define AP_STOP_PORT                    0x2037
  121.  
  122. #define AP_START_INTERNAL_PU            0x6002
  123. #define AP_STOP_INTERNAL_PU             0x6003
  124.  
  125. /*****************************************************************************/
  126. /* Verbs used at session level                                               */
  127. /*****************************************************************************/
  128. #define AP_ACTIVATE_SESSION             0x1014
  129. #define AP_DEACTIVATE_CONV_GROUP        0x0032
  130. #define AP_DEACTIVATE_SESSION           0x002E
  131. #define AP_SIGN_OFF                     0x1020
  132.  
  133. /*****************************************************************************/
  134. /* Verb used to force an RTP connection to switch paths                      */
  135. /*****************************************************************************/
  136. #define AP_PATH_SWITCH                  0x7000
  137.  
  138. /*****************************************************************************/
  139. /* Verbs used to return information about the node                           */
  140. /*****************************************************************************/
  141. #define AP_QUERY_ACTIVE_TRANSACTION     0x211B
  142. #define AP_QUERY_ADJACENT_NODE          0x20FB
  143. #define AP_QUERY_CN                     0x2117
  144. #define AP_QUERY_CN_PORT                0x2101
  145. #define AP_QUERY_CONVERSATION           0x20F8
  146. #define AP_QUERY_COS                    0x2102
  147. #define AP_QUERY_CPIC_SIDE_INFO         0x2121
  148. #define AP_QUERY_DEFAULTS               0x2132
  149. #define AP_QUERY_DEFAULT_PU             0x2131
  150. #define AP_QUERY_DIRECTORY_LU           0x2106
  151. #define AP_QUERY_DIRECTORY_STATS        0x212E
  152. #define AP_QUERY_DLC                    0x2107
  153. #define AP_QUERY_DLUR_DEFAULTS          0x2133
  154. #define AP_QUERY_DLUR_LU                0x2128
  155. #define AP_QUERY_DLUR_PU                0x2127
  156. #define AP_QUERY_DLUS                   0x2126
  157. #define AP_QUERY_FOCAL_POINT            0x2118
  158. #define AP_QUERY_HPR_STATS              0x2134
  159. #define AP_QUERY_LOCAL_LU               0x2109
  160. #define AP_QUERY_LOCAL_TOPOLOGY         0x210A
  161. #define AP_QUERY_LS                     0x210B
  162. #define AP_QUERY_LS_EXCEPTION           0x20F9
  163. #define AP_QUERY_LS_ROUTING             0x20FC
  164. #define AP_QUERY_LU62_TIMEOUT           0x20FA
  165. #define AP_QUERY_LU_0_TO_3              0x211C
  166. #define AP_QUERY_LU_POOL                0x211D
  167. #define AP_QUERY_MDS_APPLICATION        0x211A
  168. #define AP_QUERY_MDS_STATISTICS         0x2130
  169. #define AP_QUERY_MODE                   0x210C
  170. #define AP_QUERY_MODE_DEFINITION        0x210D
  171. #define AP_QUERY_MODE_TO_COS_MAPPING    0x210E
  172. #define AP_QUERY_NMVT_APPLICATION       0x2119
  173. #define AP_QUERY_NODE                   0x212C
  174. #define AP_QUERY_PARTNER_LU             0x2111
  175. #define AP_QUERY_PARTNER_LU_DEFINITION  0x2112
  176. #define AP_QUERY_PORT                   0x2113
  177. #define AP_QUERY_PU                     0x211E
  178. #define AP_QUERY_RTP_CONNECTION         0x2129
  179. #define AP_QUERY_RTP_TUNING             0x2135
  180. #define AP_QUERY_SESSION                0x2114
  181. #define AP_QUERY_SIGNED_ON_LIST         0x20FD
  182. #define AP_QUERY_STATISTICS             0x212D
  183. #define AP_QUERY_TP                     0x2115
  184. #define AP_QUERY_TP_DEFINITION          0x2116
  185.  
  186. #define AP_SAFE_STORE_TOPOLOGY          0x20F7
  187.  
  188. #ifdef PU_CONC_SUPPORTED
  189. #define AP_QUERY_DOWNSTREAM_LU          0x211F
  190. #define AP_QUERY_DOWNSTREAM_PU          0x2120
  191. #define AP_QUERY_DSPU_TEMPLATE          0x20FE
  192. #endif
  193.  
  194. #ifdef NN_SUPPORTED
  195. #define AP_QUERY_ADJACENT_NN            0x2100
  196. #define AP_QUERY_COS_NODE_ROW           0x2103
  197. #define AP_QUERY_COS_TG_ROW             0x2104
  198. #define AP_QUERY_DIRECTORY_ENTRY        0x2105
  199. #define AP_QUERY_ISR_SESSION            0x2108
  200. #define AP_QUERY_NN_TOPOLOGY_NODE       0x210F
  201. #define AP_QUERY_NN_TOPOLOGY_STATS      0x212F
  202. #define AP_QUERY_NN_TOPOLOGY_TG         0x2110
  203. #endif
  204.  
  205. #define AP_MIN_QUERY_OPCODE             0x20F7
  206. #define AP_MIN_QUERY_WITH_BUF_PTR       0x20F7
  207. #define AP_MAX_QUERY_OPCODE             0x2135
  208.  
  209. /*****************************************************************************/
  210. /* Verbs used to change the number of sessions                               */
  211. /*****************************************************************************/
  212. #define AP_CHANGE_SESSION_LIMIT         0x1010
  213. #define AP_INITIALIZE_SESSION_LIMIT     0x1011
  214. #define AP_RESET_SESSION_LIMIT          0x1013
  215.  
  216. /*****************************************************************************/
  217. /* Security verbs                                                            */
  218. /*****************************************************************************/
  219. #define AP_DEFINE_LU_LU_PASSWORD        0x0060
  220. #define AP_DEFINE_USERID_PASSWORD       0x0058
  221. #define AP_DELETE_LU_LU_PASSWORD        0x0061
  222. #define AP_DELETE_USERID_PASSWORD       0x0059
  223.  
  224. /*****************************************************************************/
  225. /* Verb used to 'ping' a remote LU                                           */
  226. /*****************************************************************************/
  227. #define AP_APING                        0x2060
  228.  
  229. /*****************************************************************************/
  230. /* Unsolicited indication verbs                                              */
  231. /*****************************************************************************/
  232. #define AP_DLC_INDICATION               0x400E
  233. #define AP_DLUR_LU_INDICATION           0x4017
  234. #define AP_DLUR_PU_INDICATION           0x401A
  235. #define AP_DLUS_INDICATION              0x4014
  236. #define AP_EXTENDED_DLOAD_INDICATION    0x4019
  237. #define AP_FOCAL_POINT_INDICATION       0x400F
  238. #define AP_LOCAL_LU_INDICATION          0x4016
  239. #define AP_LOCAL_TOPOLOGY_INDICATION    0x4005
  240. #define AP_LS_INDICATION                0x4006
  241. #define AP_LU_0_TO_3_INDICATION         0x4010
  242. #define AP_MODE_INDICATION              0x4007
  243. #define AP_PLU_INDICATION               0x400A
  244. #define AP_PORT_INDICATION              0x400D
  245. #define AP_PU_INDICATION                0x4011
  246. #define AP_REGISTRATION_FAILURE         0x400B
  247. #define AP_RTP_INDICATION               0x4015
  248. #define AP_SESSION_FAILURE_INDICATION   0x4018
  249. #define AP_SESSION_INDICATION           0x400C
  250. #define AP_POOL_INDICATION              0x9000
  251.  
  252. #define AP_MAX_INDICATION_OPCODE        0x401A
  253. #define NUM_IND_SINK_TYPES              25
  254.  
  255. #ifdef PU_CONC_SUPPORTED
  256. #define AP_DOWNSTREAM_LU_INDICATION     0x4013
  257. #define AP_DOWNSTREAM_PU_INDICATION     0x4012
  258. #endif
  259.  
  260. #ifdef NN_SUPPORTED
  261. #define AP_DIRECTORY_INDICATION         0x4002
  262. #define AP_ISR_INDICATION               0x4004
  263. #define AP_NN_TOPOLOGY_NODE_INDICATION  0x4008
  264. #define AP_NN_TOPOLOGY_TG_INDICATION    0x4009
  265. #endif
  266.  
  267.  
  268. /*****************************************************************************/
  269. /* User Defined verbs 0xF000 onwards                                         */
  270. /*****************************************************************************/
  271.  
  272. /*****************************************************************************/
  273. /* Attach Manager Enable and Disable                                         */
  274. /*****************************************************************************/
  275. #define AP_ENABLE_ATTACH_MGR            0xF001
  276. #define AP_DISABLE_ATTACH_MGR           0xF002
  277. #define AP_QUERY_ATTACH_MGR             0xF003
  278.  
  279. /*****************************************************************************/
  280. /* 3270 user verbs                                                           */
  281. /*****************************************************************************/
  282. #define AP_DEFINE_EMULATOR_USER         0xF041
  283. #define AP_DELETE_EMULATOR_USER         0xF042
  284. #define AP_QUERY_EMULATOR_USER          0xF043
  285. #define AP_QUERY_EMULATOR_USER_SESSION  0xF044
  286. #define AP_DEFINE_3270_DIAG             0xF045
  287. #define AP_QUERY_3270_DIAG              0xF046
  288.  
  289. /*****************************************************************************/
  290. /* Verbs from 0xFF00 onwards are reserved for internal use                   */
  291. /*****************************************************************************/
  292.  
  293.  
  294. /*****************************************************************************/
  295. /* List option variants for use with query verbs                             */
  296. /*****************************************************************************/
  297. #define AP_DETAIL                       0x01
  298. #define AP_SUMMARY                      0x02
  299. #define AP_LIST_INCLUSIVE               0x04
  300. #define AP_LIST_FROM_NEXT               0x08
  301. #define AP_FIRST_IN_LIST                0x10
  302. #define AP_LIST_BY_ALIAS                0x20
  303.  
  304. /*****************************************************************************/
  305. /* Node type                                                                 */
  306. /*****************************************************************************/
  307. #define AP_LEARN_NODE                   0x00
  308. #define AP_APPN_NODE                    0x00
  309. #define AP_LEN_NODE                     0x01
  310. #define AP_NETWORK_NODE                 0x02
  311. #define AP_END_NODE                     0x03
  312. #define AP_VRN                          0x04
  313. #define AP_BACK_LEVEL_LEN_NODE          0x05
  314. #define AP_HOST_XID3                    0x06
  315. #define AP_HOST_XID0                    0x07
  316.  
  317. #ifdef PU_CONC_SUPPORTED
  318. #define AP_DSPU_XID                     0x08
  319. #define AP_DSPU_NOXID                   0x09
  320. #endif
  321.  
  322. #define AP_BRANCH_NETWORK_NODE          0x0A
  323.  
  324. /*****************************************************************************/
  325. /* Level of HPR support                                                      */
  326. /* (AP_NONE defined in winparms.h)                                           */
  327. /*****************************************************************************/
  328. #define AP_BASE                         0x01
  329. #define AP_RTP                          0x02
  330. #define AP_CONTROL_FLOWS                0x03
  331.  
  332. /*****************************************************************************/
  333. /* Constants used for the PTF array                                          */
  334. /*****************************************************************************/
  335.  
  336. /*****************************************************************************/
  337. /* byte 0                                                                    */
  338. /*   bit 0 -                                                                 */
  339. /*   bit 1 -                                                                 */
  340. /*   bit 2 -                                                                 */
  341. /*   bit 3 -                                                                 */
  342. /*   bit 4 - Set search status.  This forces the NNS of this node to forward */
  343. /*           broadcast LOCATEs to this node.  This slows down network        */
  344. /*           searhes, so is usually only done if this EN/BrNN is unable to   */
  345. /*           register LUs with its NNs.  But if this is a BrNN Anynet        */
  346. /*           Gateway which registers its LUs, then only by setting this bit  */
  347. /*           can the Anynet resources be made visible to the network.        */
  348.  
  349. /*****************************************************************************/
  350. #define AP_SUPPRESS_REQDISCONT          0x80
  351. #define AP_OVERRIDE_REQDISCONT          0x40
  352. #define AP_REQDISCONT_TYPE              0x20
  353. #define AP_REQDISCONT_RECONTACT         0x10
  354. #define AP_SET_SEARCH_STATUS            0x08
  355.  
  356. /*****************************************************************************/
  357. /* byte 1                                                                    */
  358. /*****************************************************************************/
  359. #define AP_OVERRIDE_ERP                 0x80
  360.  
  361. /*****************************************************************************/
  362. /* byte 2                                                                    */
  363. /*****************************************************************************/
  364. #define AP_SUPPRESS_BIS                 0x80
  365.  
  366. /*****************************************************************************/
  367. /* byte 3                                                                    */
  368. /*****************************************************************************/
  369. #define AP_EXTERNAL_APINGD              0x80
  370.  
  371. /*****************************************************************************/
  372. /* byte 4                                                                    */
  373. /*****************************************************************************/
  374. #define AP_ALLOW_BB_RQE                (0x80)
  375.  
  376. /*****************************************************************************/
  377. /* byte 5                                                                    */
  378. /*****************************************************************************/
  379. #define AP_LIMIT_TP_SECURITY           (0x80)
  380.  
  381. /*****************************************************************************/
  382. /* byte 8                                                                    */
  383. /*****************************************************************************/
  384. #define AP_INDICATE_GVRN_SUPPORT       (0x01)
  385.  
  386. /*****************************************************************************/
  387. /* Constants for functions supported in QUERY_NODE                           */
  388. /*****************************************************************************/
  389. #define AP_NEGOTIABLE_LS                0x01
  390. #define AP_SEGMENT_REASSEMBLY           0x02
  391. #define AP_BIND_REASSEMBLY              0x04
  392. #define AP_PARALLEL_TGS                 0x08
  393. #define AP_CALL_IN                      0x10
  394. #define AP_ADAPTIVE_PACING              0x20
  395. #define AP_TOPOLOGY_AWARENESS           0x40
  396.  
  397. /*****************************************************************************/
  398. /* Constants for nn functions supported in QUERY_NODE                        */
  399. /*****************************************************************************/
  400. #define AP_RCV_REG_CHAR                 0x01
  401. #define AP_ACCESS_NODE                  0x01
  402. #define AP_GATEWAY                      0x02
  403. #define AP_CDS                          0x04
  404. #define AP_TREE_CACHING                 0x08
  405. #define AP_TREE_UPDATES                 0x10
  406. #define AP_ISR                          0x20
  407. #define AP_PERIPHERAL_BORDER_NODE       0x40
  408. #define AP_EXTENDED_BORDER_NODE         0x80
  409.  
  410. /*****************************************************************************/
  411. /* Constants for nn functions2 supported in QUERY_NODE                       */
  412. /*****************************************************************************/
  413. #define AP_BRANCH_AWARENESS             0x01
  414.  
  415. /*****************************************************************************/
  416. /* Constants for function supported in QUERY_NN_TOPOLOGY_NODE.               */
  417. /* These are taken from the QUERY_NODE values with the following             */
  418. /* replacements.                                                             */
  419. /*****************************************************************************/
  420. #define AP_INTERCHANGE_NODE             0x01
  421. #define AP_HPR_SUPPORT_MASK             0x18
  422. #define AP_HPR                          0x08
  423. #define AP_RTP_TOWER                    0x10
  424. #define AP_CONTROL_OVER_RTP_TOWER       0x18
  425.  
  426. /*****************************************************************************/
  427. /* Constants for en functions supported in QUERY_NODE                        */
  428. /*****************************************************************************/
  429. #define AP_SEGMENT_GENERATION           0x01
  430. #define AP_MODE_TO_COS_MAP              0x02
  431. #define AP_LOCATE_CDINIT                0x04
  432. #define AP_REG_WITH_NN                  0x08
  433. #define AP_REG_CHARS_WITH_NN            0x10
  434.  
  435. /*****************************************************************************/
  436. /* Constants for START_LS/STOP_LS/QUERY_LS                                   */
  437. /*****************************************************************************/
  438. #define AP_ACTIVATE                     0x00
  439. #define AP_AUTO_ACT                     0x01
  440. #define AP_REMOTE_ACT                   0x02
  441.  
  442. /*****************************************************************************/
  443. /* Transmission priority                                                     */
  444. /*****************************************************************************/
  445. #define AP_LOW                          0x00
  446. #define AP_MEDIUM                       0x01
  447. #define AP_HIGH                         0x02
  448. #define AP_NETWORK                      0x03
  449.  
  450. /*****************************************************************************/
  451. /* DLC types                                                                 */
  452. /*****************************************************************************/
  453. #define AP_SDLC                         0x00
  454. #define AP_X25                          0x01
  455. #define AP_TR                           0x02
  456. #define AP_LLC2                         0x03
  457. #define AP_TWINAX                       0x05
  458. #define AP_FDDI                         0x06
  459. #define AP_ETHERNET                     0x07
  460. #define AP_FRAME_RELAY                  0x08
  461. #define AP_ANYNET                       0x20
  462. #define AP_OEM_DLC                      0x21
  463. #define AP_SELFTEST                     0x80
  464.  
  465. /*****************************************************************************/
  466. /* DSPU services                                                             */
  467. /*****************************************************************************/
  468. #ifdef PU_CONC_SUPPORTED
  469. #define AP_PU_CONCENTRATION             0x01
  470. #endif
  471.  
  472. #define AP_DLUR                         0x02
  473. #define AP_DIRECT_ATTACHED              0x03
  474. #define AP_DLUR_ATTACHED                0x04
  475.  
  476. /*****************************************************************************/
  477. /* Cryptography level                                                        */
  478. /*****************************************************************************/
  479. #define AP_MANDATORY                    0x01
  480. #define AP_OPTIONAL                     0x02
  481.  
  482. /*****************************************************************************/
  483. /* Port type                                                                 */
  484. /*****************************************************************************/
  485. #define AP_PORT_NONSWITCHED             0x01
  486. #define AP_PORT_SWITCHED                0x02
  487. #define AP_PORT_SATF                    0x04
  488.  
  489. #define AP_NO_IMPLICIT_LINKS            0xFFFF
  490.  
  491. /*****************************************************************************/
  492. /* LS role                                                                   */
  493. /*****************************************************************************/
  494. #define AP_DISCOVERY_CLIENT             0x01
  495. #define AP_DISCOVERY_SERVER             0x02
  496.  
  497. #define AP_LS_NEG                       0x0000
  498. #define AP_LS_PRI                       0x0001
  499. #define AP_LS_SEC                       0x0002
  500. #define AP_USE_PORT_DEFAULTS            0x00FF
  501. #define AP_LS_MSEC                      0x0004
  502.  
  503. #define AP_LOAD_OUTSTANDING             0x0001
  504. #define AP_LOAD_RESOLVED                0x0002
  505.  
  506. #define AP_ACTIVATION_STARTED           0x01
  507. #define AP_ACTIVATION_FAILED            0x02
  508.  
  509. #define AP_LUA_APPLICATION              0x02
  510. #define AP_SUPPRESS_CP_NAME             0x80
  511. #define AP_REACTIVATE_ON_FAILURE        0x40
  512. #define AP_USE_PU_NAME_IN_XID_CVS       0x20
  513. #define AP_USE_DSPU_NAME_IN_XID_CVS     0x10
  514. #define AP_ACCEPT_DEP_BIND_SIDH_NOT_1   0x08
  515.  
  516. /*****************************************************************************/
  517. /* LS transmit receive capability                                            */
  518. /*****************************************************************************/
  519. #define AP_LS_TWA                       0x00
  520. #define AP_LS_TWS                       0x01
  521.  
  522. /*****************************************************************************/
  523. /* Port Attributes                                                           */
  524. /*****************************************************************************/
  525.  
  526. /*****************************************************************************/
  527. /* byte 0 (ALLOW_INV_ABM_SUPPORT with NAP prefix should not be changed)      */
  528. /*****************************************************************************/
  529. #define AP_RESOLVE_BY_LINK_ADDRESS      0x80
  530. #define NAP_ALLOW_INV_ABM_SUPPORT       0x40
  531.  
  532. /*****************************************************************************/
  533. /* LS Attributes - byte 0                                                    */
  534. /*****************************************************************************/
  535. #define AP_SNA                          0x00
  536. #define AP_FNA                          0x80
  537. #define AP_HNA                          0x40
  538.  
  539. /*****************************************************************************/
  540. /* Stop type                                                                 */
  541. /*****************************************************************************/
  542. #define AP_ORDERLY_STOP                 0x01
  543. #define AP_IMMEDIATE_STOP               0x02
  544.  
  545. /*****************************************************************************/
  546. /* Deactivate type                                                           */
  547. /*****************************************************************************/
  548. #define AP_DEACT_CLEANUP                0x02
  549. #define AP_DEACT_NORMAL                 0x01
  550. #define AP_ASYNCHRONOUS_DEACTIVATION    0x00
  551. #define AP_SYNCHRONOUS_DEACTIVATION     0x80
  552.  
  553. /*****************************************************************************/
  554. /* LU location                                                               */
  555. /*****************************************************************************/
  556. #define AP_LOCAL                        0x00
  557. #define AP_REMOTE                       0x01
  558.  
  559. /*****************************************************************************/
  560. /* LU entry type                                                             */
  561. /*****************************************************************************/
  562. #define AP_INVALID_ENTRY_TYPE          (0x10)
  563. #define AP_HOME                         0x03
  564. #define AP_REGISTER                     0x02
  565. #define AP_CACHE                        0x00
  566.  
  567. /*****************************************************************************/
  568. /* Location of LU                                                            */
  569. /*****************************************************************************/
  570. #define AP_DOWNSTREAM                   0x01
  571. #define AP_INTERNAL                     0x02
  572.  
  573. #define AP_DOMAIN                       0x01
  574. #define AP_CROSS_DOMAIN                 0x02
  575.  
  576. /*****************************************************************************/
  577. /* Wildcard                                                                  */
  578. /*****************************************************************************/
  579. #define AP_OTHER                        0x01
  580. #define AP_EXPLICIT                     0x02
  581. #define AP_PARTIAL_WILDCARD             0x03
  582. #define AP_FULL_WILDCARD                0x04
  583.  
  584. /*****************************************************************************/
  585. /* Auto network shutdown support                                             */
  586. /*****************************************************************************/
  587. #define AP_CONT                         0x01
  588. #define AP_STOP                         0x02
  589.  
  590. /*****************************************************************************/
  591. /* Status                                                                    */
  592. /*****************************************************************************/
  593. #define AP_INACTIVE                     0x00
  594. #define AP_LOADED                       0x01
  595. #define AP_LOADING                      0x02
  596. #define AP_RUNNING                      0x03
  597.  
  598. /*****************************************************************************/
  599. /* PU status                                                                 */
  600. /*****************************************************************************/
  601. #define AP_RESET                        0x00
  602. #define AP_ACTIVE                       0x01
  603. #define AP_PEND_ACTPU                   0x02
  604. #define AP_PEND_ACTPU_RSP               0x03
  605. #define AP_PEND_DACTPU_RSP              0x04
  606. #define AP_PEND_INOP                    0x05
  607. #define AP_RESET_RETRY                  0x06
  608. #define AP_RESET_NO_RETRY               0x07
  609.  
  610. /*****************************************************************************/
  611. /* DLUS session status                                                       */
  612. /*****************************************************************************/
  613. #define AP_NOT_ACTIVE                   0x00
  614. #define AP_PENDING                      0x02
  615. #define AP_NEVER_ACTIVE                 0x04
  616. #define AP_PENDING_ACTIVE               0x02
  617. #define AP_PENDING_INACTIVE             0x08
  618.  
  619. /*****************************************************************************/
  620. /* Constants for session_type                                                */
  621. /*****************************************************************************/
  622. #define AP_ISR_SESSIONS                 0x00
  623. #define AP_DLUR_SESSIONS                0x01
  624.  
  625. /*****************************************************************************/
  626. /* ISR session status                                                        */
  627. /*****************************************************************************/
  628. #define AP_ISR_STATS_NO_CHANGE          0x00
  629. #define AP_ISR_STATS_ACTIVE             0x01
  630. #define AP_ISR_STATS_INACTIVE           0x02
  631.  
  632. #define AP_ISR_INACTIVE                 0x00
  633. #define AP_ISR_ACTIVE                   0x01
  634. #define AP_ISR_PENDING_ACTIVE           0x02
  635. #define AP_ISR_PENDING_INACTIVE         0x03
  636.  
  637. /*****************************************************************************/
  638. /* LU type values (type 5 is deliberately omitted).                          */
  639. /*****************************************************************************/
  640. #define AP_LU_TYPE_0                    0x00
  641. #define AP_LU_TYPE_1                    0x01
  642. #define AP_LU_TYPE_2                    0x02
  643. #define AP_LU_TYPE_3                    0x03
  644. #define AP_LU_TYPE_4                    0x04
  645. #define AP_LU_TYPE_6                    0x06
  646. #define AP_LU_TYPE_7                    0x07
  647. #define AP_LU_TYPE_UNKNOWN              0xFF
  648.  
  649. #define AP_LU_LEVEL_0                   0x00
  650. #define AP_LU_LEVEL_1                   0x01
  651. #define AP_LU_LEVEL_2                   0x02
  652. #define AP_LU_LEVEL_UNKNOWN             0xFF
  653.  
  654. /*****************************************************************************/
  655. /* Focal point type                                                          */
  656. /*****************************************************************************/
  657. #define AP_EXPLICIT_PRIMARY_FP          0x01
  658. #define AP_IMPLICIT_PRIMARY_FP          0x02
  659. #define AP_BACKUP_FP                    0x20
  660. #define AP_DEFAULT_PRIMARY_FP           0x30
  661. #define AP_DOMAIN_FP                    0x50
  662. #define AP_HOST_FP                      0xF0
  663. #define AP_NO_FP                        0xFF
  664.  
  665. /*****************************************************************************/
  666. /* Focal point type                                                          */
  667. /*****************************************************************************/
  668. #define AP_BACKUP                       0x02
  669. #define AP_IMPLICIT                     0x03
  670.  
  671. /*****************************************************************************/
  672. /* Focal point routing                                                       */
  673. /*****************************************************************************/
  674. #define AP_DEFAULT                      0x00
  675. #define AP_DIRECT                       0x01
  676.  
  677. /*****************************************************************************/
  678. /* Statistics type                                                           */
  679. /*****************************************************************************/
  680. #define AP_LS                           0x01
  681. #define AP_PORT                         0x02
  682.  
  683. /*****************************************************************************/
  684. /* Statistics table type                                                     */
  685. /*****************************************************************************/
  686. #define AP_STATS_TBL                    0x00
  687. #define AP_ADMIN_TBL                    0x01
  688. #define AP_OPER_TBL                     0x02
  689.  
  690. /*****************************************************************************/
  691. /* User password type                                                        */
  692. /*****************************************************************************/
  693. #define AP_ADD_USER                     0x01
  694. #define AP_ADD_PROFILES                 0x02
  695. #define AP_REMOVE_USER                  0x01
  696. #define AP_REMOVE_PROFILES              0x02
  697.  
  698. /*****************************************************************************/
  699. /* NN status                                                                 */
  700. /*****************************************************************************/
  701. #define AP_CONGESTED                    0x80
  702. #define AP_UNCONGESTED                  0x00
  703. #define AP_IRR_DEPLETED                 0x40
  704. #define AP_ERR_DEPLETED                 0x20
  705. #define AP_GARBAGE_COLLECT              0x10
  706. #define AP_GARBAGE_COLLECT_NODE         0x10
  707. #define AP_QUIESCING                    0x04
  708.  
  709. /*****************************************************************************/
  710. /* Session contention                                                        */
  711. /*****************************************************************************/
  712. #define AP_CONWINNER_ACTIVE             0x02
  713. #define AP_CONLOSER_ACTIVE              0x03
  714.  
  715. /*****************************************************************************/
  716. /* Polarity                                                                  */
  717. /*****************************************************************************/
  718. #define AP_CONWINNER                    0x00
  719. #define AP_CONLOSER                     0x01
  720.  
  721. /*****************************************************************************/
  722. /* Resource types                                                            */
  723. /*****************************************************************************/
  724. #define AP_LU_RESOURCE                  0x00F3
  725. #define AP_ENCP_RESOURCE                0x00F4
  726. #define AP_NNCP_RESOURCE                0x00F6
  727. #define AP_ASSOCIATED_RESOURCE          0x00F7
  728. #define AP_DLUR_LU_RESOURCE             0x00F8
  729. #define AP_WILDCARD_LU_RESOURCE         0x1000
  730.  
  731. /*****************************************************************************/
  732. /* Constants for SIGN_ON/OFF                                                 */
  733. /*****************************************************************************/
  734. #define AP_SIGNED_ON_TO_LIST            1
  735. #define AP_SIGNED_ON_FROM_LIST          2
  736. #define AP_SIGNED_ON_ALL_LISTS          3
  737.  
  738. /*****************************************************************************/
  739. /* Other                                                                     */
  740. /*****************************************************************************/
  741.  
  742. #define AP_TG_OPERATIVE                 0x80
  743. #define AP_TG_GARBAGE_COLLECT           0x40
  744. #define AP_TG_QUIESCING                 0x20
  745. #define AP_TG_CP_CP_SESSIONS            0x10
  746. #define AP_TG_HPR                       0x01
  747. #define AP_TG_RTP                       0x02
  748.  
  749. /*****************************************************************************/
  750. /* Sub-states returned on QUERY_LS.  Note that the full list includes:       */
  751. /*      AP_RESET                       (0x00)                                */
  752. /*      AP_ACTIVE                      (0x01)                                */
  753. /*      AP_PENDING_RETRY               (0x09)        (defined in winparms.h) */
  754. /*****************************************************************************/
  755. #define AP_SENT_CONNECT_OUT             0x02
  756. #define AP_PENDING_XID_EXCHANGE         0x03
  757. #define AP_SENT_ACTIVATE_AS             0x04
  758. #define AP_SENT_SET_MODE                0x05
  759. #define AP_SENT_DEACTIVATE_AS_ORDERLY   0x06
  760. #define AP_SENT_DISCONNECT              0x07
  761. #define AP_WAITING_STATS                0x08
  762.  
  763. #define AP_DEACT_OPER_ORDERLY           0x01
  764. #define AP_DEACT_OPER_IMMEDIATE         0x02
  765. #define AP_DEACT_AUTOMATIC              0x03
  766. #define AP_DEACT_FAILURE                0x04
  767.  
  768. #define AP_NO_SESSIONS                  0x01
  769. #define AP_INACTIVITY                   0x02
  770.  
  771. #define AP_CONNECTING                   0x00
  772. #define AP_CONNECTED                    0x01
  773. #define AP_ERROR_LEVEL_1                0x02
  774. #define AP_ERROR_LEVEL_2                0x03
  775. #define AP_DISCONNECTING                0x04
  776. #define AP_DISCONNECTED                 0x05
  777. #define AP_ADAPTER_ERROR                0x06
  778. #define AP_ADAPTER_ACCESS_ERROR         0x07
  779. #define AP_INCONB_MING_WAIT             0x08
  780.  
  781. #define AP_COMPLIANCE_1980              1980
  782. #define AP_COMPLIANCE_1984              1984
  783. #define AP_COMPLIANCE_1988              1988
  784. #define AP_SEQUENCING_128                128
  785. #define AP_SEQUENCING_8                    8
  786.  
  787. /*****************************************************************************/
  788. /* Values used in emulator configuration verbs                               */
  789. /* DEFINE_EMULATOR_USER                                                      */
  790. /* DELETE_EMULATOR_USER                                                      */
  791. /* QUERY_EMULATOR_USER                                                       */
  792. /*****************************************************************************/
  793.  
  794. /*****************************************************************************/
  795. /* Values for emulator_type fields                                           */
  796. /*****************************************************************************/
  797. #define AP_DELETE_USER                 (0x00)
  798. #define AP_3270_SESSION                (0x01)
  799.  
  800. /*****************************************************************************/
  801. /* Constants for 3270 diagnostics record                                     */
  802. /*****************************************************************************/
  803. #define AP_RTM_SCREEN       0
  804. #define AP_RTM_UNLOCK       1
  805. #define AP_RTM_DIRECTION    2
  806.  
  807. /*****************************************************************************/
  808. /* Constants for 3270 user alert records                                     */
  809. /*****************************************************************************/
  810. #define AP_MAX_3270_ALERT_DESC   52
  811. #define AP_MAX_3270_ALERT_PARM   32
  812.  
  813. /*****************************************************************************/
  814. /* Resource types for LU62 timeouts                                          */
  815. /*****************************************************************************/
  816. #define AP_GLOBAL_TIMEOUT        1
  817. #define AP_LOCAL_LU_TIMEOUT      2
  818. #define AP_PARTNER_LU_TIMEOUT    3
  819. #define AP_MODE_TIMEOUT          4
  820.  
  821. /**STRUCT+********************************************************************/
  822. /* Structure: NOF_HDR                                                        */
  823. /*                                                                           */
  824. /* Description: Common NOF verb header                                       */
  825. /*****************************************************************************/
  826.  
  827. typedef struct nof_hdr
  828. {
  829.   unsigned short  opcode;
  830.   unsigned char   reserv2;             /* reserved                           */
  831.   unsigned char   format;
  832.   unsigned short  primary_rc;
  833.   unsigned long   secondary_rc;
  834. } NOF_HDR;
  835.  
  836. /**STRUCT-********************************************************************/
  837.  
  838.  
  839. /**STRUCT+********************************************************************/
  840. /* Structure: TP_SPEC_DATA                                                   */
  841. /*                                                                           */
  842. /* Description: Data passed to Attach Manager with Dynamic Load Indication   */
  843. /*****************************************************************************/
  844.  
  845. #define AP_AM_CONSOLE      0
  846. #define AP_AM_DETACHED     1
  847. #define AP_AM_WINDOW       2
  848.  
  849. typedef struct tp_spec_data
  850. {
  851.   unsigned char pathname[256];           /* path and TP name                 */
  852.   unsigned char parameters[64];          /* parameters for TP                */
  853.   unsigned char queued;                  /* queued TP (AP_YES)               */
  854.   unsigned char load_type;               /* type of load - DETACHED/CONSOLE  */
  855.   unsigned char dynamic_load;            /* dynamic loading of TP enabled    */
  856.   unsigned char reserved[5];             /* max size is 120 bytes            */
  857. } TP_SPEC_DATA;
  858.  
  859. /**STRUCT-********************************************************************/
  860.  
  861.  
  862. /*****************************************************************************/
  863. /* Vcb structures                                                            */
  864. /*****************************************************************************/
  865. #ifndef APPN_DONT_INC_VCBS
  866.  
  867. /*****************************************************************************/
  868. /* Size of resource descriptions stored for defined resources                */
  869. /*****************************************************************************/
  870. #define RD_LEN 16
  871.  
  872. /**STRUCT+********************************************************************/
  873. /* Structure:   TG_DEFINED_CHARS                                             */
  874. /*                                                                           */
  875. /* Description: Defined fields of TG Characteristics Control Vector X'47'    */
  876. /*              (see SNA Formats)                                            */
  877. /*****************************************************************************/
  878.  
  879. typedef struct tg_defined_chars
  880. {
  881.   unsigned char   effect_cap;
  882.   unsigned char   reserve1[5];         /* reserved                           */
  883.   unsigned char   connect_cost;
  884.   unsigned char   byte_cost;
  885.   unsigned char   reserve2;            /* reserved                           */
  886.   unsigned char   security;
  887.   unsigned char   prop_delay;
  888.   unsigned char   modem_class;
  889.   unsigned char   user_def_parm_1;
  890.   unsigned char   user_def_parm_2;
  891.   unsigned char   user_def_parm_3;
  892. } TG_DEFINED_CHARS;
  893.  
  894. /**STRUCT-********************************************************************/
  895.  
  896.  
  897. /**STRUCT+********************************************************************/
  898. /* Structure: COS_NODE_STATUS                                                */
  899. /*                                                                           */
  900. /* Description: Node status description for COS node rows                    */
  901. /*****************************************************************************/
  902.  
  903. typedef struct cos_node_status
  904. {
  905.   unsigned char   rar;
  906.   unsigned char   status;
  907.   unsigned char   reserv1[2];                    /* reserved                 */
  908.  
  909. } COS_NODE_STATUS;
  910.  
  911. /**STRUCT-********************************************************************/
  912.  
  913.  
  914. /*****************************************************************************/
  915. /* Link Address                                                              */
  916. /*****************************************************************************/
  917.  
  918. #define MAC_ADDRESS_SIZE 6
  919. typedef unsigned char MAC_ADDRESS[MAC_ADDRESS_SIZE];
  920. typedef unsigned char LSAP_ADDRESS;
  921.  
  922. /*****************************************************************************/
  923. /* Maximum number of bytes in ANR labels and NCE labels                      */
  924. /*****************************************************************************/
  925. #define MAX_ANR_LABEL_SIZE              (0x08)
  926.  
  927. /**STRUCT+********************************************************************/
  928. /* Structure:   TR_ADDRESS                                                   */
  929. /*                                                                           */
  930. /* Description: Token Ring Address                                           */
  931. /*****************************************************************************/
  932.  
  933. typedef struct tr_address
  934. {
  935.   /***************************************************************************/
  936.   /* MAC Address                                                             */
  937.   /***************************************************************************/
  938.   MAC_ADDRESS     mac_address;
  939.  
  940.   /***************************************************************************/
  941.   /* LSAP Address                                                            */
  942.   /***************************************************************************/
  943.   LSAP_ADDRESS    lsap_address;
  944.  
  945. } TR_ADDRESS;
  946.  
  947. /**STRUCT-********************************************************************/
  948.  
  949.  
  950. typedef unsigned char  SDLC_ADDRESS;
  951.  
  952. typedef unsigned char  X25_ADDRESS[15];
  953.  
  954. #define MAX_LINK_ADDR_LEN 32
  955.  
  956. #define AP_UNSPECIFIED      0x00
  957. #define AP_IP_ADDRESS_INFO  0x01
  958.  
  959. /**STRUCT+********************************************************************/
  960. /* Structure:   LINK_ADDRESS                                                 */
  961. /*                                                                           */
  962. /* Description: Link Address Structure                                       */
  963. /*****************************************************************************/
  964.  
  965. typedef struct link_address
  966. {
  967.   /***************************************************************************/
  968.   /* Length varies according to DLC type                                     */
  969.   /***************************************************************************/
  970.   unsigned short  length;
  971.   unsigned char   format;
  972.   unsigned char   reserve1;              /* reserved                         */
  973.   unsigned char   address[MAX_LINK_ADDR_LEN];
  974.  
  975. } LINK_ADDRESS;
  976.  
  977. /**STRUCT-********************************************************************/
  978.  
  979. /**STRUCT+********************************************************************/
  980. /* Structure:   IP_ADDRESS_INFO                                              */
  981. /*                                                                           */
  982. /* Description: Format of IP address                                         */
  983. /*****************************************************************************/
  984.  
  985. typedef struct ip_address_info
  986. {
  987.   unsigned char lsap;
  988. #define IP_VERSION_4 (0x40)
  989.   unsigned char version;
  990.   unsigned char address[4];
  991.  
  992. } IP_ADDRESS_INFO;
  993.  
  994. /**STRUCT-********************************************************************/
  995.  
  996. /**STRUCT+********************************************************************/
  997. /* Structure:   ANR_LABEL                                                    */
  998. /*                                                                           */
  999. /* Description: A single ANR label, up to 8 bytes long                       */
  1000. /* This structure is only used to store ANR labels assigned by nodes other   */
  1001. /* than this one, since all SNAP APPN ANR labels are 1 or two bytes          */
  1002. /*****************************************************************************/
  1003.  
  1004. typedef struct anr_label
  1005. {
  1006.   unsigned short  length;
  1007.   unsigned short  reserv;                  /* reserved                      */
  1008.   unsigned char   label[MAX_ANR_LABEL_SIZE];
  1009. } ANR_LABEL;
  1010.  
  1011.  
  1012. /**STRUCT+********************************************************************/
  1013. /* Structure:   CP_CREATE_PARMS                                              */
  1014. /*                                                                           */
  1015. /* Description: CP_CREATE_PARMS structure passed in at start of day          */
  1016. /*****************************************************************************/
  1017.  
  1018. typedef struct cp_create_parms
  1019. {
  1020.   /***************************************************************************/
  1021.   /* Length                                                                  */
  1022.   /***************************************************************************/
  1023.   unsigned short  crt_parms_len;
  1024.   unsigned char   description[RD_LEN];
  1025.  
  1026.   /***************************************************************************/
  1027.   /* Node type - AP_END_NODE, AP_NETWORK_NODE, AP_LEN_NODE                   */
  1028.   /***************************************************************************/
  1029.   unsigned char   node_type;
  1030.  
  1031.   /***************************************************************************/
  1032.   /* Fully qualified CP name                                                 */
  1033.   /***************************************************************************/
  1034.   unsigned char   fqcp_name[17];
  1035.   unsigned char   cp_alias[8];
  1036.  
  1037.   /***************************************************************************/
  1038.   /* Is mode to C.O.S. mapping supported ?                                   */
  1039.   /***************************************************************************/
  1040.   unsigned char   mode_to_cos_map_supp;
  1041.  
  1042.   /***************************************************************************/
  1043.   /* Does Management Services support Multiple Domain Support and MS         */
  1044.   /* Capabilities?                                                           */
  1045.   /***************************************************************************/
  1046.   unsigned char   mds_supported;
  1047.  
  1048.   /***************************************************************************/
  1049.   /* Node ID                                                                 */
  1050.   /***************************************************************************/
  1051.   unsigned char   node_id[4];
  1052.  
  1053.   /***************************************************************************/
  1054.   /* Maximum locates node can process                                        */
  1055.   /***************************************************************************/
  1056.   unsigned short  max_locates;
  1057.  
  1058.   /***************************************************************************/
  1059.   /* Directory Cache size (reserved if not NN)                               */
  1060.   /***************************************************************************/
  1061.   unsigned short  dir_cache_size;
  1062.  
  1063.   /***************************************************************************/
  1064.   /* Maximum directory entries (0 means unlimited)                           */
  1065.   /***************************************************************************/
  1066.   unsigned short  max_dir_entries;
  1067.  
  1068.   /***************************************************************************/
  1069.   /* Locate timeout in seconds (0 means no time limit).  If a locate request */
  1070.   /* has not been responded to by an adjacent node within the time specified */
  1071.   /* CP-CP sessions to the adjacent node will be deactivated.                */
  1072.   /***************************************************************************/
  1073.   unsigned short  locate_timeout;
  1074.  
  1075.   /***************************************************************************/
  1076.   /* (EN only) register resources with Network Node server                   */
  1077.   /***************************************************************************/
  1078.   unsigned char   reg_with_nn;
  1079.  
  1080.   /***************************************************************************/
  1081.   /* In EN case (ignored if reg_with_nn set to AP_NO) set to AP_YES will     */
  1082.   /* allow NN server to register EN resources with a Central Directory       */
  1083.   /* Server.  In NN case then local or domain resources can be optionally    */
  1084.   /* registered with CDS.                                                    */
  1085.   /***************************************************************************/
  1086.   unsigned char   reg_with_cds;
  1087.  
  1088.   /***************************************************************************/
  1089.   /* Size of MDS send alert queue                                            */
  1090.   /***************************************************************************/
  1091.   unsigned short  mds_send_alert_q_size;
  1092.  
  1093.   /***************************************************************************/
  1094.   /* Maximum number of entries in the COS database                           */
  1095.   /***************************************************************************/
  1096.   unsigned short  cos_cache_size;
  1097.  
  1098.   /***************************************************************************/
  1099.   /* Topology Database routing tree cache size                               */
  1100.   /***************************************************************************/
  1101.   unsigned short  tree_cache_size;
  1102.  
  1103.   /***************************************************************************/
  1104.   /* Topology Database routing tree cache use limit                          */
  1105.   /***************************************************************************/
  1106.   unsigned short  tree_cache_use_limit;
  1107.  
  1108.   /***************************************************************************/
  1109.   /* Maximum number of nodes and TGs that can be stored in Topology Database */
  1110.   /* (0 means unlimited)                                                     */
  1111.   /***************************************************************************/
  1112.   unsigned short  max_tdm_nodes;
  1113.   unsigned short  max_tdm_tgs;
  1114.  
  1115.   /***************************************************************************/
  1116.   /* Maximum ISR sessions.                                                   */
  1117.   /***************************************************************************/
  1118.   unsigned long   max_isr_sessions;
  1119.  
  1120.   /***************************************************************************/
  1121.   /* Upper and Lower thresholds for ISR sessions                             */
  1122.   /***************************************************************************/
  1123.   unsigned long   isr_sessions_upper_threshold;
  1124.   unsigned long   isr_sessions_lower_threshold;
  1125.  
  1126.   /***************************************************************************/
  1127.   /* Max RU size and receive pacing window for ISR                           */
  1128.   /***************************************************************************/
  1129.   unsigned short  isr_max_ru_size;
  1130.   unsigned short  isr_rcv_pac_window;
  1131.  
  1132.   /***************************************************************************/
  1133.   /* Should RSCV's be stored for diagnostic purposes.  (Note setting these   */
  1134.   /* values to AP_YES means an RSCV will be stored for each ISR and/or end   */
  1135.   /* point session.  This extra storage can be upto 256 bytes per session.)  */
  1136.   /***************************************************************************/
  1137.   unsigned char   store_endpt_rscvs;
  1138.   unsigned char   store_isr_rscvs;
  1139.   unsigned char   store_dlur_rscvs;
  1140.  
  1141.   /***************************************************************************/
  1142.   /* Is the DLUR component supported?                                        */
  1143.   /***************************************************************************/
  1144.   unsigned char   dlur_support;
  1145.  
  1146.   /***************************************************************************/
  1147.   /* Is the PU Concentration function supported?                             */
  1148.   /***************************************************************************/
  1149.   unsigned char   pu_conc_support;
  1150.  
  1151.   /***************************************************************************/
  1152.   /* Route Addition Resistance of this node                                  */
  1153.   /***************************************************************************/
  1154.   unsigned char   nn_rar;
  1155.  
  1156.   /***************************************************************************/
  1157.   /* Level of HPR support: AP_NONE, AP_BASE, AP_RTP or AP_CONTROL_FLOWS      */
  1158.   /***************************************************************************/
  1159.   unsigned char   hpr_support;
  1160.  
  1161.   /***************************************************************************/
  1162.   /* Is this node mobile (for HPR / RTP purposes)                            */
  1163.   /***************************************************************************/
  1164.   unsigned char   mobile;
  1165.  
  1166.   /***************************************************************************/
  1167.   /* Does this node support Discovery (client or server)                     */
  1168.   /***************************************************************************/
  1169.   unsigned char   discovery_support;
  1170.  
  1171.   /***************************************************************************/
  1172.   /* Group name to use on Discovery searches                                 */
  1173.   /***************************************************************************/
  1174.   unsigned char   discovery_group_name[8];
  1175.  
  1176.   /***************************************************************************/
  1177.   /* Support implicit LU 0 to 3 definition (by ACTLU)                        */
  1178.   /***************************************************************************/
  1179.   unsigned char   implicit_lu_0_to_3;
  1180.  
  1181.   /***************************************************************************/
  1182.   /* Default preference for routing protocol selection                       */
  1183.   /***************************************************************************/
  1184.   unsigned char   default_preference;
  1185.  
  1186.   /***************************************************************************/
  1187.   /* Support for non-native (ANYNET) routing                                 */
  1188.   /***************************************************************************/
  1189.   unsigned char   anynet_supported;
  1190.  
  1191.   /***************************************************************************/
  1192.   /* Maximum number of LS Exception entries stored.                          */
  1193.   /***************************************************************************/
  1194. #define MAX_LS_EXCEPTION_EVENTS  200
  1195.   unsigned short   max_ls_exception_events;
  1196.  
  1197.   /***************************************************************************/
  1198.   /* is compression in series allowed                                        */
  1199.   /***************************************************************************/
  1200.   unsigned char    comp_in_series;
  1201.  
  1202.   /***************************************************************************/
  1203.   /* Specifies the maximum compression level supported by the node           */
  1204.   /***************************************************************************/
  1205.   unsigned char   max_compress_lvl;
  1206.  
  1207.   /***************************************************************************/
  1208.   /* length of node specific data                                            */
  1209.   /***************************************************************************/
  1210.   unsigned char   node_spec_data_len;
  1211.  
  1212.   /***************************************************************************/
  1213.   /* Program temporary fix array                                             */
  1214.   /***************************************************************************/
  1215.   unsigned char   ptf[64];
  1216.  
  1217.   /***************************************************************************/
  1218.   /* COS Table version                                                       */
  1219.   /***************************************************************************/
  1220.   unsigned char   cos_table_version;
  1221.  
  1222.   /***************************************************************************/
  1223.   /* Should we send a TERM_SELF (rather than an UNBIND) to bring down a      */
  1224.   /* PLU-SLU host session                                                    */
  1225.   /***************************************************************************/
  1226.   unsigned char   send_term_self;
  1227.  
  1228.   /***************************************************************************/
  1229.   /* Reserved space                                                          */
  1230.   /***************************************************************************/
  1231.   unsigned char   reserved[98];                  /* reserved                 */
  1232.  
  1233. } CP_CREATE_PARMS;
  1234.  
  1235. /**STRUCT-********************************************************************/
  1236.  
  1237.  
  1238. /**STRUCT+********************************************************************/
  1239. /* Structure: DEFINE_ADJACENT_LEN_NODE                                       */
  1240. /*                                                                           */
  1241. /* Description: DEFINE_ADJACENT_LEN_NODE verb control block                  */
  1242. /*****************************************************************************/
  1243.  
  1244. typedef struct define_adjacent_len_node
  1245. {
  1246.   unsigned short  opcode;
  1247.   unsigned char   reserv2;                       /* reserved                 */
  1248.   unsigned char   format;                        /* current format is 0      */
  1249.   unsigned short  primary_rc;
  1250.   unsigned long   secondary_rc;
  1251.   unsigned char   cp_name[17];
  1252.   unsigned char   description[RD_LEN];
  1253.   unsigned char   num_of_lus;
  1254.   unsigned char   wildcard_lus;
  1255.   unsigned char   reserv3[8];                    /* reserved                 */
  1256.   unsigned char   lu_names[10][8];
  1257. } DEFINE_ADJACENT_LEN_NODE;
  1258.  
  1259. /**STRUCT-********************************************************************/
  1260.  
  1261.  
  1262. /**STRUCT+********************************************************************/
  1263. /* Structure: DEFINE_ADJACENT_NODE                                           */
  1264. /*                                                                           */
  1265. /* Description: DEFINE_ADJACENT_NODE verb control block                      */
  1266. /*****************************************************************************/
  1267.  
  1268. typedef struct define_adjacent_node
  1269. {
  1270.   unsigned short  opcode;
  1271.   unsigned char   reserv2;                       /* reserved                 */
  1272.   unsigned char   format;                        /* current format is 0      */
  1273.   unsigned short  primary_rc;
  1274.   unsigned long   secondary_rc;
  1275.   unsigned char   cp_name[17];
  1276.   unsigned char   description[RD_LEN];
  1277.   unsigned char   reserv3[19];                   /* reserved                 */
  1278.   unsigned short  num_of_lus;
  1279.   unsigned char   reserv4[2];                    /* reserved                 */
  1280. } DEFINE_ADJACENT_NODE;
  1281.  
  1282. /**STRUCT-********************************************************************/
  1283.  
  1284.  
  1285. /**STRUCT+********************************************************************/
  1286. /* Structure:   ADJACENT_NODE_LU                                             */
  1287. /*                                                                           */
  1288. /* Description: ADJACENT_NODE_LU structure, used as an overlay on the        */
  1289. /*              DEFINE and DELETE_ADJACENT_NODE verbs                        */
  1290. /*****************************************************************************/
  1291.  
  1292. typedef struct adjacent_node_lu
  1293. {
  1294.   unsigned char   wildcard_lu;
  1295.   unsigned char   fqlu_name[17];
  1296.   unsigned char   reserv1[6];                    /* reserved                 */
  1297. } ADJACENT_NODE_LU;
  1298.  
  1299. /**STRUCT-********************************************************************/
  1300.  
  1301.  
  1302. /**STRUCT+********************************************************************/
  1303. /* Structure:   CN_DEF_DATA                                                  */
  1304. /*                                                                           */
  1305. /* Description: Defined Data for a Connection Network                        */
  1306. /*****************************************************************************/
  1307.  
  1308. typedef struct cn_def_data
  1309. {
  1310.   unsigned char   description[RD_LEN];
  1311.  
  1312.   /***************************************************************************/
  1313.   /* Number of ports on the CN                                               */
  1314.   /***************************************************************************/
  1315.   unsigned char   num_ports;
  1316.   unsigned char   reserv1[16];                   /* reserved                 */
  1317.  
  1318.   /***************************************************************************/
  1319.   /* TG Characteristics for all TGs on the Connection Network                */
  1320.   /***************************************************************************/
  1321.   TG_DEFINED_CHARS tg_chars;
  1322.  
  1323. } CN_DEF_DATA;
  1324.  
  1325. /**STRUCT-********************************************************************/
  1326.  
  1327.  
  1328. /**STRUCT+********************************************************************/
  1329. /* Structure:   CN_PORT_NAME                                                 */
  1330. /*                                                                           */
  1331. /* Description: The port name on which is defined a particular CN.           */
  1332. /*****************************************************************************/
  1333.  
  1334. typedef struct cn_port_name
  1335. {
  1336.   /***************************************************************************/
  1337.   /* Name of port                                                            */
  1338.   /***************************************************************************/
  1339.   unsigned char   port_name[8];
  1340.  
  1341. } CN_PORT_NAME;
  1342.  
  1343. /**STRUCT-********************************************************************/
  1344.  
  1345.  
  1346. /**STRUCT+********************************************************************/
  1347. /* Structure:   DEFINE_CN                                                    */
  1348. /*                                                                           */
  1349. /* Description: Message to add a new CN_CB or update existing one            */
  1350. /*****************************************************************************/
  1351.  
  1352. typedef struct define_cn
  1353. {
  1354.   /***************************************************************************/
  1355.   /* Standard VCB header.                                                    */
  1356.   /***************************************************************************/
  1357.   unsigned short  opcode;
  1358.   unsigned char   attributes;
  1359.   unsigned char   format;                        /* current format is 0      */
  1360.   unsigned short  primary_rc;
  1361.   unsigned long   secondary_rc;
  1362.  
  1363.   /***************************************************************************/
  1364.   /* Name of the Connection Network                                          */
  1365.   /***************************************************************************/
  1366.   unsigned char   fqcn_name[17];
  1367.  
  1368.   /***************************************************************************/
  1369.   /* CN Defined Data                                                         */
  1370.   /***************************************************************************/
  1371.   CN_DEF_DATA     def_data;
  1372.  
  1373.   /***************************************************************************/
  1374.   /* Port names                                                              */
  1375.   /***************************************************************************/
  1376. #define MAX_PORTS_PER_DEFINE 8
  1377. #define MAX_PORTS_PER_CN 239
  1378.   unsigned char   port_name[MAX_PORTS_PER_DEFINE][8];
  1379.  
  1380. } DEFINE_CN;
  1381.  
  1382. /**STRUCT-********************************************************************/
  1383.  
  1384.  
  1385. /**STRUCT+********************************************************************/
  1386. /* Structure: DEFINE_COS                                                     */
  1387. /*                                                                           */
  1388. /* Description: DEFINE_COS verb control block                                */
  1389. /*****************************************************************************/
  1390.  
  1391. typedef struct define_cos
  1392. {
  1393.   /***************************************************************************/
  1394.   /* Standard header for vcb                                                 */
  1395.   /***************************************************************************/
  1396.   unsigned short  opcode;
  1397.   unsigned char   reserv2;                       /* reserved                 */
  1398.   unsigned char   format;                        /* current format is 0      */
  1399.   unsigned short  primary_rc;
  1400.   unsigned long   secondary_rc;
  1401.   unsigned char   cos_name[8];
  1402.   unsigned char   description[RD_LEN];
  1403.   unsigned char   transmission_priority;
  1404.   unsigned char   reserv3[9];                    /* reserved                 */
  1405.   unsigned char   num_of_node_rows;
  1406.   unsigned char   num_of_tg_rows;
  1407.  
  1408. } DEFINE_COS;
  1409.  
  1410. /**STRUCT-********************************************************************/
  1411.  
  1412.  
  1413. /**STRUCT+********************************************************************/
  1414. /* Structure: COS_NODE_ROW                                                   */
  1415. /*                                                                           */
  1416. /* Description: COS definition node row                                      */
  1417. /*****************************************************************************/
  1418.  
  1419. typedef struct cos_node_row
  1420. {
  1421.   COS_NODE_STATUS minimum;
  1422.   COS_NODE_STATUS maximum;
  1423.   unsigned char   weight;
  1424.   unsigned char   reserv1;                       /* reserved                 */
  1425.  
  1426. } COS_NODE_ROW;
  1427.  
  1428. /**STRUCT-********************************************************************/
  1429.  
  1430.  
  1431. /**STRUCT+********************************************************************/
  1432. /* Structure: COS_TG_ROW                                                     */
  1433. /*                                                                           */
  1434. /* Description: COS definition TG row                                        */
  1435. /*****************************************************************************/
  1436.  
  1437. typedef struct cos_tg_row
  1438. {
  1439.   TG_DEFINED_CHARS minimum;
  1440.   TG_DEFINED_CHARS maximum;
  1441.   unsigned char   weight;
  1442.   unsigned char   reserv1;                       /* reserved                 */
  1443.  
  1444. } COS_TG_ROW;
  1445.  
  1446. /**STRUCT-********************************************************************/
  1447.  
  1448.  
  1449. /**STRUCT+********************************************************************/
  1450. /* Structure: DEFINE_DEFAULT_PU                                              */
  1451. /*                                                                           */
  1452. /* Description: Specifies a pu to serve as the default pu                    */
  1453. /*****************************************************************************/
  1454.  
  1455. typedef struct define_default_pu
  1456. {
  1457.   unsigned short   opcode;
  1458.   unsigned char    reserv2;                 /* reserved                      */
  1459.   unsigned char    format;                       /* current format is 0      */
  1460.   unsigned short   primary_rc;
  1461.   unsigned long    secondary_rc;
  1462.   unsigned char    pu_name[8];
  1463.   unsigned char    description[RD_LEN];
  1464.   unsigned char    reserv3[16];             /* reserved                      */
  1465. } DEFINE_DEFAULT_PU;
  1466.  
  1467. /**STRUCT-********************************************************************/
  1468.  
  1469.  
  1470. /**STRUCT+********************************************************************/
  1471. /* Structure: DEFAULT_CHARS                                                  */
  1472. /*                                                                           */
  1473. /* Description: Default characteristics - passed in on DEFINE_DEFAULTS       */
  1474. /*****************************************************************************/
  1475.  
  1476. typedef struct default_chars
  1477. {
  1478.   unsigned char     description[RD_LEN];
  1479.   unsigned char     mode_name[8];
  1480.   unsigned char     implicit_plu_forbidden;
  1481.   unsigned char     specific_security_codes;
  1482.   unsigned short    limited_timeout;
  1483.   unsigned char     reserv[244];                 /* reserved                 */
  1484. } DEFAULT_CHARS;
  1485.  
  1486. /**STRUCT-********************************************************************/
  1487.  
  1488.  
  1489. /**STRUCT+********************************************************************/
  1490. /* Structure: DEFINE_DEFAULTS                                                */
  1491. /*                                                                           */
  1492. /* Description: DEFINE_DEFAULTS verb control block                           */
  1493. /*****************************************************************************/
  1494.  
  1495. typedef struct define_defaults
  1496. {
  1497.   unsigned short    opcode;
  1498.   unsigned char     reserv2;                     /* reserved                 */
  1499.   unsigned char     format;                      /* current format is 0      */
  1500.   unsigned short    primary_rc;
  1501.   unsigned long     secondary_rc;
  1502.   DEFAULT_CHARS     default_chars;
  1503. } DEFINE_DEFAULTS;
  1504.  
  1505. /**STRUCT-********************************************************************/
  1506.  
  1507.  
  1508. /**STRUCT+********************************************************************/
  1509. /* Structure:   DLC_SPEC_DATA                                                */
  1510. /*                                                                           */
  1511. /* Description: Contains data related to a specific DLC type                 */
  1512. /*****************************************************************************/
  1513.  
  1514. typedef struct dlc_spec_data
  1515. {
  1516.   /***************************************************************************/
  1517.   /* Padding                                                                 */
  1518.   /***************************************************************************/
  1519. #define SIZEOF_DLC_SPEC_DATA 268
  1520.   unsigned char   dlc_data[SIZEOF_DLC_SPEC_DATA];
  1521.  
  1522. } DLC_SPEC_DATA;
  1523.  
  1524. /**STRUCT-********************************************************************/
  1525.  
  1526.  
  1527. /**STRUCT+********************************************************************/
  1528. /* Structure:   DLC_DEF_DATA                                                 */
  1529. /*                                                                           */
  1530. /* Description: Contains data related to a specific DLC in the node, which   */
  1531. /* is passed in by the NOF on the DEFINE_DLC                                 */
  1532. /*****************************************************************************/
  1533.  
  1534. typedef struct dlc_def_data
  1535. {
  1536.   unsigned char   description[RD_LEN];
  1537.  
  1538.   /***************************************************************************/
  1539.   /* DLC Type - which sort of DLC process is this?                           */
  1540.   /* These types are contiguous - so table of DLC type vs port type in ncs.h */
  1541.   /* can work OK                                                             */
  1542.   /***************************************************************************/
  1543.   unsigned char   dlc_type;
  1544.  
  1545.   /***************************************************************************/
  1546.   /* Common Data - common to all DLC types.  This is in the FAP but has been */
  1547.   /* removed, because it is better to have DLC tell CS whether (for example) */
  1548.   /* he supports ABM than vice-versa.  These fields renamed DLC_CHARS, and   */
  1549.   /* passed back to CS on DLC_CREATED signal (and then stored in             */
  1550.   /* DLC_DET_DATA below)                                                     */
  1551.   /* However one new common data field has been added in...                  */
  1552.   /* Does the DLC support negotiable link stations?                          */
  1553.   /***************************************************************************/
  1554.   unsigned char   neg_ls_supp;
  1555.  
  1556.   /***************************************************************************/
  1557.   /* Port types                                                              */
  1558.   /***************************************************************************/
  1559.   unsigned char   port_types;
  1560.  
  1561.   /***************************************************************************/
  1562.   /* Link-supports-only-HPR flag                                             */
  1563.   /***************************************************************************/
  1564.   unsigned char   hpr_only;
  1565.  
  1566.   unsigned char   reserv3;                       /* reserved                 */
  1567.  
  1568.   /***************************************************************************/
  1569.   /* Conditions for automatic retry                                          */
  1570.   /***************************************************************************/
  1571.   unsigned char   retry_flags;
  1572.  
  1573.   /***************************************************************************/
  1574.   /* Maximum allowed number of automatic retries if the remote node is not   */
  1575.   /* responding, or the port is inactive, or the DLC is inactive.            */
  1576.   /***************************************************************************/
  1577.   unsigned short  max_activation_attempts;
  1578.  
  1579.   /***************************************************************************/
  1580.   /* Retry delay time, used to pace automatic retries and application        */
  1581.   /* retries, if configured by retry_flags.                                  */
  1582.   /***************************************************************************/
  1583.   unsigned short  activation_delay_timer;
  1584.  
  1585.   unsigned char   reserv4[4];                    /* reserved                 */
  1586.  
  1587.   /***************************************************************************/
  1588.   /* DLC Specific Data (specific to the type of the DLC)                     */
  1589.   /***************************************************************************/
  1590.   unsigned short  dlc_spec_data_len;
  1591.  
  1592. } DLC_DEF_DATA;
  1593.  
  1594. /**STRUCT-********************************************************************/
  1595.  
  1596.  
  1597. /**STRUCT+********************************************************************/
  1598. /* Structure:   DEFINE_DLC                                                   */
  1599. /*                                                                           */
  1600. /* Description: Message to add a new DLC_CB or update existing one           */
  1601. /*****************************************************************************/
  1602.  
  1603. typedef struct define_dlc
  1604. {
  1605.   /***************************************************************************/
  1606.   /* Standard VCB header.                                                    */
  1607.   /***************************************************************************/
  1608.   unsigned short  opcode;
  1609.   unsigned char   attributes;
  1610.   unsigned char   format;                        /* current format is 0      */
  1611.   unsigned short  primary_rc;
  1612.   unsigned long   secondary_rc;
  1613.  
  1614.   /***************************************************************************/
  1615.   /* Name of the DLC                                                         */
  1616.   /***************************************************************************/
  1617.   unsigned char   dlc_name[8];
  1618.  
  1619.   /***************************************************************************/
  1620.   /* Defined Data                                                            */
  1621.   /***************************************************************************/
  1622.   DLC_DEF_DATA    def_data;
  1623.  
  1624. } DEFINE_DLC;
  1625.  
  1626. /**STRUCT-********************************************************************/
  1627.  
  1628.  
  1629. /**STRUCT+********************************************************************/
  1630. /* Structure:   DEFINE_DLUR_DEFAULTS                                         */
  1631. /*                                                                           */
  1632. /* Description: Message used to define DLUR defaults                         */
  1633. /*****************************************************************************/
  1634.  
  1635. typedef struct define_dlur_defaults
  1636. {
  1637.   /***************************************************************************/
  1638.   /* Standard VCB header.                                                    */
  1639.   /***************************************************************************/
  1640.   unsigned short  opcode;
  1641.   unsigned char   reserv2;                       /* reserved                 */
  1642.   unsigned char   format;                        /* current format is 0      */
  1643.   unsigned short  primary_rc;
  1644.   unsigned long   secondary_rc;
  1645.  
  1646.   unsigned char   description[RD_LEN];
  1647.  
  1648.   /***************************************************************************/
  1649.   /* Name of the DLUS - null if resetting                                    */
  1650.   /***************************************************************************/
  1651.   unsigned char   dlus_name[17];
  1652.  
  1653.   /***************************************************************************/
  1654.   /* Name of the backup DLUS name                                            */
  1655.   /***************************************************************************/
  1656.   unsigned char   bkup_dlus_name[17];
  1657.  
  1658.   /***************************************************************************/
  1659.   /* Reserve field                                                           */
  1660.   /***************************************************************************/
  1661.   unsigned char   reserv3;                       /* reserved                 */
  1662.  
  1663.   unsigned short  dlus_retry_timeout;
  1664.   unsigned short  dlus_retry_limit;
  1665.  
  1666.   /***************************************************************************/
  1667.   /* Reserve field                                                           */
  1668.   /***************************************************************************/
  1669.   unsigned char   reserv4[16];                   /* reserved                 */
  1670.  
  1671. } DEFINE_DLUR_DEFAULTS;
  1672.  
  1673. /**STRUCT-********************************************************************/
  1674.  
  1675.  
  1676. /**STRUCT+********************************************************************/
  1677. /* Structure: DEFINE_FOCAL_POINT                                             */
  1678. /*                                                                           */
  1679. /* Description: Allows the operator to define a focal point                  */
  1680. /*****************************************************************************/
  1681.  
  1682. typedef struct define_focal_point
  1683. {
  1684.   unsigned short   opcode;
  1685.   unsigned char    reserv2;                 /* reserved                      */
  1686.   unsigned char    format;                       /* current format is 0      */
  1687.   unsigned short   primary_rc;
  1688.   unsigned long    secondary_rc;
  1689.   unsigned char    reserved;                /* reserved                      */
  1690.   unsigned char    ms_category[8];
  1691.   unsigned char    fp_fqcp_name[17];
  1692.   unsigned char    ms_appl_name[8];
  1693.   unsigned char    description[RD_LEN];
  1694.   unsigned char    backup;
  1695.   unsigned char    reserv3[16];             /* reserved                      */
  1696. } DEFINE_FOCAL_POINT;
  1697.  
  1698. /**STRUCT-********************************************************************/
  1699.  
  1700.  
  1701. /**STRUCT+********************************************************************/
  1702. /* Structure:   INTERNAL_PU_DEF_DATA                                         */
  1703. /*                                                                           */
  1704. /* Description: Defined data for internal PU                                 */
  1705. /*****************************************************************************/
  1706.  
  1707. typedef struct internal_pu_def_data
  1708. {
  1709.   unsigned char   description[RD_LEN];
  1710.  
  1711.   /***************************************************************************/
  1712.   /* Name of the DLUS                                                        */
  1713.   /***************************************************************************/
  1714.   unsigned char   dlus_name[17];
  1715.  
  1716.   /***************************************************************************/
  1717.   /* Name of the backup DLUS name                                            */
  1718.   /***************************************************************************/
  1719.   unsigned char   bkup_dlus_name[17];
  1720.  
  1721.   /***************************************************************************/
  1722.   /* PU ID                                                                   */
  1723.   /***************************************************************************/
  1724.   unsigned char   pu_id[4];
  1725.  
  1726.   /***************************************************************************/
  1727.   /* Retry Timeout.  Time in seconds between attempts to recontact a DLUS    */
  1728.   /***************************************************************************/
  1729.   unsigned short   dlus_retry_timeout;
  1730.  
  1731.   /***************************************************************************/
  1732.   /* Retry Limit.  Maximum Number of attempts to recontact a DLUS            */
  1733.   /***************************************************************************/
  1734.   unsigned short   dlus_retry_limit;
  1735.  
  1736.   /***************************************************************************/
  1737.   /* Data Compression requested.  Only valid for LU 0 to 3 traffic.          */
  1738.   /***************************************************************************/
  1739.   unsigned char    conventional_lu_compression;
  1740.  
  1741.   /***************************************************************************/
  1742.   /* Cryptography support on conventional LU sessions                        */
  1743.   /***************************************************************************/
  1744.   unsigned char    conventional_lu_cryptography;
  1745.  
  1746.   unsigned char    reserv2[2];                    /* reserved                */
  1747.  
  1748.  
  1749. } INTERNAL_PU_DEF_DATA;
  1750.  
  1751. /**STRUCT-********************************************************************/
  1752.  
  1753.  
  1754. /**STRUCT+********************************************************************/
  1755. /* Structure:   DEFINE_INTERNAL_PU                                           */
  1756. /*                                                                           */
  1757. /* Description: Message to add a new DLUR-supported PU                       */
  1758. /*****************************************************************************/
  1759.  
  1760. typedef struct define_internal_pu
  1761. {
  1762.   /***************************************************************************/
  1763.   /* Standard VCB header.                                                    */
  1764.   /***************************************************************************/
  1765.   unsigned short  opcode;
  1766.   unsigned char   attributes;
  1767.   unsigned char   format;                        /* current format is 0      */
  1768.   unsigned short  primary_rc;
  1769.   unsigned long   secondary_rc;
  1770.  
  1771.   /***************************************************************************/
  1772.   /* Name of the PU                                                          */
  1773.   /***************************************************************************/
  1774.   unsigned char   pu_name[8];
  1775.  
  1776.   /***************************************************************************/
  1777.   /* Defined data                                                            */
  1778.   /***************************************************************************/
  1779.   INTERNAL_PU_DEF_DATA def_data;
  1780.  
  1781. } DEFINE_INTERNAL_PU;
  1782.  
  1783. /**STRUCT-********************************************************************/
  1784.  
  1785.  
  1786. /**STRUCT+********************************************************************/
  1787. /* Structure:   LOCAL_LU_DEF_DATA                                            */
  1788. /*                                                                           */
  1789. /* Description: Data used in defining a local lu                             */
  1790. /*****************************************************************************/
  1791.  
  1792. typedef struct local_lu_def_data
  1793. {
  1794.   unsigned char   description[RD_LEN];
  1795.   unsigned char   lu_alias[8];
  1796.   unsigned char   nau_address;
  1797.   unsigned char   syncpt_support;                /* reserved                 */
  1798.   unsigned short  lu_session_limit;
  1799.   unsigned char   default_pool;
  1800.   unsigned char   reserv2;                       /* reserved                 */
  1801.   unsigned char   pu_name[8];
  1802.   unsigned char   lu_attributes;
  1803.   unsigned char   sscp_id[6];
  1804.   unsigned char   disable;
  1805.   unsigned char   attach_routing_data[128];
  1806.   unsigned char   lu_model;
  1807.   unsigned char   model_name[7];
  1808.   unsigned char   reserv4[16];
  1809. } LOCAL_LU_DEF_DATA;
  1810.  
  1811. /**STRUCT-********************************************************************/
  1812.  
  1813.  
  1814. /**STRUCT+********************************************************************/
  1815. /* Structure: DEFINE_LOCAL_LU                                                */
  1816. /*                                                                           */
  1817. /* Description: DEFINE_LOCAL_LU verb control block                           */
  1818. /*****************************************************************************/
  1819.  
  1820. typedef struct define_local_lu
  1821. {
  1822.   unsigned short  opcode;
  1823.   unsigned char   reserv2;                       /* reserved                 */
  1824.   unsigned char   format;                        /* current format is 1      */
  1825.   unsigned short  primary_rc;
  1826.   unsigned long   secondary_rc;
  1827.   unsigned char   lu_name[8];
  1828.   LOCAL_LU_DEF_DATA def_data;
  1829. } DEFINE_LOCAL_LU;
  1830.  
  1831. /**STRUCT-********************************************************************/
  1832.  
  1833.  
  1834. /**STRUCT+********************************************************************/
  1835. /* Structure:   LLC_LINK_SPEC_DATA                                           */
  1836. /*                                                                           */
  1837. /* Description: Holds data about a link station that is of use to LLC2 code. */
  1838. /*                                                                           */
  1839. /*****************************************************************************/
  1840. #define SIZEOF_LLC_LINK_SPEC_DATA 24
  1841.  
  1842. typedef struct llc_link_spec_data
  1843. {
  1844.   /***************************************************************************/
  1845.   /* Length of this structure.                                               */
  1846.   /***************************************************************************/
  1847.   unsigned short  length;
  1848.  
  1849.   /***************************************************************************/
  1850.   /* XID Timer for connection setup processing                               */
  1851.   /***************************************************************************/
  1852.   unsigned short  xid_timer;
  1853.   unsigned short  xid_timer_retry;
  1854.  
  1855.   /***************************************************************************/
  1856.   /* TEST Timer for outgoing connection setup processing                     */
  1857.   /***************************************************************************/
  1858.   unsigned short  test_timer;
  1859.   unsigned short  test_timer_retry;
  1860.  
  1861.   /***************************************************************************/
  1862.   /* Time out values to override those in the LLC_SAP_SPEC_DATA              */
  1863.   /***************************************************************************/
  1864.   unsigned short  ack_timeout;
  1865.   unsigned short  p_bit_timeout;
  1866.   unsigned short  t2_timeout;
  1867.   unsigned short  rej_timeout;
  1868.   unsigned short  busy_state_timeout;
  1869.   unsigned short  idle_timeout;
  1870.   unsigned short  max_retry;
  1871.  
  1872. } LLC_LINK_SPEC_DATA;
  1873.  
  1874. /**STRUCT-********************************************************************/
  1875.  
  1876.  
  1877. /*****************************************************************************/
  1878. /* The following are the SDLC and TWINAX link spec data                      */
  1879. /*****************************************************************************/
  1880.  
  1881. enum ECfgInstType { eNULL, eCx, eRetired1, eRetired2, eLAPD, eLAPB,
  1882.                     eHayesAT, eV25bis, eLeased, eISDN931, eX25bis, eX25PLP,
  1883.                     eSDLC, e8022, eQLLC, eRetired3, eTWINAX, eProductDef,
  1884.                     eRetired4,
  1885.                     eStack,
  1886.                     eLx,
  1887.                     eCx2,
  1888.                     eAlternateDial,
  1889.                     eX32,
  1890.                     eListenDef,
  1891.                     eAsyncCall,
  1892.                     eSyncCall,
  1893.                     eX25SVCCall,
  1894.                     eX25PVCCall,
  1895.                     eX25FilterData,
  1896.                     eX25SNA,
  1897.                     eOemAdapter,
  1898.                     eAsyncAdapter,
  1899.                     eSyncAdapter,
  1900.                     eWacAdapter,
  1901.                     eTwinaxAdapter
  1902.                   };
  1903.  
  1904. #define MAX_PATH_LENGTH 50
  1905.  
  1906. typedef struct X25DestAddr
  1907. {
  1908.   char               dteAddress[16];
  1909.   char               extension[42];
  1910. } X25DESTADDR;
  1911.  
  1912. typedef struct X25FilterAddr
  1913. {
  1914.   char               dteAddress[8];
  1915.   char               extension[4];
  1916. } X25FILTERADDR;
  1917.  
  1918. typedef struct X25Filter
  1919. {
  1920.   X25FILTERADDR      destAddr;
  1921.   int                reverseCharging;
  1922. } X25FILTER;
  1923.  
  1924.  
  1925. typedef struct inst_Cx2
  1926. {
  1927.   unsigned long      length;
  1928.   enum ECfgInstType  itype;                      /* eCx2 */
  1929.   char               name[16];
  1930.   char               stackName[16];
  1931.   char               dlcName[16];
  1932.   int                netCxType;
  1933.   char               callDataName[16];
  1934.   int                addlProtocolCnt;
  1935.   char               addlProtocolName[4][16];
  1936. } INST_CX2;
  1937.  
  1938. typedef struct inst_Lx
  1939. {
  1940.   unsigned long      length;
  1941.   enum ECfgInstType  itype;                      /* eLx  */
  1942.   char               name[16];
  1943.   char               stackName[16];
  1944.   char               dlcName[16];
  1945.   int                netCxType;
  1946.   char               callDataName[16];
  1947.   char               filterName[16];
  1948.   int                addlProtocolCnt;
  1949.   char               addlProtocolName[4][16];
  1950. } INST_LX;
  1951.  
  1952. typedef struct inst_Stack
  1953. {
  1954.   unsigned long      length;
  1955.   enum ECfgInstType  itype;                      /* eStack */
  1956.   char               name[16];
  1957.   int                type;
  1958.   int                netCxType;
  1959.   int                enableIncoming;
  1960.   char               layer1Name[16];
  1961.   char               layer2Name[16];
  1962. } INST_STACK;
  1963.  
  1964. typedef struct inst_X25
  1965. {
  1966.   unsigned long      length;
  1967.   enum ECfgInstType  itype;                      /* eX25  */
  1968.   char               name[16];
  1969.   char               factoryName[16];
  1970.   int                conformance;
  1971.   char               localDteAddress[16];
  1972.   unsigned short     insertCalling;
  1973.   unsigned short     sequencing;
  1974.   unsigned short     startPVC;
  1975.   unsigned short     startInSVC;
  1976.   unsigned short     startBothSVC;
  1977.   unsigned short     startOutSVC;
  1978.   unsigned short     PVCs;
  1979.   unsigned short     inSVCs;
  1980.   unsigned short     bothSVCs;
  1981.   unsigned short     outSVCs;
  1982.   unsigned short     defaultPacketSize;
  1983.   unsigned short     defaultWindowSize;
  1984.   unsigned short     maxIFieldSize;
  1985.   unsigned short     t20;
  1986.   unsigned short     t21;
  1987.   unsigned short     t22;
  1988.   unsigned short     t23;
  1989.   unsigned short     t24;
  1990.   unsigned short     t25;
  1991.   unsigned short     t26;
  1992.   unsigned short     r22;
  1993.   unsigned short     r23;
  1994. } INST_X25;
  1995.  
  1996. typedef struct inst_QLLC
  1997. {
  1998.   unsigned long      length;
  1999.   enum ECfgInstType  itype;                      /* eQLLC */
  2000.   char               name[16];
  2001.   char               factoryName[16];
  2002. } INST_QLLC;
  2003.  
  2004. typedef struct inst_LAPB
  2005. {
  2006.   unsigned long      length;
  2007.   enum ECfgInstType  itype;                      /* eLAPB */
  2008.   char               name[16];
  2009.   char               factoryName[16];
  2010.   unsigned short     modulo;
  2011.   unsigned short     windowSize;
  2012.   unsigned short     responseTimer;
  2013.   unsigned short     retryCount;
  2014.   unsigned short     inactivityTimer;
  2015. } INST_LAPB;
  2016.  
  2017. typedef struct inst_X32 {
  2018.   unsigned long      length;
  2019.   enum ECfgInstType itype;                       /* eX32 */
  2020.   char               name[16];
  2021.   char               factoryName[16];
  2022.   unsigned char      identity[34];
  2023.   unsigned char      signature[34];
  2024. } INST_X32;
  2025.  
  2026. typedef struct inst_X25SNA
  2027. {
  2028.   unsigned long      length;
  2029.   enum ECfgInstType  itype;                      /* eX25SNA */
  2030.   char               name[16];
  2031.   char               factoryName[16];
  2032.   int                conformance;
  2033.   char               connectionID[10];
  2034. } INST_X25SNA;
  2035.  
  2036. typedef struct inst_X25SVCCallData
  2037. {
  2038.   unsigned long      length;
  2039.   enum ECfgInstType  itype;                      /* eX25SVCCall */
  2040.   char               name[16];
  2041.   BOOLEAN            reqReverseCharging;
  2042.   int                CUGFormat;
  2043.   char               CUGIndex[6];
  2044.   char               networkUserID[42];
  2045.   char               addlFacilities[110];
  2046.   int                remConf;
  2047.   int                destAddrCnt;
  2048.   struct X25DestAddr destAddr[8];
  2049. } INST_X25SVCCALLDATA;
  2050.  
  2051. typedef struct inst_X25PVCCallData
  2052. {
  2053.   unsigned long      length;
  2054.   enum ECfgInstType  itype;                      /* eX25PVCCall */
  2055.   char               name[16];
  2056.   unsigned int       logicalChannel;
  2057.   unsigned int       windowSize;
  2058.   unsigned int       packetSize;
  2059.   int                remConf;
  2060. } INST_X25PVCCALLDATA;
  2061.  
  2062. typedef struct inst_AsyncCallData
  2063. {
  2064.   unsigned long      length;
  2065.   enum ECfgInstType  itype;                      /* eAsyncCall  */
  2066.   char               name[16];
  2067.   int                framingMethod;
  2068.   unsigned int       portSpeed;
  2069.   int                encodingScheme;
  2070.   int                remaddrcnt;
  2071.   unsigned char      remaddr[8][64];
  2072. } INST_ASYNCCALLDATA;
  2073.  
  2074. typedef struct inst_SyncCallData
  2075. {
  2076.   unsigned long      length;
  2077.   enum ECfgInstType  itype;                      /* eSyncCall */
  2078.   char               name[16];
  2079.   int                encodingScheme;
  2080.   int                remaddrcnt;
  2081.   unsigned char      remaddr[8][64];
  2082. } INST_SYNCCALLDATA;
  2083.  
  2084. typedef struct inst_X25FilterData
  2085. {
  2086.   unsigned long      length;
  2087.   enum ECfgInstType  itype;                      /* eX25FilterData */
  2088.   char               name[16];
  2089.   signed long        filterCount;
  2090.   X25FILTER          X25filterAry[15];
  2091.  
  2092. } INST_X25FILTERDATA;
  2093.  
  2094. typedef struct inst_ProductDef {
  2095.   unsigned long     length;
  2096.   enum ECfgInstType itype;                       /* eProductDef */
  2097.   char              installDirectory[260];
  2098. } INST_PRODUCTDEF;
  2099.  
  2100. /**STRUCT+********************************************************************/
  2101. /* Structure:   CfgCxDef                                                     */
  2102. /*                                                                           */
  2103. /* Description: SDLC and TWINAX link spec data                               */
  2104. /*              The link spec data consists of CfgCxDef followed by one of   */
  2105. /*              inst_SDLC or inst_TWINAX                                     */
  2106. /*                                                                           */
  2107. /*****************************************************************************/
  2108. typedef struct CfgCxDef
  2109. {
  2110.   char            name[16];
  2111.   char            stackName[16];
  2112.   char            dlcName[16];
  2113.   int             netCxType;
  2114.   int             framingMethod;
  2115.   int             portSpeed;
  2116.   int             encodingScheme;
  2117.   int             destaddrcnt;
  2118.   char            destaddr[8][64];
  2119. } CFGCXDEF;
  2120.  
  2121. /**STRUCT-********************************************************************/
  2122.  
  2123.  
  2124. /**STRUCT+********************************************************************/
  2125. /* Structure:   inst_hdr                                                     */
  2126. /*                                                                           */
  2127. /* Description: Instance structure common header                             */
  2128. /*                                                                           */
  2129. /*****************************************************************************/
  2130. typedef struct inst_hdr
  2131. {
  2132.   unsigned long     length;
  2133.   enum ECfgInstType itype;
  2134. } INST_HDR;
  2135.  
  2136. /**STRUCT-********************************************************************/
  2137.  
  2138. /**STRUCT+********************************************************************/
  2139. /* Structure:   inst_SDLC                                                    */
  2140. /*                                                                           */
  2141. /* Description: SDLC instance data                                           */
  2142. /*                                                                           */
  2143. /* Note:        This can also be appended to PORT_SPEC_DATA                  */
  2144. /*                                                                           */
  2145. /*****************************************************************************/
  2146. typedef struct inst_SDLC
  2147. {
  2148.   unsigned long   length;
  2149.   enum ECfgInstType itype;                       /* eSDLC                    */
  2150.   char            name[16];
  2151.   char            factoryName[16];
  2152.   int             secondaryPoll;
  2153.   unsigned short  responseTimer;
  2154.   unsigned short  inactivityTimer;
  2155.   unsigned short  retryCount;
  2156.   unsigned short  connectTimer;
  2157.   unsigned short  connectretryCount;
  2158.   unsigned char   stationPollCount;
  2159.   unsigned char   multidropPrimary;
  2160. } INST_SDLC;
  2161.  
  2162. /**STRUCT-********************************************************************/
  2163.  
  2164.  
  2165. /**STRUCT+********************************************************************/
  2166. /* Structure:   inst_TWINAX                                                  */
  2167. /*                                                                           */
  2168. /* Description: TWINAX instance data                                         */
  2169. /*                                                                           */
  2170. /*****************************************************************************/
  2171. typedef struct inst_TWINAX
  2172. {
  2173.   unsigned long   length;
  2174.   enum ECfgInstType itype;                       /* eTWINAX                  */
  2175.   char            name[16];
  2176.   char            factoryName[16];
  2177. } INST_TWINAX;
  2178.  
  2179. /**STRUCT-********************************************************************/
  2180.  
  2181.  
  2182. /**STRUCT+********************************************************************/
  2183. /* Structure:   LINK_SPEC_DATA                                               */
  2184. /*                                                                           */
  2185. /* Description: Consists of information specific to this link station -      */
  2186. /* format is specific to DLC type                                            */
  2187. /*****************************************************************************/
  2188.  
  2189. typedef struct link_spec_data
  2190. {
  2191. #define SIZEOF_LINK_SPEC_DATA 1600
  2192.   unsigned char   link_data[SIZEOF_LINK_SPEC_DATA];
  2193.  
  2194. } LINK_SPEC_DATA;
  2195.  
  2196. /**STRUCT-********************************************************************/
  2197.  
  2198.  
  2199. /**STRUCT+********************************************************************/
  2200. /* Structure:   LS_DEF_DATA                                                  */
  2201. /*                                                                           */
  2202. /* Description: Contains data related to a specific link station, and passed */
  2203. /* in by the NOF                                                             */
  2204. /*****************************************************************************/
  2205.  
  2206. typedef struct ls_def_data
  2207. {
  2208.   unsigned char   description[RD_LEN];
  2209.  
  2210.   /***************************************************************************/
  2211.   /* Port Name - name of the associated port                                 */
  2212.   /***************************************************************************/
  2213.   unsigned char   port_name[8];
  2214.  
  2215.   /***************************************************************************/
  2216.   /* Adjacent CP Name.  This is the defined CP name for the adj.  node.      */
  2217.   /* This cannot be null for a connection to a back-level LEN node.          */
  2218.   /***************************************************************************/
  2219.   unsigned char   adj_cp_name[17];
  2220.  
  2221.   /***************************************************************************/
  2222.   /* Adjacent CP Type.  Not in the FAP.  This is to allow check on p9-230 of */
  2223.   /* FAP that the adjacent node's network capabilities are as expected       */
  2224.   /***************************************************************************/
  2225.   unsigned char   adj_cp_type;
  2226.  
  2227.   /***************************************************************************/
  2228.   /* Destination Address.  The address used by the node to address the adj.  */
  2229.   /* link station.  Various contents according to DLC type (see p9-205)      */
  2230.   /***************************************************************************/
  2231.   LINK_ADDRESS    dest_address;
  2232.  
  2233.   /***************************************************************************/
  2234.   /* Auto-activation Supported - can the adjacent link station be activated  */
  2235.   /* other than by NOF.  If so CS tries to activate the station every time   */
  2236.   /* an ACTIVATE_ROUTE is recd.  from SS requesting to use the link station. */
  2237.   /* Dynamic link stations cannot be NOF-activated, so always support this.  */
  2238.   /***************************************************************************/
  2239.   unsigned char   auto_act_supp;
  2240.  
  2241.   /***************************************************************************/
  2242.   /* TG Number - if this is non-zero value it is used as a pre-assigned      */
  2243.   /*             TG number for the LS                                        */
  2244.   /***************************************************************************/
  2245.   unsigned char   tg_number;
  2246.  
  2247.   /***************************************************************************/
  2248.   /* TG related data                                                         */
  2249.   /***************************************************************************/
  2250.  
  2251.   /***************************************************************************/
  2252.   /* Limited Resource - is the TG a limited resource (i.e.  will it be       */
  2253.   /* deactivated if no sessions are using it).  The NOF sets this for        */
  2254.   /* defined TGs (though TGs on nonswitched connections are never limited    */
  2255.   /* resources).  Implicit and dynamic TGs are always limited resources.     */
  2256.   /***************************************************************************/
  2257.   unsigned char   limited_resource;
  2258.  
  2259.   /***************************************************************************/
  2260.   /* Solicit SSCP Sessions => only applies if remote node is T4/5.  If set   */
  2261.   /* then the ACTPU Suppression indicator on XID3 will be masked off.        */
  2262.   /***************************************************************************/
  2263.   unsigned char   solicit_sscp_sessions;
  2264.  
  2265.   /***************************************************************************/
  2266.   /* Specified when solicit_sscp_sessions is AP_YES, indicates the name of   */
  2267.   /* the local PU which will use this link                                   */
  2268.   /***************************************************************************/
  2269.   unsigned char   pu_name[8];
  2270.  
  2271.   /***************************************************************************/
  2272.   /* Disable remote activation flag                                          */
  2273.   /***************************************************************************/
  2274.   unsigned char   disable_remote_act;
  2275.  
  2276. #ifdef PU_CONC_SUPPORTED
  2277.   /***************************************************************************/
  2278.   /* Specified when solicit_sscp_sessions is AP_NO, specifies what services  */
  2279.   /* the local node is providing for the downstream PU.                      */
  2280.   /***************************************************************************/
  2281.   unsigned char   dspu_services;
  2282.  
  2283.   /***************************************************************************/
  2284.   /* Specifies downstream PU name if dspu_services is AP_PU_CONCENTRATION    */
  2285.   /* or AP_DLUR                                                              */
  2286.   /***************************************************************************/
  2287.   unsigned char   dspu_name[8];
  2288.  
  2289.   /***************************************************************************/
  2290.   /* DLUS name if dspu_services is AP_DLUR                                   */
  2291.   /* and the backup as well                                                  */
  2292.   /***************************************************************************/
  2293.   unsigned char   dlus_name[17];
  2294.   unsigned char   bkup_dlus_name[17];
  2295. #else
  2296.   unsigned char   dspu_services;                 /* reserved                 */
  2297.   unsigned char   dspu_name[8];                  /* reserved                 */
  2298.   unsigned char   dlus_name[17];                 /* reserved                 */
  2299.   unsigned char   bkup_dlus_name[17];            /* reserved                 */
  2300. #endif
  2301.  
  2302.   /***************************************************************************/
  2303.   /* HPR supported                                                           */
  2304.   /***************************************************************************/
  2305.   unsigned char   hpr_supported;
  2306.  
  2307.   /***************************************************************************/
  2308.   /* HPR link level error recovery supported                                 */
  2309.   /***************************************************************************/
  2310.   unsigned char   hpr_link_lvl_error;
  2311.  
  2312.   /***************************************************************************/
  2313.   /* HPR link deactivation timer (in seconds)                                */
  2314.   /***************************************************************************/
  2315.   unsigned short  link_deact_timer;
  2316.  
  2317.   unsigned char   reserv1;                       /* reserved                 */
  2318.   unsigned char   default_nn_server;
  2319.  
  2320.   /***************************************************************************/
  2321.   /* Link Station Attributes                                                 */
  2322.   /***************************************************************************/
  2323.   unsigned char   ls_attributes[4];
  2324.  
  2325.   /***************************************************************************/
  2326.   /* Adjacent node ID - identifies back-level LEN end nodes.                 */
  2327.   /* See fig 9-44 in Ref.                                                    */
  2328.   /***************************************************************************/
  2329.   unsigned char   adj_node_id[4];
  2330.  
  2331.   /***************************************************************************/
  2332.   /* Local node ID - overrides node ID specified on START_NODE for XIDs      */
  2333.   /* sent over this link (if non-null)                                       */
  2334.   /***************************************************************************/
  2335.   unsigned char   local_node_id[4];
  2336.  
  2337.   /***************************************************************************/
  2338.   /* CP-CP Sessions - are they supported on this TG.  Cannot be set if adj.  */
  2339.   /* node is LEN.  Used to set CP-CP Sessions Support field on XID3 and to   */
  2340.   /* set up various checks for the DEFINE_LS.                                */
  2341.   /***************************************************************************/
  2342.   unsigned char   cp_cp_sess_support;
  2343.  
  2344.   /***************************************************************************/
  2345.   /* TG Characteristics.  Defined associated characteristics.                */
  2346.   /***************************************************************************/
  2347.   unsigned char   use_default_tg_chars;
  2348.   TG_DEFINED_CHARS tg_chars;
  2349.  
  2350.   /***************************************************************************/
  2351.   /* Link Station Parameters - additional defined data.                      */
  2352.   /***************************************************************************/
  2353.   /***************************************************************************/
  2354.   /* LS Parms fields - old field name was ls_parms                           */
  2355.   /***************************************************************************/
  2356.   /***************************************************************************/
  2357.   /* Target pacing count                                                     */
  2358.   /***************************************************************************/
  2359.   unsigned short  target_pacing_count;
  2360.  
  2361.   /***************************************************************************/
  2362.   /* Desired maximum send BTU size                                           */
  2363.   /***************************************************************************/
  2364.   unsigned short  max_send_btu_size;
  2365.  
  2366.   /***************************************************************************/
  2367.   /* Link Station Role                                                       */
  2368.   /***************************************************************************/
  2369.   unsigned char   ls_role;
  2370.  
  2371.   /***************************************************************************/
  2372.   /* Maximum Number of I-Frames That Can be Received by the XID Sender       */
  2373.   /* Before Acknowlegment.  Set to zero if the default value from            */
  2374.   /* DEFINE_PORT should be used.                                             */
  2375.   /***************************************************************************/
  2376.   unsigned char   max_ifrm_rcvd;
  2377.  
  2378.   /***************************************************************************/
  2379.   /* Retry Timeout.  Time in seconds between attempts to recontact a DLUS    */
  2380.   /***************************************************************************/
  2381.   unsigned short  dlus_retry_timeout;
  2382.  
  2383.   /***************************************************************************/
  2384.   /* Retry Limit.  Maximum Number of attempts to recontact a DLUS            */
  2385.   /***************************************************************************/
  2386.   unsigned short  dlus_retry_limit;
  2387.  
  2388.   /***************************************************************************/
  2389.   /* Data Compression requested.  Only valid for LU 0 to 3 traffic.          */
  2390.   /***************************************************************************/
  2391.   unsigned char   conventional_lu_compression;
  2392.  
  2393.   /***************************************************************************/
  2394.   /* Cryptography support on conventional LU sessions                        */
  2395.   /***************************************************************************/
  2396.   unsigned char   conventional_lu_cryptography;
  2397.  
  2398.   /***************************************************************************/
  2399.   /* This defines how incoming calls resolve to this link station, in the    */
  2400.   /* case that a zero-length destination address is specified                */
  2401.   /***************************************************************************/
  2402.   unsigned char   null_address_meaning;
  2403.  
  2404.   /***************************************************************************/
  2405.   /* Conditions for automatic retry                                          */
  2406.   /***************************************************************************/
  2407.   unsigned char   retry_flags;
  2408.  
  2409.   /***************************************************************************/
  2410.   /* Maximum allowed number of automatic retries if the remote node is not   */
  2411.   /* responding, or the port is inactive, or the DLC is inactive.            */
  2412.   /***************************************************************************/
  2413.   unsigned short  max_activation_attempts;
  2414.  
  2415.   /***************************************************************************/
  2416.   /* Retry delay time, used to pace automatic retries and application        */
  2417.   /* retries, if configured by retry_flags.                                  */
  2418.   /***************************************************************************/
  2419.   unsigned short  activation_delay_timer;
  2420.  
  2421.   /***************************************************************************/
  2422.   /* Branch Extender: Specifies whether this link is an uplink or a          */
  2423.   /* downlink.                                                               */
  2424.   /***************************************************************************/
  2425.   unsigned char   branch_link_type;
  2426.  
  2427.   /***************************************************************************/
  2428.   /* Branch Extender: Specifies whether adjacent CP is allowed, required or  */
  2429.   /* permitted to be a BrNN.  Only valid for Network Nodes.                  */
  2430.   /***************************************************************************/
  2431.   unsigned char   adj_brnn_cp_support;
  2432.  
  2433.   unsigned char   reserv4[20];                   /* reserved                 */
  2434.  
  2435.   /***************************************************************************/
  2436.   /* Link-specific data                                                      */
  2437.   /***************************************************************************/
  2438.   unsigned short  link_spec_data_len;
  2439.  
  2440. } LS_DEF_DATA;
  2441.  
  2442. /**STRUCT-********************************************************************/
  2443.  
  2444.  
  2445. /**STRUCT+********************************************************************/
  2446. /* Structure:   DEFINE_LS                                                    */
  2447. /*                                                                           */
  2448. /* Description: Message to add a new LS_CB or update existing one            */
  2449. /*****************************************************************************/
  2450.  
  2451. typedef struct define_ls
  2452. {
  2453.   /***************************************************************************/
  2454.   /* Standard VCB header.                                                    */
  2455.   /***************************************************************************/
  2456.   unsigned short  opcode;
  2457.   unsigned char   attributes;
  2458.   unsigned char   format;                        /* current format is 0      */
  2459.   unsigned short  primary_rc;
  2460.   unsigned long   secondary_rc;
  2461.  
  2462.   /***************************************************************************/
  2463.   /* Name of the Link Station                                                */
  2464.   /***************************************************************************/
  2465.   unsigned char   ls_name[8];
  2466.  
  2467.   /***************************************************************************/
  2468.   /* Defined data                                                            */
  2469.   /***************************************************************************/
  2470.   LS_DEF_DATA     def_data;
  2471.  
  2472. } DEFINE_LS;
  2473.  
  2474. /**STRUCT-********************************************************************/
  2475.  
  2476.  
  2477. /**STRUCT+********************************************************************/
  2478. /* Structure:   LU_0_TO_3_DEF_DATA                                           */
  2479. /*                                                                           */
  2480. /* Description: Data used to define a LU_0_TO_3                              */
  2481. /*****************************************************************************/
  2482.  
  2483. typedef struct lu_0_to_3_def_data
  2484. {
  2485.   unsigned char   description[RD_LEN];
  2486.   unsigned char   nau_address;
  2487.   unsigned char   pool_name[8];
  2488.   unsigned char   pu_name[8];
  2489.   unsigned char   priority;
  2490.   unsigned char   lu_model;
  2491.   unsigned char   sscp_id[6];
  2492.   unsigned short  timeout;
  2493.   unsigned char   app_spec_def_data[16];
  2494.   unsigned char   model_name[7];
  2495.   unsigned char   term_method;
  2496.   unsigned char   reserv3[16];                   /* reserved                */
  2497. } LU_0_TO_3_DEF_DATA;
  2498.  
  2499. /**STRUCT-********************************************************************/
  2500.  
  2501.  
  2502. /**STRUCT+********************************************************************/
  2503. /* Structure: DEFINE_LU_0_TO_3                                               */
  2504. /*                                                                           */
  2505. /* Description: DEFINE_LU_0_TO_3 verb control block                          */
  2506. /*****************************************************************************/
  2507.  
  2508. typedef struct define_lu_0_to_3
  2509. {
  2510.   unsigned short  opcode;
  2511.   unsigned char   attributes;
  2512.   unsigned char   format;                        /* current format is 1      */
  2513.   unsigned short  primary_rc;
  2514.   unsigned long   secondary_rc;
  2515.   unsigned char   lu_name[8];
  2516.   LU_0_TO_3_DEF_DATA def_data;
  2517. } DEFINE_LU_0_TO_3;
  2518.  
  2519. /**STRUCT-********************************************************************/
  2520.  
  2521.  
  2522. /**STRUCT+********************************************************************/
  2523. /* Structure: DEFINE_LU_0_TO_3_RANGE                                         */
  2524. /*                                                                           */
  2525. /* Description: DEFINE_LU_0_TO_3_RANGE verb control block                    */
  2526. /*****************************************************************************/
  2527.  
  2528. typedef struct define_lu_0_to_3_range
  2529. {
  2530.   unsigned short  opcode;
  2531.   unsigned char   attributes;
  2532.   unsigned char   format;                        /* current format is 1      */
  2533.   unsigned short  primary_rc;
  2534.   unsigned long   secondary_rc;
  2535.   unsigned char   base_name[6];
  2536.   unsigned char   description[RD_LEN];
  2537.   unsigned char   min_nau;
  2538.   unsigned char   max_nau;
  2539.   unsigned char   pool_name[8];
  2540.   unsigned char   pu_name[8];
  2541.   unsigned char   priority;
  2542.   unsigned char   lu_model;
  2543.   unsigned char   sscp_id[6];
  2544.   unsigned short  timeout;
  2545.   unsigned char   app_spec_def_data[16];
  2546.   unsigned char   model_name[7];
  2547.   unsigned char   name_attributes;
  2548.   unsigned char   base_number;
  2549.   unsigned char   term_method;
  2550.   unsigned char   reserv4[14];                   /* reserved                 */
  2551. } DEFINE_LU_0_TO_3_RANGE;
  2552.  
  2553. /**STRUCT-********************************************************************/
  2554.  
  2555.  
  2556. /**STRUCT+********************************************************************/
  2557. /* Structure: DEFINE_LU_POOL                                                 */
  2558. /*                                                                           */
  2559. /* Description: DEFINE_LU_POOL verb control block                            */
  2560. /*****************************************************************************/
  2561.  
  2562. typedef struct define_lu_pool
  2563. {
  2564.   unsigned short  opcode;
  2565.   unsigned char   attributes;
  2566.   unsigned char   format;                        /* current format is 0      */
  2567.   unsigned short  primary_rc;
  2568.   unsigned long   secondary_rc;
  2569.   unsigned char   pool_name[8];
  2570.   unsigned char   description[RD_LEN];
  2571.   unsigned char   reserv3[4];                    /* reserved                 */
  2572.   unsigned short  num_lus;
  2573.   unsigned char   lu_names[10][8];
  2574. } DEFINE_LU_POOL;
  2575.  
  2576. /**STRUCT-********************************************************************/
  2577.  
  2578.  
  2579. /**STRUCT+********************************************************************/
  2580. /* Structure: MODE_CHARS                                                     */
  2581. /*                                                                           */
  2582. /* Description: Mode characteristics - passed in on DEFINE_MODE              */
  2583. /*****************************************************************************/
  2584.  
  2585. typedef struct mode_chars
  2586. {
  2587.   unsigned char   description[RD_LEN];
  2588.   unsigned short  max_ru_size_upp;
  2589.   unsigned char   receive_pacing_win;
  2590.   unsigned char   default_ru_size;
  2591.   unsigned short  max_neg_sess_lim;
  2592.   unsigned short  plu_mode_session_limit;
  2593.   unsigned short  min_conwin_src;
  2594.   unsigned char   cos_name[8];
  2595.   unsigned char   cryptography;
  2596.   unsigned char   compression;
  2597.   unsigned short  auto_act;
  2598.   unsigned short  min_conloser_src;
  2599.   unsigned short  max_ru_size_low;
  2600.   unsigned short  max_receive_pacing_win;
  2601.   unsigned char   max_compress_lvl;
  2602.   unsigned char   max_decompress_lvl;
  2603.   unsigned char   comp_in_series;
  2604.   unsigned char   reserv4[24];                   /* reserved                 */
  2605. } MODE_CHARS;
  2606.  
  2607. /**STRUCT-********************************************************************/
  2608.  
  2609. /**STRUCT+********************************************************************/
  2610. /* Structure: DEFINE_MODE                                                    */
  2611. /*                                                                           */
  2612. /* Description: DEFINE_MODE verb control block                               */
  2613. /*****************************************************************************/
  2614.  
  2615. typedef struct define_mode
  2616. {
  2617.   unsigned short  opcode;
  2618.   unsigned char   reserv2;                       /* reserved                 */
  2619.   unsigned char   format;                        /* current format is 1      */
  2620.   unsigned short  primary_rc;
  2621.   unsigned long   secondary_rc;
  2622.   unsigned char   mode_name[8];
  2623.   unsigned short  reserv3;                       /* reserved                 */
  2624.   MODE_CHARS      mode_chars;
  2625. } DEFINE_MODE;
  2626.  
  2627. /**STRUCT-********************************************************************/
  2628.  
  2629.  
  2630. /**STRUCT+********************************************************************/
  2631. /* Structure: PLU_CHARS                                                      */
  2632. /*                                                                           */
  2633. /* Description: Partner LU characteristics - passed in on DEFINE_PARTNER_LU  */
  2634. /*****************************************************************************/
  2635.  
  2636. typedef struct plu_chars
  2637. {
  2638.   unsigned char   fqplu_name[17];
  2639.   unsigned char   plu_alias[8];
  2640.   unsigned char   description[RD_LEN];
  2641.   unsigned char   plu_un_name[8];
  2642.   unsigned char   preference;
  2643.   unsigned short  max_mc_ll_send_size;
  2644.   unsigned char   conv_security_ver;
  2645.   unsigned char   parallel_sess_supp;
  2646.   unsigned char   reserv2[8];                    /* reserved                 */
  2647. } PLU_CHARS;
  2648.  
  2649. /**STRUCT-********************************************************************/
  2650.  
  2651.  
  2652. /**STRUCT+********************************************************************/
  2653. /* Structure: DEFINE_PARTNER_LU                                              */
  2654. /*                                                                           */
  2655. /* Description: DEFINE_PARTNER_LU verb control block                         */
  2656. /*****************************************************************************/
  2657.  
  2658. typedef struct define_partner_lu
  2659. {
  2660.   unsigned short  opcode;
  2661.   unsigned char   reserv2;                       /* reserved                 */
  2662.   unsigned char   format;                        /* current format is 0      */
  2663.   unsigned short  primary_rc;
  2664.   unsigned long   secondary_rc;
  2665.   PLU_CHARS       plu_chars;
  2666. } DEFINE_PARTNER_LU;
  2667.  
  2668. /**STRUCT-********************************************************************/
  2669.  
  2670.  
  2671. /*****************************************************************************/
  2672. /* Maximum length of full Adapter name                                       */
  2673. /*****************************************************************************/
  2674. #define LLM_ADAPTER_NAME_LEN  64
  2675.  
  2676. /*****************************************************************************/
  2677. /* adapter id  - unique identifier of adapter which is being activated       */
  2678. /*****************************************************************************/
  2679. #define SIZEOF_ADAPTER_ID 8
  2680.  
  2681. /**STRUCT+********************************************************************/
  2682. /* Structure: NDIS_SPEC_DATA                                                 */
  2683. /*                                                                           */
  2684. /* Description: Device specific data for NDIS N-MAC stub                     */
  2685. /*****************************************************************************/
  2686.  
  2687. typedef struct ndis_spec_data
  2688. {
  2689.   /***************************************************************************/
  2690.   /* Receive buffer pool size                                                */
  2691.   /***************************************************************************/
  2692.   unsigned short  pool_size;
  2693.  
  2694.   /***************************************************************************/
  2695.   /* Maximum frame size (including DLC header i.e. sizes a receive buffer)   */
  2696.   /***************************************************************************/
  2697.   unsigned short  frame_size;
  2698.  
  2699.   /***************************************************************************/
  2700.   /* Anticipated number of outstanding transmits                             */
  2701.   /***************************************************************************/
  2702.   unsigned short  num_xmit_descriptors;
  2703.  
  2704.   /***************************************************************************/
  2705.   /* Adapter name - null terminated variable length full name of LAN adapter */
  2706.   /*                to activate                                              */
  2707.   /***************************************************************************/
  2708.   unsigned char   adapter_name[LLM_ADAPTER_NAME_LEN];
  2709.  
  2710. } NDIS_SPEC_DATA;
  2711.  
  2712. /**STRUCT-********************************************************************/
  2713.  
  2714.  
  2715. /*****************************************************************************/
  2716. /* size of LLC_SPEC_DATA and adapter spec data                               */
  2717. /*****************************************************************************/
  2718. #define SIZEOF_LLC_SPEC_DATA            16
  2719. #define SIZEOF_ADAPT_SPEC_DATA          72
  2720.  
  2721. /**STRUCT+********************************************************************/
  2722. /* Structure: LLC_SAP_SPEC_DATA                                              */
  2723. /*                                                                           */
  2724. /* Description: SAP specific data for LLC2 code - flows in ACTIVATE_SAP      */
  2725. /*                                                                           */
  2726. /*****************************************************************************/
  2727.  
  2728. typedef struct llc_sap_spec_data
  2729. {
  2730.    /**************************************************************************/
  2731.    /* time out values                                                        */
  2732.    /**************************************************************************/
  2733.   unsigned short  ack_timeout;
  2734.   unsigned short  p_bit_timeout;
  2735.   unsigned short  t2_timeout;
  2736.   unsigned short  rej_timeout;
  2737.   unsigned short  busy_state_timeout;
  2738.   unsigned short  idle_timeout;
  2739.   unsigned short  max_retry;
  2740.   unsigned short  upward_cred_q_threshold;
  2741.   unsigned short  window_inc_threshold;
  2742.   unsigned short  pad;
  2743. } LLC_SAP_SPEC_DATA;
  2744.  
  2745. #define SIZEOF_SAP_SPEC_DATA 20
  2746.  
  2747. /**STRUCT-********************************************************************/
  2748.  
  2749.  
  2750. /**STRUCT+********************************************************************/
  2751. /* Structure: PROM_MODE_DATA                                                 */
  2752. /*                                                                           */
  2753. /* Description: Fields which control the setting of promiscous mode within   */
  2754. /* the port spec data structure                                              */
  2755. /*                                                                           */
  2756. /*****************************************************************************/
  2757.  
  2758. typedef struct prom_mode_data
  2759. {
  2760.   /***************************************************************************/
  2761.   /* length of LLC2 port spect data                                          */
  2762.   /***************************************************************************/
  2763.   unsigned short  port_spec_data_size;
  2764.  
  2765.   /***************************************************************************/
  2766.   /* Promiscuous mode flag                                                   */
  2767.   /***************************************************************************/
  2768.   unsigned char   promiscuous;
  2769.  
  2770.   /***************************************************************************/
  2771.   /* Dlsw flag - use dlsw filter                                             */
  2772.   /***************************************************************************/
  2773.   unsigned char   dlsw_flag;
  2774.  
  2775.   /***************************************************************************/
  2776.   /* VRN - Virtual ring number - used only if promiscous set to true         */
  2777.   /***************************************************************************/
  2778.   unsigned short  vrn;
  2779.  
  2780.   /***************************************************************************/
  2781.   /* Bridge Number - used with VRN to create a Route Designator              */
  2782.   /***************************************************************************/
  2783.   unsigned short  bridge_num;
  2784.  
  2785. } PROM_MODE_DATA;
  2786.  
  2787. /**STRUCT-********************************************************************/
  2788.  
  2789.  
  2790. /**STRUCT+********************************************************************/
  2791. /* Structure: LLC_PORT_SPEC_DATA                                             */
  2792. /*                                                                           */
  2793. /* Description: PORT specific data for LLC2 code - flows in ACTIVATE_PORT    */
  2794. /*                                                                           */
  2795. /*****************************************************************************/
  2796.  
  2797. typedef struct llc_port_spec_data
  2798. {
  2799.   /***************************************************************************/
  2800.   /* promiscous mode data                                                    */
  2801.   /***************************************************************************/
  2802.   PROM_MODE_DATA  prom_data;
  2803.  
  2804.   /***************************************************************************/
  2805.   /* Sap specific data - time out values for LLC2 stations                   */
  2806.   /***************************************************************************/
  2807.   LLC_SAP_SPEC_DATA sap_spec_data;
  2808.  
  2809.   /***************************************************************************/
  2810.   /* Adapter ID   - This is used to identify the specific adapter to which   */
  2811.   /* this port is attached.                                                  */
  2812.   /***************************************************************************/
  2813.   unsigned char   adapter_id[SIZEOF_ADAPTER_ID];
  2814.  
  2815.   /***************************************************************************/
  2816.   /* adapter specific data - data for the adapter passed thru untouched      */
  2817.   /***************************************************************************/
  2818.   unsigned char   adapt_spec_data[SIZEOF_ADAPT_SPEC_DATA];
  2819.  
  2820.   /***************************************************************************/
  2821.   /* receive flow control fields                                             */
  2822.   /***************************************************************************/
  2823.   unsigned long   max_rcv_pool_kb;
  2824.   unsigned char   throttle_back_pcent;
  2825.   unsigned char   pad[3];
  2826.  
  2827. } LLC_PORT_SPEC_DATA;
  2828.  
  2829. /**STRUCT-********************************************************************/
  2830.  
  2831.  
  2832. /*****************************************************************************/
  2833. /* The following are the Port Spec Data structures for DLC types SDLC,       */
  2834. /* TWINAX and WAC                                                            */
  2835. /*****************************************************************************/
  2836.  
  2837. /**STRUCT+********************************************************************/
  2838. /* Structure:   CfgStackDef                                                  */
  2839. /*                                                                           */
  2840. /* Description: SDLC, TWINAX and WAC port spec data                          */
  2841. /*              The link spec data consists of CfgStackDef followed by one   */
  2842. /*              or more of inst_SDLC, inst_HayesAT, inst_V25bis, inst_Leased,*/
  2843. /*              inst_AsyncAdapter, instSyncAdapter, instListenDef,           */
  2844. /*              inst_TwxAdapter or inst_WacAdapter                           */
  2845. /*                                                                           */
  2846. /*****************************************************************************/
  2847.  
  2848. typedef struct CfgStackDef
  2849. {
  2850.   char            name[16];
  2851.   int             type;
  2852.   int             netCxType;
  2853.   int             enableIncoming;
  2854.   char            layer1Name[16];
  2855.   char            layer2Name[16];
  2856. } CFGSTACKDEF;
  2857.  
  2858. /**STRUCT-********************************************************************/
  2859.  
  2860.  
  2861. /**STRUCT+********************************************************************/
  2862. /* Structure:   inst_HayesAT                                                 */
  2863. /*                                                                           */
  2864. /* Description: Hayes instance data                                          */
  2865. /*                                                                           */
  2866. /*****************************************************************************/
  2867.  
  2868. typedef struct inst_HayesAT
  2869. {
  2870.   unsigned long   length;
  2871.   enum ECfgInstType itype;                       /* eHayesAT                 */
  2872.   char            name[16];
  2873.   char            factoryName[16];
  2874.   char            modemName[256];
  2875.   char            portName[16];
  2876.   char            dialogName[16];
  2877. } INST_HAYESAT;
  2878.  
  2879. /**STRUCT-********************************************************************/
  2880.  
  2881.  
  2882. /**STRUCT+********************************************************************/
  2883. /* Structure:   inst_V25bis                                                  */
  2884. /*                                                                           */
  2885. /* Description: V25 instance data                                            */
  2886. /*                                                                           */
  2887. /*****************************************************************************/
  2888.  
  2889. typedef struct inst_V25bis
  2890. {
  2891.   unsigned long   length;
  2892.   enum ECfgInstType itype;                       /* eV25bis                  */
  2893.   char            name[16];
  2894.   char            factoryName[16];
  2895.   char            dialogName[16];
  2896. } INST_V25BIS;
  2897.  
  2898. /**STRUCT-********************************************************************/
  2899.  
  2900.  
  2901. /**STRUCT+********************************************************************/
  2902. /* Structure:   inst_Leased                                                  */
  2903. /*                                                                           */
  2904. /* Description: Leased instance data                                         */
  2905. /*                                                                           */
  2906. /*****************************************************************************/
  2907.  
  2908. typedef struct inst_Leased
  2909. {
  2910.   unsigned long   length;
  2911.   enum ECfgInstType itype;                       /* eLeased                  */
  2912.   char            name[16];
  2913.   char            factoryName[16];
  2914. } INST_LEASED;
  2915.  
  2916. /**STRUCT-********************************************************************/
  2917.  
  2918.  
  2919. /**STRUCT+********************************************************************/
  2920. /* Structure:   inst_AsyncAdapter                                            */
  2921. /*                                                                           */
  2922. /* Description: Async Adapter instance data                                  */
  2923. /*                                                                           */
  2924. /*****************************************************************************/
  2925.  
  2926. typedef struct inst_AsyncAdapter
  2927. {
  2928.   unsigned long   length;
  2929.   enum ECfgInstType itype;                       /* eAsyncAdapter            */
  2930.   char            name[16];
  2931.   char            factoryName[16];
  2932.   unsigned short  baseAddress;
  2933.   unsigned short  IRQLevel;
  2934.   unsigned short  maxFrameSize;
  2935.   unsigned short  maxRxBuffers;
  2936.   char            port[16];
  2937. } INST_ASYNCADAPTER;
  2938.  
  2939. /**STRUCT-********************************************************************/
  2940.  
  2941.  
  2942. /**STRUCT+********************************************************************/
  2943. /* Structure:   inst_SyncAdapter                                             */
  2944. /*                                                                           */
  2945. /* Description: Sync Adapter instance data                                   */
  2946. /*                                                                           */
  2947. /*****************************************************************************/
  2948.  
  2949. typedef struct inst_SyncAdapter
  2950. {
  2951.   unsigned long   length;
  2952.   enum ECfgInstType itype;                       /* eSyncAdapter             */
  2953.   char            name[16];
  2954.   char            factoryName[16];
  2955.   unsigned short  IRQLevel;
  2956.   unsigned short  modemStatusIRQ;
  2957.   unsigned short  maxFrameSize;
  2958.   unsigned short  maxRxBuffers;
  2959.   int             defaultEncoding;
  2960.   int             constantRTS;
  2961.   char            port[16];
  2962. } INST_SYNCADAPTER;
  2963.  
  2964. /**STRUCT-********************************************************************/
  2965.  
  2966. /**STRUCT+********************************************************************/
  2967. /* Structure:   inst_OemAdapter                                              */
  2968. /*                                                                           */
  2969. /* Description: Oem Shallow Adapter instance data                            */
  2970. /*                                                                           */
  2971. /*****************************************************************************/
  2972.  
  2973. typedef struct inst_OemAdapter
  2974. {
  2975.   unsigned long   length;
  2976.   enum ECfgInstType itype;                       /* eOemAdapter              */
  2977.   char            name[16];
  2978.   char            factoryName[16];
  2979.   char            port[16];
  2980.   unsigned short  maxFrameSize;
  2981.   unsigned short  maxRxBuffers;
  2982.   int             defaultEncoding;
  2983.   int             constantRTS;
  2984.   int             dumbCardInterface;
  2985.   int             fullDuplex;
  2986.   int             OemDataLength;
  2987.   unsigned char   OemData[256];
  2988. } INST_OEMADAPTER;
  2989.  
  2990. /**STRUCT-********************************************************************/
  2991.  
  2992. /**STRUCT+********************************************************************/
  2993. /* Structure:   inst_ListenDef                                               */
  2994. /*                                                                           */
  2995. /* Description: Listen Def instance data                                     */
  2996. /*                                                                           */
  2997. /*****************************************************************************/
  2998.  
  2999. typedef struct inst_ListenDef
  3000. {
  3001.   unsigned long   length;
  3002.   enum ECfgInstType itype;                       /* eCx                      */
  3003.   char            name[16];
  3004.   char            stackName[16];
  3005.   char            dlcName[16];
  3006.   int             netCxType;
  3007.   int             framingMethod;
  3008.   int             portSpeed;
  3009.   int             encodingScheme;
  3010.   int             destaddrcnt;
  3011.   char            destaddr[8][64];
  3012. } INST_LISTENDEF;
  3013.  
  3014. /**STRUCT-********************************************************************/
  3015.  
  3016.  
  3017. /**STRUCT+********************************************************************/
  3018. /* Structure:   inst_TwxAdapter                                              */
  3019. /*                                                                           */
  3020. /* Description: Twinax Adapter instance data                                 */
  3021. /*                                                                           */
  3022. /*****************************************************************************/
  3023.  
  3024. typedef struct inst_TwxAdapter
  3025. {
  3026.   unsigned long   length;
  3027.   enum ECfgInstType itype;                       /* eTwinaxAdapter           */
  3028.   char            name[16];
  3029.   char            factoryName[16];
  3030.   int             adapterType;
  3031.   int             IRQLevel;
  3032.   int             memoryAddress;
  3033.   int             IOAddress;
  3034.   int             maxFrameSize;
  3035.   char            port[16];
  3036. } INST_TWXADAPTER;
  3037.  
  3038. /**STRUCT-********************************************************************/
  3039.  
  3040.  
  3041. /**STRUCT+********************************************************************/
  3042. /* Structure:   inst_WacAdapter                                              */
  3043. /*                                                                           */
  3044. /* Description: WAC Adapter instance data                                    */
  3045. /*                                                                           */
  3046. /*****************************************************************************/
  3047.  
  3048. typedef struct inst_WacAdapter {
  3049.   unsigned long  length;
  3050.   enum ECfgInstType itype;                       /* eWacAdapter              */
  3051.   char           name[16];
  3052.   char           factoryName[16];
  3053.   unsigned short maxFrameSize;
  3054.   unsigned short maxRxBuffers;
  3055.   int            defaultEncoding;
  3056.   int            constantRTS;
  3057.   unsigned long  memoryAddress;
  3058.   char           port[16];
  3059.   unsigned short flags;
  3060. } INST_WACADAPTER;
  3061.  
  3062. /**STRUCT-********************************************************************/
  3063.  
  3064.  
  3065. /**STRUCT+********************************************************************/
  3066. /* Structure:   PORT_SPEC_DATA                                               */
  3067. /*                                                                           */
  3068. /* Description: Contains data related to a specific Port                     */
  3069. /*****************************************************************************/
  3070.  
  3071. typedef struct port_spec_data
  3072. {
  3073. #define SIZEOF_PORT_SPEC_DATA 1600
  3074.   unsigned char   port_data[SIZEOF_PORT_SPEC_DATA];
  3075. } PORT_SPEC_DATA;
  3076.  
  3077. /**STRUCT-********************************************************************/
  3078.  
  3079.  
  3080. /*****************************************************************************/
  3081. /* Port Number used by DLC to identify the port                              */
  3082. /*****************************************************************************/
  3083. #define NULL_PORT_NUMBER 0L
  3084.  
  3085. /**STRUCT+********************************************************************/
  3086. /* Structure:   PORT_DEF_DATA                                                */
  3087. /*                                                                           */
  3088. /* Description: Contains data related to a port and passed in on the         */
  3089. /* DEFINE_PORT from the NOF                                                  */
  3090. /*****************************************************************************/
  3091.  
  3092. typedef struct port_def_data
  3093. {
  3094.   unsigned char   description[RD_LEN];
  3095.  
  3096.   /***************************************************************************/
  3097.   /* DLC Name - DLC associated with this port.  Defined before the port.     */
  3098.   /***************************************************************************/
  3099.   unsigned char   dlc_name[8];
  3100.  
  3101.   /***************************************************************************/
  3102.   /* Port Type - the type of the port.  Can be:                              */
  3103.   /* nonswitched - used for nonswitched (leased line etc.) connections       */
  3104.   /* switched    - used for switched (e.g. dialed line) connections          */
  3105.   /* SATF        - used for a Shared Access Transport Facility (e.g. TR)     */
  3106.   /* Note the types are bit-testable so table of allowed types for given DLC */
  3107.   /* type in ncs.h can be set up.                                            */
  3108.   /***************************************************************************/
  3109.   unsigned char   port_type;
  3110.  
  3111.   /***************************************************************************/
  3112.   /* Port Attributes                                                         */
  3113.   /***************************************************************************/
  3114.   unsigned char   port_attributes[4];
  3115.  
  3116.   /***************************************************************************/
  3117.   /* Specifies whether implicit link stations off this port are uplink or    */
  3118.   /* downlink if the adjacent node is an end node.                           */
  3119.   /***************************************************************************/
  3120.   unsigned char   implicit_uplink_to_en;
  3121.  
  3122.   unsigned char   reserv3[2];
  3123.  
  3124.  
  3125.   /***************************************************************************/
  3126.   /* Port Number - used by DLC to identify the port.                         */
  3127.   /***************************************************************************/
  3128.   unsigned long   port_number;
  3129.  
  3130.   /***************************************************************************/
  3131.   /* Maximum Receive BTU Size - that a link station on this port can         */
  3132.   /* receive.  Sent to the port on ACTIVATE_PORT (differs from FAP...)       */
  3133.   /***************************************************************************/
  3134.   unsigned short  max_rcv_btu_size;
  3135.  
  3136.   /***************************************************************************/
  3137.   /* Desired Total, Inbound, Outbound Link-activation Limits.  Desired max.  */
  3138.   /* number of active logical links on this port (negotiated with DLC).      */
  3139.   /* Total >= Inbound+Outbound.  See p9-212 of Node Ref for restrictions.    */
  3140.   /***************************************************************************/
  3141.   unsigned short  tot_link_act_lim;
  3142.   unsigned short  inb_link_act_lim;
  3143.   unsigned short  out_link_act_lim;
  3144.  
  3145.   /***************************************************************************/
  3146.   /* Link Station Role - initial role for all TGs through the port.  Always  */
  3147.   /* negotiable for SATF ports.  Sent on XID3s for link stations on port.    */
  3148.   /***************************************************************************/
  3149.   unsigned char   ls_role;
  3150.  
  3151.   /***************************************************************************/
  3152.   /* Conditions for automatic retry                                          */
  3153.   /***************************************************************************/
  3154.   unsigned char   retry_flags;
  3155.  
  3156.   /***************************************************************************/
  3157.   /* Maximum allowed number of automatic retries if the remote node is not   */
  3158.   /* responding, or the port is inactive, or the DLC is inactive.            */
  3159.   /***************************************************************************/
  3160.   unsigned short  max_activation_attempts;
  3161.  
  3162.   /***************************************************************************/
  3163.   /* Retry delay time, used to pace automatic retries and application        */
  3164.   /* retries, if configured by retry_flags.                                  */
  3165.   /***************************************************************************/
  3166.   unsigned short  activation_delay_timer;
  3167.  
  3168.   unsigned char   reserv1[10];                   /* reserved                 */
  3169.  
  3170.   unsigned char   implicit_dspu_template[8];
  3171.   unsigned short  implicit_ls_limit;
  3172.   unsigned char   reserv2;
  3173.  
  3174.  
  3175.   /***************************************************************************/
  3176.   /* Implicit dspu support - the support for dspu's on implicit links.       */
  3177.   /* Can be AP_NONE, AP_DLUR or AP_PU_CONCENTRATION                          */
  3178.   /***************************************************************************/
  3179.   unsigned char   implicit_dspu_services;
  3180.  
  3181.   /***************************************************************************/
  3182.   /* link deactivation timer for implicit links (in seconds)                 */
  3183.   /***************************************************************************/
  3184.   unsigned short  implicit_deact_timer;
  3185.  
  3186.   /***************************************************************************/
  3187.   /* Activation XID Exchange Limit - max number of XID exchanges in link     */
  3188.   /* activation.  Set high enough to handle various retries (p9-221 in NRef).*/
  3189.   /***************************************************************************/
  3190.   unsigned short  act_xid_exchange_limit;
  3191.  
  3192.   /***************************************************************************/
  3193.   /* Nonactivation XID Exchange Limit - max number of XID exchanges during a */
  3194.   /* nonactivation exchange.  Again set high.                                */
  3195.   /***************************************************************************/
  3196.   unsigned short  nonact_xid_exchange_limit;
  3197.  
  3198.   /***************************************************************************/
  3199.   /* Link-Station Transmit-Receive Capability.  Is the port two-way          */
  3200.   /* alternating or two-way simultaneous.  Used in XID3.                     */
  3201.   /***************************************************************************/
  3202.   unsigned char   ls_xmit_rcv_cap;
  3203.  
  3204.   /***************************************************************************/
  3205.   /* Maximum Number of I-Frames That Can be Received by the XID Sender       */
  3206.   /* Before Acknowlegment.  Implies modulus for send/receive sequence        */
  3207.   /* counts.  Sent in the XID3.  See p9-224 for discusion of implied moduli. */
  3208.   /***************************************************************************/
  3209.   unsigned char   max_ifrm_rcvd;
  3210.  
  3211.   /***************************************************************************/
  3212.   /* Old LS parms fields - old field called ls_defaults                      */
  3213.   /* Link_spec_data moved to end                                             */
  3214.   /***************************************************************************/
  3215.   /***************************************************************************/
  3216.   /* Target pacing count                                                     */
  3217.   /***************************************************************************/
  3218.   unsigned short  target_pacing_count;
  3219.  
  3220.   /***************************************************************************/
  3221.   /* Desired maximum send BTU size                                           */
  3222.   /***************************************************************************/
  3223.   unsigned short  max_send_btu_size;
  3224.  
  3225.   /***************************************************************************/
  3226.   /* port characteristics                                                    */
  3227.   /***************************************************************************/
  3228.  
  3229.   /***************************************************************************/
  3230.   /* DLC Data (DLC signalling information for VRN)                           */
  3231.   /***************************************************************************/
  3232.   LINK_ADDRESS    dlc_data;
  3233.  
  3234.   /***************************************************************************/
  3235.   /* DLC Data (DLC signalling information for HPR data)                      */
  3236.   /***************************************************************************/
  3237.   LINK_ADDRESS    hpr_dlc_data;
  3238.  
  3239.   /***************************************************************************/
  3240.   /* Implicit fields - alter the behaviour of IMPLICIT LS's                  */
  3241.   /***************************************************************************/
  3242.   unsigned char   implicit_cp_cp_sess_support;
  3243.   unsigned char   implicit_limited_resource;
  3244.   unsigned char   implicit_hpr_support;
  3245.   unsigned char   implicit_link_lvl_error;
  3246.   unsigned char   retired1;                       /* reserved                */
  3247.  
  3248.   /***************************************************************************/
  3249.   /* Default TG Chars - used for DEFINE_LS or implicit links                 */
  3250.   /***************************************************************************/
  3251.   TG_DEFINED_CHARS default_tg_chars;
  3252.   unsigned char   discovery_supported;
  3253.  
  3254.   /***************************************************************************/
  3255.   /* Port and link specific data                                             */
  3256.   /***************************************************************************/
  3257.   unsigned short  port_spec_data_len;
  3258.   unsigned short  link_spec_data_len;
  3259.  
  3260. } PORT_DEF_DATA;
  3261.  
  3262. /**STRUCT-********************************************************************/
  3263.  
  3264.  
  3265. /**STRUCT+********************************************************************/
  3266. /* Structure:   DEFINE_PORT                                                  */
  3267. /*                                                                           */
  3268. /* Description: Message to add a new PORT_CB or update existing one          */
  3269. /*****************************************************************************/
  3270.  
  3271. typedef struct define_port
  3272. {
  3273.   /***************************************************************************/
  3274.   /* Standard VCB header.                                                    */
  3275.   /***************************************************************************/
  3276.   unsigned short  opcode;
  3277.   unsigned char   attributes;
  3278.   unsigned char   format;                        /* current format is 0      */
  3279.   unsigned short  primary_rc;
  3280.   unsigned long   secondary_rc;
  3281.  
  3282.   /***************************************************************************/
  3283.   /* Name of the Port                                                        */
  3284.   /***************************************************************************/
  3285.   unsigned char   port_name[8];
  3286.  
  3287.   /***************************************************************************/
  3288.   /* Defined Data                                                            */
  3289.   /***************************************************************************/
  3290.   PORT_DEF_DATA   def_data;
  3291.  
  3292. } DEFINE_PORT;
  3293.  
  3294. /**STRUCT-********************************************************************/
  3295.  
  3296.  
  3297. /**STRUCT+********************************************************************/
  3298. /* Structure: TP_CHARS                                                       */
  3299. /*                                                                           */
  3300. /* Description: TP characteristics - passed in on DEFINE_TP                  */
  3301. /*****************************************************************************/
  3302.  
  3303. typedef struct tp_chars
  3304. {
  3305.   unsigned char   description[RD_LEN];
  3306.   unsigned char   conv_type;
  3307.   unsigned char   security_rqd;
  3308.   unsigned char   sync_level;
  3309.   unsigned char   dynamic_load;
  3310.   unsigned char   enabled;
  3311.   unsigned char   pip_allowed;
  3312.   unsigned char   duplex_support;
  3313.   unsigned char   reserv3[9];                     /* reserved               */
  3314.   unsigned short  tp_instance_limit;
  3315.   unsigned short  incoming_alloc_timeout;
  3316.   unsigned short  rcv_alloc_timeout;
  3317.   unsigned short  tp_data_len;
  3318.   TP_SPEC_DATA    tp_data;                       /* product-specific TP data */
  3319. } TP_CHARS;
  3320.  
  3321. /**STRUCT-********************************************************************/
  3322.  
  3323.  
  3324. /**STRUCT+********************************************************************/
  3325. /* Structure: DEFINE_TP                                                      */
  3326. /*                                                                           */
  3327. /* Description: DEFINE_TP verb control block                                 */
  3328. /*****************************************************************************/
  3329.  
  3330. typedef struct define_tp
  3331. {
  3332.   unsigned short  opcode;
  3333.   unsigned char   attributes;                    /* reserved                 */
  3334.   unsigned char   format;                        /* current format is 0      */
  3335.   unsigned short  primary_rc;
  3336.   unsigned long   secondary_rc;
  3337.   unsigned char   tp_name[64];
  3338.   TP_CHARS        tp_chars;
  3339. } DEFINE_TP;
  3340.  
  3341. /**STRUCT-********************************************************************/
  3342.  
  3343.  
  3344. /*****************************************************************************/
  3345. /* The security_user_id and security_password fields in CPIC side info       */
  3346. /* can be 8 or 10 bytes long.  The version 1.2 CPI-C spec specifies 10       */
  3347. /* bytes, but for backwards compatibility, 8 may be selected.                */
  3348. /*****************************************************************************/
  3349. #define CPIC_SECURITY_INFO_LEN 10
  3350.  
  3351. /**STRUCT+********************************************************************/
  3352. /* Structure: CPIC_SIDE_INFO                                                 */
  3353. /*                                                                           */
  3354. /* Description: struct used by xcmssi and xcmesi to define side information  */
  3355. /*****************************************************************************/
  3356.  
  3357. typedef struct cpic_side_info
  3358. {
  3359.   unsigned char   partner_lu_name[17];
  3360.   unsigned char   reserved[3];                     /* reserved               */
  3361.   unsigned long   tp_name_type;
  3362.   unsigned char   tp_name[64];
  3363.   unsigned char   mode_name[8];
  3364.   unsigned long   conversation_security_type;
  3365.   unsigned char   security_user_id[CPIC_SECURITY_INFO_LEN];
  3366.   unsigned char   security_password[CPIC_SECURITY_INFO_LEN];
  3367. } CPIC_SIDE_INFO;
  3368.  
  3369. /**STRUCT-********************************************************************/
  3370.  
  3371.  
  3372. /**STRUCT+********************************************************************/
  3373. /* Structure:   CPIC_SIDE_INFO_DEF_DATA                                      */
  3374. /*                                                                           */
  3375. /* Description: Defined Data for CPI-C side information entry                */
  3376. /*****************************************************************************/
  3377.  
  3378. typedef struct cpic_side_info_def_data
  3379. {
  3380.   unsigned char   description[RD_LEN];
  3381.   CPIC_SIDE_INFO  side_info;
  3382.   unsigned char   user_data[32];
  3383. } CPIC_SIDE_INFO_DEF_DATA;
  3384.  
  3385. /**STRUCT-********************************************************************/
  3386.  
  3387.  
  3388. /**STRUCT+********************************************************************/
  3389. /* Structure:   DEFINE_CPIC_SIDE_INFO                                        */
  3390. /*                                                                           */
  3391. /* Description: Message to add a new CPI-C side information entry            */
  3392. /*****************************************************************************/
  3393.  
  3394. typedef struct define_cpic_side_info
  3395. {
  3396.   /***************************************************************************/
  3397.   /* Standard VCB header.                                                    */
  3398.   /***************************************************************************/
  3399.   unsigned short  opcode;
  3400.   unsigned char   reserv2;                       /* reserved                 */
  3401.   unsigned char   format;                        /* current format is 0      */
  3402.   unsigned short  primary_rc;
  3403.   unsigned long   secondary_rc;
  3404.   unsigned char   reserv2a[8];                   /* reserved                 */
  3405.   unsigned char   sym_dest_name[8];
  3406.   CPIC_SIDE_INFO_DEF_DATA def_data;
  3407. } DEFINE_CPIC_SIDE_INFO;
  3408.  
  3409. /**STRUCT-********************************************************************/
  3410.  
  3411.  
  3412. #ifdef PU_CONC_SUPPORTED
  3413. /**STRUCT+********************************************************************/
  3414. /* Structure:   DOWNSTREAM_LU_DEF_DATA                                       */
  3415. /*                                                                           */
  3416. /* Description: Parameters used for defining downstream lus                  */
  3417. /*****************************************************************************/
  3418.  
  3419. typedef struct downstream_lu_def_data
  3420. {
  3421.   unsigned char   description[RD_LEN];
  3422.   unsigned char   nau_address;
  3423.   unsigned char   dspu_name[8];
  3424.   unsigned char   host_lu_name[8];
  3425.   unsigned char   allow_timeout;
  3426.   unsigned char   delayed_logon;
  3427.   unsigned char   reserv2[6];                    /* reserved                 */
  3428. } DOWNSTREAM_LU_DEF_DATA;
  3429.  
  3430. /**STRUCT-********************************************************************/
  3431.  
  3432.  
  3433. /**STRUCT+********************************************************************/
  3434. /* Structure: DEFINE_DOWNSTREAM_LU                                           */
  3435. /*                                                                           */
  3436. /* Description: DEFINE_DOWNSTREAM_LU verb control block                      */
  3437. /*****************************************************************************/
  3438.  
  3439. typedef struct define_downstream_lu
  3440. {
  3441.   unsigned short  opcode;
  3442.   unsigned char   attributes;
  3443.   unsigned char   format;                        /* current format is 0      */
  3444.   unsigned short  primary_rc;
  3445.   unsigned long   secondary_rc;
  3446.   unsigned char   dslu_name[8];
  3447.   DOWNSTREAM_LU_DEF_DATA def_data;
  3448. } DEFINE_DOWNSTREAM_LU;
  3449.  
  3450. /**STRUCT-********************************************************************/
  3451.  
  3452.  
  3453. /**STRUCT+********************************************************************/
  3454. /* Structure: DEFINE_DOWNSTREAM_LU_RANGE                                     */
  3455. /*                                                                           */
  3456. /* Description: DEFINE_DOWNSTREAM_LU_RANGE verb control block                */
  3457. /*****************************************************************************/
  3458.  
  3459. typedef struct define_downstream_lu_range
  3460. {
  3461.   unsigned short  opcode;
  3462.   unsigned char   attributes;
  3463.   unsigned char   format;                        /* current format is 0      */
  3464.   unsigned short  primary_rc;
  3465.   unsigned long   secondary_rc;
  3466.   unsigned char   dslu_base_name[5];
  3467.   unsigned char   reserv3;                       /* reserved                 */
  3468.   unsigned char   description[RD_LEN];
  3469.   unsigned char   min_nau;
  3470.   unsigned char   max_nau;
  3471.   unsigned char   dspu_name[8];
  3472.   unsigned char   host_lu_name[8];
  3473.   unsigned char   allow_timeout;
  3474.   unsigned char   delayed_logon;
  3475.   unsigned char   reserv4[6];                    /* reserved                 */
  3476. } DEFINE_DOWNSTREAM_LU_RANGE;
  3477.  
  3478. /**STRUCT-********************************************************************/
  3479. #endif
  3480.  
  3481.  
  3482. /**STRUCT+********************************************************************/
  3483. /* Structure: DELETE_ADJACENT_LEN_NODE                                       */
  3484. /*                                                                           */
  3485. /* Description: DELETE_ADJACENT_LEN_NODE verb control block                  */
  3486. /*****************************************************************************/
  3487.  
  3488. typedef struct delete_adjacent_len_node
  3489. {
  3490.   unsigned short  opcode;
  3491.   unsigned char   reserv2;                       /* reserved                 */
  3492.   unsigned char   format;                        /* current format is 0      */
  3493.   unsigned short  primary_rc;
  3494.   unsigned long   secondary_rc;
  3495.   unsigned char   cp_name[17];
  3496.   unsigned char   num_of_lus;
  3497.   unsigned char   lu_names[10][8];
  3498.   unsigned char   wildcard_lus;
  3499. } DELETE_ADJACENT_LEN_NODE;
  3500.  
  3501. /**STRUCT-********************************************************************/
  3502.  
  3503.  
  3504. /**STRUCT+********************************************************************/
  3505. /* Structure: DELETE_ADJACENT_NODE                                           */
  3506. /*                                                                           */
  3507. /* Description: DELETE_ADJACENT_NODE verb control block                      */
  3508. /*****************************************************************************/
  3509.  
  3510. typedef struct delete_adjacent_node
  3511. {
  3512.   unsigned short  opcode;
  3513.   unsigned char   reserv2;                       /* reserved                 */
  3514.   unsigned char   format;                        /* current format is 0      */
  3515.   unsigned short  primary_rc;
  3516.   unsigned long   secondary_rc;
  3517.   unsigned char   cp_name[17];
  3518.   unsigned char   reserv3[3];                    /* reserved                 */
  3519.   unsigned short  num_of_lus;
  3520. } DELETE_ADJACENT_NODE;
  3521.  
  3522. /**STRUCT-********************************************************************/
  3523.  
  3524.  
  3525. /**STRUCT+********************************************************************/
  3526. /* Structure:   DELETE_CN                                                    */
  3527. /*                                                                           */
  3528. /* Description: Message to delete a CN_CB                                    */
  3529. /*****************************************************************************/
  3530.  
  3531. typedef struct delete_cn
  3532. {
  3533.   /***************************************************************************/
  3534.   /* Standard VCB header.                                                    */
  3535.   /***************************************************************************/
  3536.   unsigned short  opcode;
  3537.   unsigned char   attributes;
  3538.   unsigned char   format;                        /* current format is 0      */
  3539.   unsigned short  primary_rc;
  3540.   unsigned long   secondary_rc;
  3541.  
  3542.   /***************************************************************************/
  3543.   /* Name of the Connection Network                                          */
  3544.   /***************************************************************************/
  3545.   unsigned char   fqcn_name[17];
  3546.   unsigned char   reserv1;                       /* reserved                 */
  3547.   unsigned short  num_ports;
  3548.   unsigned char   port_name[MAX_PORTS_PER_DEFINE][8];
  3549.  
  3550. } DELETE_CN;
  3551.  
  3552. /**STRUCT-********************************************************************/
  3553.  
  3554.  
  3555. /**STRUCT+********************************************************************/
  3556. /* Structure: DELETE_COS                                                     */
  3557. /*                                                                           */
  3558. /* Description: DELETE_COS verb control block                                */
  3559. /*****************************************************************************/
  3560.  
  3561. typedef struct delete_cos
  3562. {
  3563.   unsigned short  opcode;
  3564.   unsigned char   reserv2;                       /* reserved                 */
  3565.   unsigned char   format;                        /* current format is 0      */
  3566.   unsigned short  primary_rc;
  3567.   unsigned long   secondary_rc;
  3568.   unsigned char   cos_name[8];
  3569. } DELETE_COS;
  3570.  
  3571. /**STRUCT-********************************************************************/
  3572.  
  3573.  
  3574. /**STRUCT+********************************************************************/
  3575. /* Structure:   DELETE_DLC                                                   */
  3576. /*                                                                           */
  3577. /* Description: Message to delete a DLC_CB                                   */
  3578. /*****************************************************************************/
  3579.  
  3580. typedef struct delete_dlc
  3581. {
  3582.   /***************************************************************************/
  3583.   /* Standard VCB header.                                                    */
  3584.   /***************************************************************************/
  3585.   unsigned short  opcode;
  3586.   unsigned char   attributes;
  3587.   unsigned char   format;                        /* current format is 0      */
  3588.   unsigned short  primary_rc;
  3589.   unsigned long   secondary_rc;
  3590.  
  3591.   /***************************************************************************/
  3592.   /* Name of the Data Link Control                                           */
  3593.   /***************************************************************************/
  3594.   unsigned char   dlc_name[8];
  3595.  
  3596. } DELETE_DLC;
  3597.  
  3598. /**STRUCT-********************************************************************/
  3599.  
  3600.  
  3601. /**STRUCT+********************************************************************/
  3602. /* Structure: DELETE_FOCAL_POINT                                             */
  3603. /*                                                                           */
  3604. /* Description: Allows the operator to delete a focal point                  */
  3605. /*****************************************************************************/
  3606.  
  3607. typedef struct delete_focal_point
  3608. {
  3609.   unsigned short   opcode;
  3610.   unsigned char    reserv2;                 /* reserved                      */
  3611.   unsigned char    format;                       /* current format is 0      */
  3612.   unsigned short   primary_rc;
  3613.   unsigned long    secondary_rc;
  3614.   unsigned char    reserved;                /* reserved                      */
  3615.   unsigned char    ms_category[8];
  3616.   unsigned char    type;
  3617. } DELETE_FOCAL_POINT;
  3618.  
  3619. /**STRUCT-********************************************************************/
  3620.  
  3621.  
  3622. /**STRUCT+********************************************************************/
  3623. /* Structure:   DELETE_INTERNAL_PU                                           */
  3624. /*                                                                           */
  3625. /* Description: Message to delete a DLUR-supported PU                        */
  3626. /*****************************************************************************/
  3627.  
  3628. typedef struct delete_internal_pu
  3629. {
  3630.   /***************************************************************************/
  3631.   /* Standard VCB header.                                                    */
  3632.   /***************************************************************************/
  3633.   unsigned short  opcode;
  3634.   unsigned char   attributes;
  3635.   unsigned char   format;                        /* current format is 0      */
  3636.   unsigned short  primary_rc;
  3637.   unsigned long   secondary_rc;
  3638.  
  3639.   /***************************************************************************/
  3640.   /* Name of the PU                                                          */
  3641.   /***************************************************************************/
  3642.   unsigned char   pu_name[8];
  3643.  
  3644. } DELETE_INTERNAL_PU;
  3645.  
  3646. /**STRUCT-********************************************************************/
  3647.  
  3648.  
  3649. /**STRUCT+********************************************************************/
  3650. /* Structure: DELETE_LOCAL_LU                                                */
  3651. /*                                                                           */
  3652. /* Description: DELETE_LOCAL_LU verb control block                           */
  3653. /*****************************************************************************/
  3654.  
  3655. typedef struct delete_local_lu
  3656. {
  3657.   unsigned short  opcode;
  3658.   unsigned char   reserv2;                       /* reserved                 */
  3659.   unsigned char   format;                        /* current format is 0      */
  3660.   unsigned short  primary_rc;
  3661.   unsigned long   secondary_rc;
  3662.   unsigned char   lu_name[8];
  3663. } DELETE_LOCAL_LU;
  3664.  
  3665. /**STRUCT-********************************************************************/
  3666.  
  3667.  
  3668. /**STRUCT+********************************************************************/
  3669. /* Structure:   DELETE_LS                                                    */
  3670. /*                                                                           */
  3671. /* Description: Message to delete an LS_CB                                   */
  3672. /*****************************************************************************/
  3673.  
  3674. typedef struct delete_ls
  3675. {
  3676.   /***************************************************************************/
  3677.   /* Standard VCB header.                                                    */
  3678.   /***************************************************************************/
  3679.   unsigned short  opcode;
  3680.   unsigned char   attributes;
  3681.   unsigned char   format;                        /* current format is 0      */
  3682.   unsigned short  primary_rc;
  3683.   unsigned long   secondary_rc;
  3684.  
  3685.   /***************************************************************************/
  3686.   /* Name of the Link Station                                                */
  3687.   /***************************************************************************/
  3688.   unsigned char   ls_name[8];
  3689.  
  3690. } DELETE_LS;
  3691.  
  3692. /**STRUCT-********************************************************************/
  3693.  
  3694.  
  3695. /**STRUCT+********************************************************************/
  3696. /* Structure: DELETE_LU_0_TO_3                                               */
  3697. /*                                                                           */
  3698. /* Description: DELETE_LU_0_TO_3 verb control block                          */
  3699. /*****************************************************************************/
  3700.  
  3701. typedef struct delete_lu_0_to_3
  3702. {
  3703.   unsigned short  opcode;
  3704.   unsigned char   attributes;
  3705.   unsigned char   format;                        /* current format is 0      */
  3706.   unsigned short  primary_rc;
  3707.   unsigned long   secondary_rc;
  3708.   unsigned char   lu_name[8];
  3709. } DELETE_LU_0_TO_3;
  3710.  
  3711. /**STRUCT-********************************************************************/
  3712.  
  3713.  
  3714. /**STRUCT+********************************************************************/
  3715. /* Structure: DELETE_LU_0_TO_3_RANGE                                         */
  3716. /*                                                                           */
  3717. /* Description: DELETE_LU_0_TO_3_RANGE verb control block                    */
  3718. /*****************************************************************************/
  3719.  
  3720. typedef struct delete_lu_0_to_3_range
  3721. {
  3722.   unsigned short  opcode;
  3723.   unsigned char   attributes;
  3724.   unsigned char   format;                        /* current format is 1      */
  3725.   unsigned short  primary_rc;
  3726.   unsigned long   secondary_rc;
  3727.   unsigned char   base_name[6];
  3728.   unsigned char   min_nau;
  3729.   unsigned char   max_nau;
  3730.   unsigned char   name_attributes;
  3731.   unsigned char   base_number;
  3732.   unsigned char   reserv5[16];                   /* reserved                 */
  3733. } DELETE_LU_0_TO_3_RANGE;
  3734.  
  3735. /**STRUCT-********************************************************************/
  3736.  
  3737.  
  3738. /**STRUCT+********************************************************************/
  3739. /* Structure: DELETE_LU_POOL                                                 */
  3740. /*                                                                           */
  3741. /* Description: DELETE_LU_POOL verb control block                            */
  3742. /*****************************************************************************/
  3743.  
  3744. typedef struct delete_lu_pool
  3745. {
  3746.   unsigned short  opcode;
  3747.   unsigned char   attributes;
  3748.   unsigned char   format;                        /* current format is 0      */
  3749.   unsigned short  primary_rc;
  3750.   unsigned long   secondary_rc;
  3751.   unsigned char   pool_name[8];
  3752.   unsigned short  num_lus;
  3753.   unsigned char   lu_names[10][8];
  3754. } DELETE_LU_POOL;
  3755.  
  3756. /**STRUCT-********************************************************************/
  3757.  
  3758.  
  3759. /**STRUCT+********************************************************************/
  3760. /* Structure: DELETE_MODE                                                    */
  3761. /*                                                                           */
  3762. /* Description: DELETE_MODE verb control block                               */
  3763. /*****************************************************************************/
  3764.  
  3765. typedef struct delete_mode
  3766. {
  3767.   unsigned short  opcode;
  3768.   unsigned char   reserv2;                       /* reserved                 */
  3769.   unsigned char   format;                        /* current format is 0      */
  3770.   unsigned short  primary_rc;
  3771.   unsigned long   secondary_rc;
  3772.   unsigned char   mode_name[8];
  3773. } DELETE_MODE;
  3774.  
  3775. /**STRUCT-********************************************************************/
  3776.  
  3777.  
  3778. /**STRUCT+********************************************************************/
  3779. /* Structure: DELETE_PARTNER_LU                                              */
  3780. /*                                                                           */
  3781. /* Description: DELETE_PARTNER_LU verb control block                         */
  3782. /*****************************************************************************/
  3783.  
  3784. typedef struct delete_partner_lu
  3785. {
  3786.   unsigned short  opcode;
  3787.   unsigned char   reserv2;                       /* reserved                 */
  3788.   unsigned char   format;                        /* current format is 0      */
  3789.   unsigned short  primary_rc;
  3790.   unsigned long   secondary_rc;
  3791.   unsigned char   fqplu_name[17];
  3792. } DELETE_PARTNER_LU;
  3793.  
  3794. /**STRUCT-********************************************************************/
  3795.  
  3796.  
  3797. /**STRUCT+********************************************************************/
  3798. /* Structure:   DELETE_PORT                                                  */
  3799. /*                                                                           */
  3800. /* Description: Message to delete a PORT_CB                                  */
  3801. /*****************************************************************************/
  3802.  
  3803. typedef struct delete_port
  3804. {
  3805.   /***************************************************************************/
  3806.   /* Standard VCB header.                                                    */
  3807.   /***************************************************************************/
  3808.   unsigned short  opcode;
  3809.   unsigned char   attributes;
  3810.   unsigned char   format;                        /* current format is 0      */
  3811.   unsigned short  primary_rc;
  3812.   unsigned long   secondary_rc;
  3813.  
  3814.   /***************************************************************************/
  3815.   /* Name of the Port                                                        */
  3816.   /***************************************************************************/
  3817.   unsigned char   port_name[8];
  3818.  
  3819. } DELETE_PORT;
  3820.  
  3821. /**STRUCT-********************************************************************/
  3822.  
  3823.  
  3824. /**STRUCT+********************************************************************/
  3825. /* Structure: DELETE_TP                                                      */
  3826. /*                                                                           */
  3827. /* Description: DELETE_TP verb control block                                 */
  3828. /*****************************************************************************/
  3829.  
  3830. typedef struct delete_tp
  3831. {
  3832.   unsigned short  opcode;
  3833.   unsigned char   attributes;
  3834.   unsigned char   format;                        /* current format is 0      */
  3835.   unsigned short  primary_rc;
  3836.   unsigned long   secondary_rc;
  3837.   unsigned char   tp_name[64];
  3838. } DELETE_TP;
  3839.  
  3840. /**STRUCT-********************************************************************/
  3841.  
  3842.  
  3843. /**STRUCT+********************************************************************/
  3844. /* Structure:   DELETE_CPIC_SIDE_INFO                                        */
  3845. /*                                                                           */
  3846. /* Description: Message to delete a CPI-C side information entry             */
  3847. /*****************************************************************************/
  3848.  
  3849. typedef struct delete_cpic_side_info
  3850. {
  3851.   /***************************************************************************/
  3852.   /* Standard VCB header.                                                    */
  3853.   /***************************************************************************/
  3854.   unsigned short  opcode;
  3855.   unsigned char   reserv2;                       /* reserved                 */
  3856.   unsigned char   format;                        /* current format is 0      */
  3857.   unsigned short  primary_rc;
  3858.   unsigned long   secondary_rc;
  3859.   unsigned char   reserv2a[8];                   /* reserved                 */
  3860.   unsigned char   sym_dest_name[8];
  3861.  
  3862. } DELETE_CPIC_SIDE_INFO;
  3863.  
  3864. /**STRUCT-********************************************************************/
  3865.  
  3866.  
  3867. #ifdef PU_CONC_SUPPORTED
  3868. /**STRUCT+********************************************************************/
  3869. /* Structure: DELETE_DOWNSTREAM_LU                                           */
  3870. /*                                                                           */
  3871. /* Description: DELETE_DOWNSTREAM_LU verb control block                      */
  3872. /*****************************************************************************/
  3873.  
  3874. typedef struct delete_downstream_lu
  3875. {
  3876.   unsigned short  opcode;
  3877.   unsigned char   attributes;
  3878.   unsigned char   format;                        /* current format is 0      */
  3879.   unsigned short  primary_rc;
  3880.   unsigned long   secondary_rc;
  3881.   unsigned char   dslu_name[8];
  3882. } DELETE_DOWNSTREAM_LU;
  3883.  
  3884. /**STRUCT-********************************************************************/
  3885.  
  3886.  
  3887. /**STRUCT+********************************************************************/
  3888. /* Structure: DELETE_DOWNSTREAM_LU_RANGE                                     */
  3889. /*                                                                           */
  3890. /* Description: DELETE_DOWNSTREAM_LU_RANGE verb control block                */
  3891. /*****************************************************************************/
  3892.  
  3893. typedef struct delete_downstream_lu_range
  3894. {
  3895.   unsigned short  opcode;
  3896.   unsigned char   attributes;
  3897.   unsigned char   format;                        /* current format is 0      */
  3898.   unsigned short  primary_rc;
  3899.   unsigned long   secondary_rc;
  3900.   unsigned char   dslu_base_name[5];
  3901.   unsigned char   min_nau;
  3902.   unsigned char   max_nau;
  3903. } DELETE_DOWNSTREAM_LU_RANGE;
  3904.  
  3905. /**STRUCT-********************************************************************/
  3906. #endif
  3907.  
  3908.  
  3909. /**STRUCT+********************************************************************/
  3910. /* Structure:   START_DLC                                                    */
  3911. /*                                                                           */
  3912. /* Description: Sent from NOF to CS to request activation of a DLC, also     */
  3913. /* returned as a response from CS to NOF to indicate success or failure of   */
  3914. /* DLC activation                                                            */
  3915. /*****************************************************************************/
  3916.  
  3917. typedef struct start_dlc
  3918. {
  3919.   /***************************************************************************/
  3920.   /* Standard VCB header.                                                    */
  3921.   /***************************************************************************/
  3922.   unsigned short   opcode;
  3923.   unsigned char    reserv2;                 /* reserved                      */
  3924.   unsigned char    format;                       /* current format is 0      */
  3925.   unsigned short   primary_rc;
  3926.   unsigned long    secondary_rc;
  3927.  
  3928.   /***************************************************************************/
  3929.   /* Name of the DLC                                                         */
  3930.   /***************************************************************************/
  3931.   unsigned char    dlc_name[8];
  3932.  
  3933. } START_DLC;
  3934.  
  3935. /**STRUCT-********************************************************************/
  3936.  
  3937.  
  3938. /**STRUCT+********************************************************************/
  3939. /* Structure:   START_LS                                                     */
  3940. /*                                                                           */
  3941. /* Description: Sent from NOF to CS to request activation of a link, also    */
  3942. /* returned by CS to NOF to indicate success or failure of link activation.  */
  3943. /* May also be sent from CS to NOF as an indication that a link has been     */
  3944. /* started (as a result of ACTIVATE_ROUTE or CONNECT_IN).                    */
  3945. /*****************************************************************************/
  3946.  
  3947. typedef struct start_ls
  3948. {
  3949.   /***************************************************************************/
  3950.   /* Standard VCB header.                                                    */
  3951.   /***************************************************************************/
  3952.   unsigned short   opcode;
  3953.   unsigned char    reserv2;                 /* reserved                      */
  3954.   unsigned char    format;                       /* current format is 0      */
  3955.   unsigned short   primary_rc;
  3956.   unsigned long    secondary_rc;
  3957.  
  3958.   /***************************************************************************/
  3959.   /* Name of the LS                                                          */
  3960.   /***************************************************************************/
  3961.   unsigned char    ls_name[8];
  3962.  
  3963.   unsigned char    enable;
  3964.   unsigned char    reserv3[3];              /* reserved                      */
  3965.  
  3966. } START_LS;
  3967.  
  3968. /**STRUCT-********************************************************************/
  3969.  
  3970.  
  3971. /**STRUCT+********************************************************************/
  3972. /* Structure:   START_PORT                                                   */
  3973. /*                                                                           */
  3974. /* Description: Sent from NOF to CS to request activation of a port, also    */
  3975. /* returned by CS to NOF to indicate success or failure of request.          */
  3976. /*****************************************************************************/
  3977.  
  3978. typedef struct start_port
  3979. {
  3980.   /***************************************************************************/
  3981.   /* Standard VCB header.                                                    */
  3982.   /***************************************************************************/
  3983.   unsigned short   opcode;
  3984.   unsigned char    reserv2;                 /* reserved                      */
  3985.   unsigned char    format;                       /* current format is 0      */
  3986.   unsigned short   primary_rc;
  3987.   unsigned long    secondary_rc;
  3988.  
  3989.   /***************************************************************************/
  3990.   /* Name of the PORT                                                        */
  3991.   /***************************************************************************/
  3992.   unsigned char    port_name[8];
  3993.  
  3994. } START_PORT;
  3995.  
  3996. /**STRUCT-********************************************************************/
  3997.  
  3998.  
  3999. /**STRUCT+********************************************************************/
  4000. /* Structure:   STOP_DLC                                                     */
  4001. /*                                                                           */
  4002. /* Description: Sent from NOF to CS to request that a DLC be stopped.  Also  */
  4003. /* returned by CS to NOF to indicate that the DLC has been stopped (or that  */
  4004. /* the request has been rejected for some reason).  May also be sent by CS   */
  4005. /* as an indication that the DLC has been stopped remotely...                */
  4006. /*****************************************************************************/
  4007.  
  4008. typedef struct stop_dlc
  4009. {
  4010.   /***************************************************************************/
  4011.   /* Standard VCB header.                                                    */
  4012.   /***************************************************************************/
  4013.   unsigned short   opcode;
  4014.   unsigned char    reserv2;                 /* reserved                      */
  4015.   unsigned char    format;                       /* current format is 0      */
  4016.   unsigned short   primary_rc;
  4017.   unsigned long    secondary_rc;
  4018.  
  4019.   /***************************************************************************/
  4020.   /* Whether the DLC is to be stopped in orderly or immediate fashion        */
  4021.   /***************************************************************************/
  4022.   unsigned char    stop_type;
  4023.  
  4024.   /***************************************************************************/
  4025.   /* Name of the DLC                                                         */
  4026.   /***************************************************************************/
  4027.   unsigned char    dlc_name[8];
  4028.  
  4029. } STOP_DLC;
  4030.  
  4031. /**STRUCT-********************************************************************/
  4032.  
  4033.  
  4034. /**STRUCT+********************************************************************/
  4035. /* Structure:   STOP_LS                                                      */
  4036. /*                                                                           */
  4037. /* Description: Sent from NOF to CS to request deactivation of a link        */
  4038. /* station.  Also returned by CS to indicate that link has been stopped, or  */
  4039. /* that the STOP_LS request has been rejected.  May also be sent from CS to  */
  4040. /* NOF as an indication that the link has been stopped remotely.             */
  4041. /*****************************************************************************/
  4042.  
  4043. typedef struct stop_ls
  4044. {
  4045.   /***************************************************************************/
  4046.   /* Standard VCB header.                                                    */
  4047.   /***************************************************************************/
  4048.   unsigned short   opcode;
  4049.   unsigned char    reserv2;                 /* reserved                      */
  4050.   unsigned char    format;                       /* current format is 0      */
  4051.   unsigned short   primary_rc;
  4052.   unsigned long    secondary_rc;
  4053.  
  4054.   /***************************************************************************/
  4055.   /* Whether the Link is to be stopped in orderly or immediate fashion       */
  4056.   /***************************************************************************/
  4057.   unsigned char    stop_type;
  4058.  
  4059.   /***************************************************************************/
  4060.   /* Name of the Link Station                                                */
  4061.   /***************************************************************************/
  4062.   unsigned char    ls_name[8];
  4063.  
  4064.   unsigned char    disable;
  4065.   unsigned char    reserved[3];             /* reserved                      */
  4066.  
  4067. } STOP_LS;
  4068.  
  4069. /**STRUCT-********************************************************************/
  4070.  
  4071.  
  4072. /**STRUCT+********************************************************************/
  4073. /* Structure:   STOP_PORT                                                    */
  4074. /*                                                                           */
  4075. /* Description: Sent NOF->CS to request port be stopped.  Also returned by   */
  4076. /* CS to indicate success or failure of request.  May also be sent CS->NOF   */
  4077. /* as indication of port failure.                                            */
  4078. /*****************************************************************************/
  4079.  
  4080. typedef struct stop_port
  4081. {
  4082.   /***************************************************************************/
  4083.   /* Standard VCB header.                                                    */
  4084.   /***************************************************************************/
  4085.   unsigned short   opcode;
  4086.   unsigned char    reserv2;                 /* reserved                      */
  4087.   unsigned char    format;                       /* current format is 0      */
  4088.   unsigned short   primary_rc;
  4089.   unsigned long    secondary_rc;
  4090.  
  4091.   /***************************************************************************/
  4092.   /* Whether the port is to be stopped in orderly or immediate fashion       */
  4093.   /***************************************************************************/
  4094.   unsigned char    stop_type;
  4095.  
  4096.   /***************************************************************************/
  4097.   /* Name of the Port                                                        */
  4098.   /***************************************************************************/
  4099.   unsigned char    port_name[8];
  4100.  
  4101. } STOP_PORT;
  4102.  
  4103. /**STRUCT-********************************************************************/
  4104.  
  4105.  
  4106. /**STRUCT+********************************************************************/
  4107. /* Structure:   START_INTERNAL_PU                                            */
  4108. /*                                                                           */
  4109. /* Description: Signal used by operator to start an internal PU              */
  4110. /*****************************************************************************/
  4111.  
  4112. typedef struct start_internal_pu
  4113. {
  4114.   /***************************************************************************/
  4115.   /* Standard VCB header.                                                    */
  4116.   /***************************************************************************/
  4117.   unsigned short  opcode;
  4118.   unsigned char   reserv2;                       /* reserved                 */
  4119.   unsigned char   format;                        /* current format is 0      */
  4120.   unsigned short  primary_rc;
  4121.   unsigned long   secondary_rc;
  4122.  
  4123.   /***************************************************************************/
  4124.   /* Name of the PU                                                          */
  4125.   /***************************************************************************/
  4126.   unsigned char   pu_name[8];
  4127.  
  4128.   /***************************************************************************/
  4129.   /* Name of the DLUS                                                        */
  4130.   /***************************************************************************/
  4131.   unsigned char   dlus_name[17];
  4132.  
  4133.   /***************************************************************************/
  4134.   /* Name of the backup DLUS name                                            */
  4135.   /***************************************************************************/
  4136.   unsigned char   bkup_dlus_name[17];
  4137.  
  4138. } START_INTERNAL_PU;
  4139.  
  4140. /**STRUCT-********************************************************************/
  4141.  
  4142.  
  4143. /**STRUCT+********************************************************************/
  4144. /* Structure:   STOP_INTERNAL_PU                                             */
  4145. /*                                                                           */
  4146. /* Description: Signal used by operator to stop an internal PU               */
  4147. /*****************************************************************************/
  4148.  
  4149. typedef struct stop_internal_pu
  4150. {
  4151.   /***************************************************************************/
  4152.   /* Standard VCB header.                                                    */
  4153.   /***************************************************************************/
  4154.   unsigned short  opcode;
  4155.   unsigned char   reserv2;                       /* reserved                 */
  4156.   unsigned char   format;                        /* current format is 0      */
  4157.   unsigned short  primary_rc;
  4158.   unsigned long   secondary_rc;
  4159.  
  4160.   /***************************************************************************/
  4161.   /* Name of the PU                                                          */
  4162.   /***************************************************************************/
  4163.   unsigned char   pu_name[8];
  4164.  
  4165.   /***************************************************************************/
  4166.   /* Type of STOP requested                                                  */
  4167.   /* AP_ORDERLY_STOP 0x01                                                    */
  4168.   /* AP_IMMEDIATE_STOP 0x02                                                  */
  4169.   /***************************************************************************/
  4170.   unsigned char   stop_type;
  4171.  
  4172. } STOP_INTERNAL_PU;
  4173.  
  4174. /**STRUCT-********************************************************************/
  4175.  
  4176.  
  4177. /**STRUCT+********************************************************************/
  4178. /* Structure: ACTIVATE_SESSION                                               */
  4179. /*                                                                           */
  4180. /* Description: ACTIVATE_SESSION verb control block                          */
  4181. /*****************************************************************************/
  4182.  
  4183. typedef struct activate_session
  4184. {
  4185.   unsigned short   opcode;
  4186.   unsigned char    reserv2;                 /* reserved                      */
  4187.   unsigned char    format;                       /* current format is 1      */
  4188.   unsigned short   primary_rc;
  4189.   unsigned long    secondary_rc;
  4190.   unsigned char    lu_name[8];
  4191.   unsigned char    lu_alias[8];
  4192.   unsigned char    plu_alias[8];
  4193.   unsigned char    mode_name[8];
  4194.   unsigned char    fqplu_name[17];
  4195.   unsigned char    polarity;
  4196.   unsigned char    session_id[8];
  4197.   unsigned char    cnos_permitted;
  4198.   unsigned char    reserv4[15];             /* reserved                      */
  4199. } ACTIVATE_SESSION;
  4200.  
  4201. /**STRUCT-********************************************************************/
  4202.  
  4203.  
  4204. /**STRUCT+********************************************************************/
  4205. /* Structure: DEACTIVATE_CONV_GROUP                                          */
  4206. /*                                                                           */
  4207. /* Description: DEACTIVATE_CONV_GROUP verb control block                     */
  4208. /*****************************************************************************/
  4209.  
  4210. typedef struct deactivate_conv_group
  4211. {
  4212.   unsigned short   opcode;
  4213.   unsigned char    reserv2;                 /* reserved                      */
  4214.   unsigned char    format;                       /* current format is 0      */
  4215.   unsigned short   primary_rc;
  4216.   unsigned long    secondary_rc;
  4217.   unsigned char    lu_name[8];
  4218.   unsigned char    lu_alias[8];
  4219.   unsigned long    conv_group_id;
  4220.   unsigned char    type;
  4221.   unsigned char    reserv3[3];              /* reserved                      */
  4222.   unsigned long    sense_data;
  4223. } DEACTIVATE_CONV_GROUP;
  4224.  
  4225. /**STRUCT-********************************************************************/
  4226.  
  4227.  
  4228. /**STRUCT+********************************************************************/
  4229. /* Structure: DEACTIVATE_SESSION                                             */
  4230. /*                                                                           */
  4231. /* Description: DEACTIVATE_SESSION verb control block                        */
  4232. /*****************************************************************************/
  4233.  
  4234. typedef struct deactivate_session
  4235. {
  4236.   unsigned short   opcode;
  4237.   unsigned char    reserv2;                 /* reserved                      */
  4238.   unsigned char    format;                       /* current format is 0      */
  4239.   unsigned short   primary_rc;
  4240.   unsigned long    secondary_rc;
  4241.   unsigned char    lu_name[8];
  4242.   unsigned char    lu_alias[8];
  4243.   unsigned char    session_id[8];
  4244.   unsigned char    plu_alias[8];
  4245.   unsigned char    mode_name[8];
  4246.   unsigned char    type;
  4247.   unsigned char    reserv3[3];              /* reserved                      */
  4248.   unsigned long    sense_data;
  4249.   unsigned char    fqplu_name[17];
  4250.   unsigned char    reserv4[20];             /* reserved                      */
  4251. } DEACTIVATE_SESSION;
  4252.  
  4253. /**STRUCT-********************************************************************/
  4254.  
  4255.  
  4256. /**STRUCT+********************************************************************/
  4257. /* Structure: PATH_SWITCH                                                    */
  4258. /*                                                                           */
  4259. /* Description: NOF verb requesting the optimal path is recalculated for     */
  4260. /*              a given RTP connection                                       */
  4261. /*****************************************************************************/
  4262.  
  4263. typedef struct path_switch
  4264. {
  4265.   unsigned short  opcode;
  4266.   unsigned char   reserv2;                       /* reserved                 */
  4267.   unsigned char   format;                        /* current format is 0      */
  4268.   unsigned short  primary_rc;
  4269.   unsigned long   secondary_rc;
  4270.  
  4271.   /***************************************************************************/
  4272.   /* Name of the RTP connection to path switch                               */
  4273.   /***************************************************************************/
  4274.   unsigned char   rtp_connection_name[8];
  4275.  
  4276. } PATH_SWITCH;
  4277.  
  4278. /**STRUCT-********************************************************************/
  4279.  
  4280.  
  4281. /**STRUCT+********************************************************************/
  4282. /* Structure: SESSION_STATS                                                  */
  4283. /*                                                                           */
  4284. /* Description: Session statistics returned in a QUERY_SESSION response      */
  4285. /*****************************************************************************/
  4286.  
  4287. typedef struct session_stats
  4288. {
  4289.   unsigned short   rcv_ru_size;
  4290.   unsigned short   send_ru_size;
  4291.   unsigned short   max_send_btu_size;
  4292.   unsigned short   max_rcv_btu_size;
  4293.   unsigned short   max_send_pac_win;
  4294.   unsigned short   cur_send_pac_win;
  4295.   unsigned short   max_rcv_pac_win;
  4296.   unsigned short   cur_rcv_pac_win;
  4297.   unsigned long    send_data_frames;
  4298.   unsigned long    send_fmd_data_frames;
  4299.   unsigned long    send_data_bytes;
  4300.   unsigned long    rcv_data_frames;
  4301.   unsigned long    rcv_fmd_data_frames;
  4302.   unsigned long    rcv_data_bytes;
  4303.   unsigned char    sidh;
  4304.   unsigned char    sidl;
  4305.   unsigned char    odai;
  4306.   unsigned char    ls_name[8];
  4307.   unsigned char    pacing_type;
  4308. } SESSION_STATS;
  4309.  
  4310. /**STRUCT-********************************************************************/
  4311.  
  4312. /**STRUCT+********************************************************************/
  4313. /* Structure: EXTENDED_SESSION_STATS                                         */
  4314. /*                                                                           */
  4315. /* Description: Session statistics returned in a QUERY_SESSION response      */
  4316. /*****************************************************************************/
  4317.  
  4318. typedef struct extended_session_stats
  4319. {
  4320.   unsigned short   rcv_ru_size;
  4321.   unsigned short   send_ru_size;
  4322.   unsigned short   max_send_btu_size;
  4323.   unsigned short   max_rcv_btu_size;
  4324.   unsigned short   max_send_pac_win;
  4325.   unsigned short   cur_send_pac_win;
  4326.   unsigned short   send_rpc;
  4327.   unsigned short   max_rcv_pac_win;
  4328.   unsigned short   cur_rcv_pac_win;
  4329.   unsigned short   rcv_rpc;
  4330.   unsigned long    send_data_frames;
  4331.   unsigned long    send_fmd_data_frames;
  4332.   unsigned long    send_data_bytes;
  4333.   unsigned long    send_fmd_data_bytes;
  4334.   unsigned long    rcv_data_frames;
  4335.   unsigned long    rcv_fmd_data_frames;
  4336.   unsigned long    rcv_data_bytes;
  4337.   unsigned long    rcv_fmd_data_bytes;
  4338.   unsigned char    sidh;
  4339.   unsigned char    sidl;
  4340.   unsigned char    odai;
  4341.   unsigned char    ls_name[8];
  4342.   unsigned char    pacing_type;
  4343.   unsigned char    reserv1[100];            /* reserved                      */
  4344. } EXTENDED_SESSION_STATS;
  4345.  
  4346. /**STRUCT-********************************************************************/
  4347.  
  4348. /**STRUCT+********************************************************************/
  4349. /* Structure: QUERY_ACTIVE_TRANSACTION                                       */
  4350. /*                                                                           */
  4351. /* Description: Used for querying active transactions                        */
  4352. /*****************************************************************************/
  4353.  
  4354. typedef struct query_active_transaction
  4355. {
  4356.   unsigned short   opcode;
  4357.   unsigned char    reserv2;                 /* reserved                      */
  4358.   unsigned char    format;                       /* current format is 0      */
  4359.   unsigned short   primary_rc;
  4360.   unsigned long    secondary_rc;
  4361.   unsigned char   *buf_ptr;
  4362.   unsigned long    buf_size;
  4363.   unsigned long    total_buf_size;
  4364.   unsigned short   num_entries;
  4365.   unsigned short   total_num_entries;
  4366.   unsigned char    list_options;
  4367.   unsigned char    reserv3;                 /* reserved                      */
  4368.   unsigned char    fq_req_loc_cp_name[17];
  4369.   unsigned char    req_agent_appl_name[8];
  4370.   unsigned char    seq_num_dt[17];
  4371. } QUERY_ACTIVE_TRANSACTION;
  4372.  
  4373. /**STRUCT-********************************************************************/
  4374.  
  4375.  
  4376. /**STRUCT+********************************************************************/
  4377. /* Structure: ACTIVE_TRANSACTION_DATA                                        */
  4378. /*                                                                           */
  4379. /* Description: Information returned for QUERY_ACTIVE_TRANSACTION            */
  4380. /*****************************************************************************/
  4381.  
  4382. typedef struct active_transaction_data
  4383. {
  4384.   unsigned short   overlay_size;
  4385.   unsigned char    fq_origin_cp_name[17];
  4386.   unsigned char    origin_ms_appl_name[8];
  4387.   unsigned char    fq_dest_cp_name[17];
  4388.   unsigned char    dest_ms_appl_name[8];
  4389.   unsigned char    fq_req_loc_cp_name[17];
  4390.   unsigned char    req_agent_appl_name[8];
  4391.   unsigned char    seq_num_dt[17];
  4392.   unsigned char    reserva[20];             /* reserved                      */
  4393. } ACTIVE_TRANSACTION_DATA;
  4394.  
  4395. /**STRUCT-********************************************************************/
  4396.  
  4397.  
  4398. /**STRUCT+********************************************************************/
  4399. /* Structure:   QUERY_CN                                                     */
  4400. /*                                                                           */
  4401. /* Description: Sent NOF->CS to query status of a CN.  Returned by CS as RSP.*/
  4402. /*****************************************************************************/
  4403.  
  4404. typedef struct query_cn
  4405. {
  4406.   /***************************************************************************/
  4407.   /* Standard VCB header.                                                    */
  4408.   /***************************************************************************/
  4409.   unsigned short   opcode;
  4410.   unsigned char    attributes;
  4411.   unsigned char    format;                       /* current format is 0      */
  4412.   unsigned short   primary_rc;
  4413.   unsigned long    secondary_rc;
  4414.   unsigned char   *buf_ptr;
  4415.   unsigned long    buf_size;
  4416.   unsigned long    total_buf_size;
  4417.   unsigned short   num_entries;
  4418.   unsigned short   total_num_entries;
  4419.   unsigned char    list_options;
  4420.   unsigned char    reserv3;                 /* reserved                      */
  4421.  
  4422.   /***************************************************************************/
  4423.   /* Name of the CN                                                          */
  4424.   /***************************************************************************/
  4425.   unsigned char    fqcn_name[17];
  4426.  
  4427. } QUERY_CN;
  4428.  
  4429. /**STRUCT-********************************************************************/
  4430.  
  4431.  
  4432. /**STRUCT+********************************************************************/
  4433. /* Structure:   CN_DET_DATA                                                  */
  4434. /*                                                                           */
  4435. /* Description: Determined Data for a Connection Network                     */
  4436. /*****************************************************************************/
  4437.  
  4438. typedef struct cn_det_data
  4439. {
  4440.   unsigned short   num_act_ports;
  4441.   unsigned char    reserva[20];             /* reserved                      */
  4442. } CN_DET_DATA;
  4443.  
  4444. /**STRUCT-********************************************************************/
  4445.  
  4446.  
  4447. /**STRUCT+********************************************************************/
  4448. /* Structure:   CN_DATA                                                      */
  4449. /*                                                                           */
  4450. /* Description: Overlay returned in response to a QUERY_CN                   */
  4451. /*****************************************************************************/
  4452.  
  4453. typedef struct cn_data
  4454. {
  4455.   unsigned short   overlay_size;
  4456.   unsigned char    fqcn_name[17];
  4457.   unsigned char    reserv1;                 /* reserved                      */
  4458.   CN_DET_DATA      det_data;
  4459.   CN_DEF_DATA      def_data;
  4460. } CN_DATA;
  4461.  
  4462. /**STRUCT-********************************************************************/
  4463.  
  4464.  
  4465. /**STRUCT+********************************************************************/
  4466. /* Structure:   QUERY_CN_PORT                                                */
  4467. /*                                                                           */
  4468. /* Description: Sent NOF->CS to query status of a CN.  Returned by CS as RSP.*/
  4469. /*****************************************************************************/
  4470.  
  4471. typedef struct query_cn_port
  4472. {
  4473.   unsigned short   opcode;
  4474.   unsigned char    attributes;
  4475.   unsigned char    format;                       /* current format is 0      */
  4476.   unsigned short   primary_rc;
  4477.   unsigned long    secondary_rc;
  4478.   unsigned char   *buf_ptr;
  4479.   unsigned long    buf_size;
  4480.   unsigned long    total_buf_size;
  4481.   unsigned short   num_entries;
  4482.   unsigned short   total_num_entries;
  4483.   unsigned char    list_options;
  4484.   unsigned char    reserv3;                 /* reserved                      */
  4485.   unsigned char    fqcn_name[17];
  4486.   unsigned char    port_name[8];
  4487. } QUERY_CN_PORT;
  4488.  
  4489. /**STRUCT-********************************************************************/
  4490.  
  4491.  
  4492. /**STRUCT+********************************************************************/
  4493. /* Structure:   CN_PORT_DATA                                                 */
  4494. /*                                                                           */
  4495. /* Description: Data overlay returned in response to QUERY_CN_PORT           */
  4496. /*****************************************************************************/
  4497.  
  4498. typedef struct cn_port_data
  4499. {
  4500.   unsigned short   overlay_size;
  4501.   unsigned char    fqcn_name[17];
  4502.   unsigned char    port_name[8];
  4503.   unsigned char    tg_num;
  4504.   unsigned char    reserva[20];             /* reserved                      */
  4505. } CN_PORT_DATA;
  4506.  
  4507. /**STRUCT-********************************************************************/
  4508.  
  4509.  
  4510. /**STRUCT+********************************************************************/
  4511. /* Structure: QUERY_COS                                                      */
  4512. /*                                                                           */
  4513. /* Description: Extracts Class Of Service specific information               */
  4514. /*****************************************************************************/
  4515.  
  4516. typedef struct query_cos
  4517. {
  4518.   unsigned short   opcode;
  4519.   unsigned char    reserv2;                 /* reserved                      */
  4520.   unsigned char    format;                       /* current format is 0      */
  4521.   unsigned short   primary_rc;
  4522.   unsigned long    secondary_rc;
  4523.   unsigned char   *buf_ptr;
  4524.   unsigned long    buf_size;
  4525.   unsigned long    total_buf_size;
  4526.   unsigned short   num_entries;
  4527.   unsigned short   total_num_entries;
  4528.   unsigned char    list_options;
  4529.   unsigned char    reserv3;                 /* reserved                      */
  4530.   unsigned char    cos_name[8];
  4531. } QUERY_COS;
  4532.  
  4533. /**STRUCT-********************************************************************/
  4534.  
  4535.  
  4536. /**STRUCT+********************************************************************/
  4537. /* Structure: COS_DATA                                                       */
  4538. /*                                                                           */
  4539. /* Description: Overlay used for QUERY_COS                                   */
  4540. /*****************************************************************************/
  4541.  
  4542. typedef struct cos_data
  4543. {
  4544.   unsigned short   overlay_size;
  4545.   unsigned char    cos_name[8];
  4546.   unsigned char    description[RD_LEN];
  4547.   unsigned char    transmission_priority;
  4548.   unsigned char    reserv1;                 /* reserved                      */
  4549.   unsigned short   num_of_node_rows;
  4550.   unsigned short   num_of_tg_rows;
  4551.   unsigned long    trees;
  4552.   unsigned long    calcs;
  4553.   unsigned long    rejs;
  4554.   unsigned char    reserva[20];             /* reserved                      */
  4555. } COS_DATA;
  4556.  
  4557. /**STRUCT-********************************************************************/
  4558.  
  4559.  
  4560. /**STRUCT+********************************************************************/
  4561. /* Structure:   QUERY_DEFAULTS                                               */
  4562. /*                                                                           */
  4563. /* Description: Used to query node defaults.                                 */
  4564. /*                                                                           */
  4565. /*****************************************************************************/
  4566. typedef struct query_defaults
  4567. {
  4568.   unsigned short   opcode;
  4569.   unsigned char    reserv2;                 /* reserved                      */
  4570.   unsigned char    format;                       /* current format is 0      */
  4571.   unsigned short   primary_rc;
  4572.   unsigned long    secondary_rc;
  4573.   DEFAULT_CHARS    default_chars;
  4574. } QUERY_DEFAULTS;
  4575.  
  4576. /**STRUCT-********************************************************************/
  4577.  
  4578.  
  4579. /**STRUCT+********************************************************************/
  4580. /* Structure: QUERY_DEFAULT_PU                                               */
  4581. /*                                                                           */
  4582. /* Description: Queries the default pu, and whether its session if it        */
  4583. /*              is active                                                    */
  4584. /*                                                                           */
  4585. /*****************************************************************************/
  4586.  
  4587. typedef struct query_default_pu
  4588. {
  4589.   /***************************************************************************/
  4590.   /* Standard VCB header.                                                    */
  4591.   /***************************************************************************/
  4592.   unsigned short   opcode;
  4593.   unsigned char    reserv2;                 /* reserved                      */
  4594.   unsigned char    format;                       /* current format is 0      */
  4595.   unsigned short   primary_rc;
  4596.   unsigned long    secondary_rc;
  4597.  
  4598.   /***************************************************************************/
  4599.   /* Name of the most recently defined default PU                            */
  4600.   /***************************************************************************/
  4601.   unsigned char    def_pu_name[8];
  4602.   unsigned char    description[RD_LEN];
  4603.  
  4604.   /***************************************************************************/
  4605.   /* Specifies the name of the PU associated with the active session         */
  4606.   /***************************************************************************/
  4607.   unsigned char    def_pu_sess[8];
  4608.   unsigned char    reserv3[16];             /* reserved                      */
  4609.  
  4610. } QUERY_DEFAULT_PU;
  4611.  
  4612. /**STRUCT-********************************************************************/
  4613.  
  4614.  
  4615. /**STRUCT+********************************************************************/
  4616. /* Structure: QUERY_DIRECTORY_LU                                             */
  4617. /*                                                                           */
  4618. /* Description: Used for extracting directory entries about LUs              */
  4619. /*****************************************************************************/
  4620.  
  4621. typedef struct query_directory_lu
  4622. {
  4623.   unsigned short   opcode;
  4624.   unsigned char    reserv2;                 /* reserved                      */
  4625.   unsigned char    format;                       /* current format is 0      */
  4626.   unsigned short   primary_rc;
  4627.   unsigned long    secondary_rc;
  4628.   unsigned char   *buf_ptr;
  4629.   unsigned long    buf_size;
  4630.   unsigned long    total_buf_size;
  4631.   unsigned short   num_entries;
  4632.   unsigned short   total_num_entries;
  4633.   unsigned char    list_options;
  4634.   unsigned char    reserv3;                 /* reserved                      */
  4635.   unsigned char    lu_name[17];
  4636. } QUERY_DIRECTORY_LU;
  4637.  
  4638. /**STRUCT-********************************************************************/
  4639.  
  4640.  
  4641. /**STRUCT+********************************************************************/
  4642. /* Structure: DIRECTORY_LU_DETAIL                                            */
  4643. /*                                                                           */
  4644. /* Description: Detail overlay used for QUERY_DIRECTORY_LU                   */
  4645. /*****************************************************************************/
  4646.  
  4647. typedef struct directory_lu_detail
  4648. {
  4649.   unsigned short   overlay_size;
  4650.   unsigned char    lu_name[17];
  4651.   unsigned char    description[RD_LEN];
  4652.   unsigned char    server_name[17];
  4653.   unsigned char    lu_owner_name[17];
  4654.   unsigned char    location;
  4655.   unsigned char    entry_type;
  4656.   unsigned char    wild_card;
  4657.   unsigned char    apparent_lu_owner_name[17];
  4658.   unsigned char    reserva[3];              /* reserved                      */
  4659. } DIRECTORY_LU_DETAIL;
  4660.  
  4661. /**STRUCT-********************************************************************/
  4662.  
  4663.  
  4664. /**STRUCT+********************************************************************/
  4665. /* Structure: DIRECTORY_LU_SUMMARY                                           */
  4666. /*                                                                           */
  4667. /* Description: Summary overlay used for QUERY_DIRECTORY_LU                  */
  4668. /*****************************************************************************/
  4669.  
  4670. typedef struct directory_lu_summary
  4671. {
  4672.   unsigned short   overlay_size;
  4673.   unsigned char    lu_name[17];
  4674.   unsigned char    description[RD_LEN];
  4675. } DIRECTORY_LU_SUMMARY;
  4676.  
  4677. /**STRUCT-********************************************************************/
  4678.  
  4679.  
  4680.  
  4681. /**STRUCT+********************************************************************/
  4682. /* Structure: QUERY_DIRECTORY_STATS                                          */
  4683. /*                                                                           */
  4684. /* Description: Used for querying directory statistics                       */
  4685. /*****************************************************************************/
  4686.  
  4687. typedef struct query_directory_stats
  4688. {
  4689.   unsigned short   opcode;
  4690.   unsigned char    reserv2;                 /* reserved                      */
  4691.   unsigned char    format;                       /* current format is 0      */
  4692.   unsigned short   primary_rc;
  4693.   unsigned long    secondary_rc;
  4694. #ifdef NN_SUPPORTED
  4695.   unsigned long    max_caches;
  4696.   unsigned long    cur_caches;
  4697. #else
  4698.   unsigned long    max_caches;              /* reserved                      */
  4699.   unsigned long    cur_caches;              /* reserved                      */
  4700. #endif
  4701.   unsigned long    cur_home_entries;
  4702.   unsigned long    cur_reg_entries;
  4703.   unsigned long    cur_directory_entries;
  4704. #ifdef NN_SUPPORTED
  4705.   unsigned long    cache_hits;
  4706.   unsigned long    cache_misses;
  4707. #else
  4708.   unsigned long    cache_hits;              /* reserved                      */
  4709.   unsigned long    cache_misses;            /* reserved                      */
  4710. #endif
  4711.   unsigned long    in_locates;
  4712.   unsigned long    in_bcast_locates;
  4713.   unsigned long    out_locates;
  4714.   unsigned long    out_bcast_locates;
  4715.   unsigned long    not_found_locates;
  4716.   unsigned long    not_found_bcast_locates;
  4717.   unsigned long    locates_outstanding;
  4718.   unsigned char    reserva[20];             /* reserved                      */
  4719. } QUERY_DIRECTORY_STATS;
  4720.  
  4721. /**STRUCT-********************************************************************/
  4722.  
  4723.  
  4724. /**STRUCT+********************************************************************/
  4725. /* Structure:   QUERY_DLC                                                    */
  4726. /*                                                                           */
  4727. /* Description: Sent NOF->CS to query DLC status.  Returned by CS as RSP.    */
  4728. /*****************************************************************************/
  4729.  
  4730. typedef struct query_dlc
  4731. {
  4732.   /***************************************************************************/
  4733.   /* Standard VCB header.                                                    */
  4734.   /***************************************************************************/
  4735.   unsigned short   opcode;
  4736.   unsigned char    attributes;
  4737.   unsigned char    format;                       /* current format is 0      */
  4738.   unsigned short   primary_rc;
  4739.   unsigned long    secondary_rc;
  4740.   unsigned char   *buf_ptr;
  4741.   unsigned long    buf_size;
  4742.   unsigned long    total_buf_size;
  4743.   unsigned short   num_entries;
  4744.   unsigned short   total_num_entries;
  4745.   unsigned char    list_options;
  4746.   unsigned char    reserv3;                 /* reserved                      */
  4747.  
  4748.   /***************************************************************************/
  4749.   /* Name of the DLC                                                         */
  4750.   /***************************************************************************/
  4751.   unsigned char    dlc_name[8];
  4752.  
  4753. } QUERY_DLC;
  4754.  
  4755. /**STRUCT-********************************************************************/
  4756.  
  4757.  
  4758. /**STRUCT+********************************************************************/
  4759. /* Structure: DLC_SUMMARY                                                    */
  4760. /*                                                                           */
  4761. /* Description: Summary of DLC information used by QUERY_DLC                 */
  4762. /*****************************************************************************/
  4763.  
  4764. typedef struct dlc_summary
  4765. {
  4766.   unsigned short   overlay_size;
  4767.   unsigned char    dlc_name[8];
  4768.   unsigned char    description[RD_LEN];
  4769.   unsigned char    state;
  4770.   unsigned char    dlc_type;
  4771. } DLC_SUMMARY;
  4772.  
  4773. /**STRUCT-********************************************************************/
  4774.  
  4775.  
  4776. /**STRUCT+********************************************************************/
  4777. /* Structure: DLC_DET_DATA                                                   */
  4778. /*                                                                           */
  4779. /* Description: Determined data for DLC                                      */
  4780. /*****************************************************************************/
  4781.  
  4782. typedef struct dlc_det_data
  4783. {
  4784.   unsigned char    state;
  4785.   unsigned char    reserv3[3];              /* reserved                      */
  4786.   unsigned char    reserva[20];             /* reserved                      */
  4787. } DLC_DET_DATA;
  4788.  
  4789. /**STRUCT-********************************************************************/
  4790.  
  4791.  
  4792. /**STRUCT+********************************************************************/
  4793. /* Structure:   DLC_DETAIL                                                   */
  4794. /*                                                                           */
  4795. /* Description: Overlay returned for QUERY_DLC when DETAIL information       */
  4796. /*              is requested                                                 */
  4797. /*****************************************************************************/
  4798.  
  4799. typedef struct dlc_detail
  4800. {
  4801.   unsigned short   overlay_size;
  4802.   unsigned char    dlc_name[8];
  4803.   unsigned char    reserv2[2];              /* reserved                      */
  4804.   DLC_DET_DATA     det_data;
  4805.   DLC_DEF_DATA     def_data;
  4806. } DLC_DETAIL;
  4807.  
  4808. /**STRUCT-********************************************************************/
  4809.  
  4810.  
  4811. /**STRUCT+********************************************************************/
  4812. /* Structure: FQPCID                                                         */
  4813. /*                                                                           */
  4814. /* Description: Fully qualified procedure correlation id structure used      */
  4815. /*              in SESSION_INDICATIONS                                       */
  4816. /*****************************************************************************/
  4817.  
  4818. typedef struct fqpcid
  4819. {
  4820.   unsigned char    pcid[8];
  4821.   unsigned char    fqcp_name[17];
  4822.   unsigned char    reserve3[3];             /* reserved                      */
  4823. } FQPCID;
  4824.  
  4825. /**STRUCT-********************************************************************/
  4826.  
  4827.  
  4828. /**STRUCT+********************************************************************/
  4829. /* Structure:   QUERY_DLUR_LU                                                */
  4830. /*                                                                           */
  4831. /* Description: Used to Query the state of DLUR-served LUs                   */
  4832. /*                                                                           */
  4833. /*****************************************************************************/
  4834.  
  4835. typedef struct query_dlur_lu
  4836. {
  4837.   /***************************************************************************/
  4838.   /* Standard VCB header.                                                    */
  4839.   /***************************************************************************/
  4840.   unsigned short   opcode;
  4841.   unsigned char    reserv2;                 /* reserved                      */
  4842.   unsigned char    format;                       /* current format is 0      */
  4843.   unsigned short   primary_rc;
  4844.   unsigned long    secondary_rc;
  4845.   unsigned char   *buf_ptr;
  4846.   unsigned long    buf_size;
  4847.   unsigned long    total_buf_size;
  4848.   unsigned short   num_entries;
  4849.   unsigned short   total_num_entries;
  4850.   unsigned char    list_options;
  4851.   unsigned char    reserv3;                 /* reserved                      */
  4852.  
  4853.   /***************************************************************************/
  4854.   /* Name of LU                                                              */
  4855.   /***************************************************************************/
  4856.   unsigned char    lu_name[8];
  4857.  
  4858.   /***************************************************************************/
  4859.   /* Name of the PU if filtering                                             */
  4860.   /***************************************************************************/
  4861.   unsigned char    pu_name[8];
  4862.  
  4863.   /***************************************************************************/
  4864.   /* Inclusion filter                                                        */
  4865.   /* AP_ALL 0x01                                                             */
  4866.   /***************************************************************************/
  4867.   unsigned char    filter;
  4868.  
  4869. } QUERY_DLUR_LU;
  4870.  
  4871. /**STRUCT-********************************************************************/
  4872.  
  4873.  
  4874. /**STRUCT+********************************************************************/
  4875. /* Structure:   DLUR_LU_SUMMARY                                              */
  4876. /*                                                                           */
  4877. /* Description: Data overlay returned for a QUERY_DLUR_LU signal             */
  4878. /*****************************************************************************/
  4879.  
  4880. typedef struct dlur_lu_summary
  4881. {
  4882.   unsigned short   overlay_size;
  4883.  
  4884.   /***************************************************************************/
  4885.   /* Name of LU                                                              */
  4886.   /***************************************************************************/
  4887.   unsigned char    lu_name[8];
  4888.  
  4889. } DLUR_LU_SUMMARY;
  4890.  
  4891. /**STRUCT-********************************************************************/
  4892.  
  4893.  
  4894. /**STRUCT+********************************************************************/
  4895. /* Structure:   DLUR_LU_DETAIL                                               */
  4896. /*                                                                           */
  4897. /* Description: Data overlay returned for a QUERY_DLUR_LU signal             */
  4898. /*****************************************************************************/
  4899.  
  4900. typedef struct dlur_lu_detail
  4901. {
  4902.   unsigned short   overlay_size;
  4903.  
  4904.   /***************************************************************************/
  4905.   /* Name of LU                                                              */
  4906.   /***************************************************************************/
  4907.   unsigned char    lu_name[8];
  4908.  
  4909.   /***************************************************************************/
  4910.   /* Name of parent PU                                                       */
  4911.   /***************************************************************************/
  4912.   unsigned char    pu_name[8];
  4913.  
  4914.   /***************************************************************************/
  4915.   /* Fully qualified name of DLUS node LU is using.  If SSCP-LU session      */
  4916.   /* is currently inactive, this will be null                                */
  4917.   /***************************************************************************/
  4918.   unsigned char    dlus_name[17];
  4919.  
  4920.   /***************************************************************************/
  4921.   /* Location of LU                                                          */
  4922.   /*   AP_INTERNAL                                                           */
  4923.   /*   AP_DOWNSTREAM                                                         */
  4924.   /***************************************************************************/
  4925.   unsigned char    lu_location;
  4926.  
  4927.   /***************************************************************************/
  4928.   /* SIDL value used by SSCP to identify LU                                  */
  4929.   /***************************************************************************/
  4930.   unsigned char    nau_address;
  4931.  
  4932.   /***************************************************************************/
  4933.   /* Fully qualified name of PLU if PLU-SLU session is active.               */
  4934.   /***************************************************************************/
  4935.   unsigned char    plu_name[17];
  4936.   unsigned char    reserv1[27];              /* reserved                      */
  4937.  
  4938.   /***************************************************************************/
  4939.   /* Length of included RSCV                                                 */
  4940.   /***************************************************************************/
  4941.   unsigned char    rscv_len;
  4942.  
  4943. } DLUR_LU_DETAIL;
  4944.  
  4945. /**STRUCT-********************************************************************/
  4946.  
  4947. /**STRUCT+********************************************************************/
  4948. /* Structure:   QUERY_DLUR_DEFAULTS                                          */
  4949. /*                                                                           */
  4950. /* Description: Queries the default values of the DLUR.                      */
  4951. /*****************************************************************************/
  4952. typedef struct query_dlur_defaults
  4953. {
  4954.   /***************************************************************************/
  4955.   /* Standard VCB header.                                                    */
  4956.   /***************************************************************************/
  4957.   unsigned short   opcode;
  4958.   unsigned char    reserv2;                       /* reserved                */
  4959.   unsigned char    format;                       /* current format is 0      */
  4960.   unsigned short   primary_rc;
  4961.   unsigned long    secondary_rc;
  4962.  
  4963.   /***************************************************************************/
  4964.   /* description                                                             */
  4965.   /***************************************************************************/
  4966.   unsigned char    description[RD_LEN];
  4967.  
  4968.   /***************************************************************************/
  4969.   /* Name of the DLUS - NULL_SNA_FQ_NAME if resetting                        */
  4970.   /***************************************************************************/
  4971.   unsigned char    dlus_name[17];
  4972.  
  4973.   /***************************************************************************/
  4974.   /* Name of the backup DLUS name                                            */
  4975.   /***************************************************************************/
  4976.   unsigned char    bkup_dlus_name[17];
  4977.  
  4978.   /***************************************************************************/
  4979.   /* Reserved field                                                          */
  4980.   /***************************************************************************/
  4981.   unsigned char    reserv3;                       /* reserved                */
  4982.  
  4983.   /***************************************************************************/
  4984.   /* Retry Timeout.  Time in seconds between attempts to recontact a DLUS    */
  4985.   /***************************************************************************/
  4986.   unsigned short   dlus_retry_timeout;
  4987.  
  4988.   /***************************************************************************/
  4989.   /* Retry Limit.  Maximum Number of attempts to recontact a DLUS            */
  4990.   /***************************************************************************/
  4991.   unsigned short   dlus_retry_limit;
  4992.  
  4993.   /***************************************************************************/
  4994.   /* Reserved field                                                          */
  4995.   /***************************************************************************/
  4996.   unsigned char    reserv4[16];                   /* reserved                */
  4997.  
  4998. } QUERY_DLUR_DEFAULTS;
  4999.  
  5000. /**STRUCT+********************************************************************/
  5001. /* Structure:   QUERY_DLUR_PU                                                */
  5002. /*                                                                           */
  5003. /* Description: Used to Query the DLUR-specific PU information               */
  5004. /*                                                                           */
  5005. /*****************************************************************************/
  5006.  
  5007. typedef struct query_dlur_pu
  5008. {
  5009.   /***************************************************************************/
  5010.   /* Standard VCB header.                                                    */
  5011.   /***************************************************************************/
  5012.   unsigned short   opcode;
  5013.   unsigned char    reserv2;                 /* reserved                      */
  5014.   unsigned char    format;                       /* current format is 0      */
  5015.   unsigned short   primary_rc;
  5016.   unsigned long    secondary_rc;
  5017.   unsigned char   *buf_ptr;
  5018.   unsigned long    buf_size;
  5019.   unsigned long    total_buf_size;
  5020.   unsigned short   num_entries;
  5021.   unsigned short   total_num_entries;
  5022.   unsigned char    list_options;
  5023.   unsigned char    reserv3;                 /* reserved                      */
  5024.  
  5025.   /***************************************************************************/
  5026.   /* Name of the PU                                                          */
  5027.   /***************************************************************************/
  5028.   unsigned char    pu_name[8];
  5029.  
  5030.   /***************************************************************************/
  5031.   /* Name of DLUS if filtering                                               */
  5032.   /***************************************************************************/
  5033.   unsigned char    dlus_name[17];
  5034.  
  5035.   /***************************************************************************/
  5036.   /* Filter:                                                                 */
  5037.   /*   AP_NONE                                                               */
  5038.   /*   AP_INTERNAL                                                           */
  5039.   /*   AP_DOWNSTREAM                                                         */
  5040.   /***************************************************************************/
  5041.   unsigned char    filter;
  5042.  
  5043. } QUERY_DLUR_PU;
  5044.  
  5045. /**STRUCT-********************************************************************/
  5046.  
  5047.  
  5048. /**STRUCT+********************************************************************/
  5049. /* Structure:   DLUR_PU_DETAIL                                               */
  5050. /*                                                                           */
  5051. /* Description: Data overlay returned for a QUERY_DLUR_PU signal             */
  5052. /*****************************************************************************/
  5053.  
  5054. typedef struct dlur_pu_detail
  5055. {
  5056.   unsigned short   overlay_size;
  5057.  
  5058.   /***************************************************************************/
  5059.   /* Name of PU                                                              */
  5060.   /***************************************************************************/
  5061.   unsigned char    pu_name[8];
  5062.  
  5063.   unsigned char    description[RD_LEN];
  5064.   /***************************************************************************/
  5065.   /* Name of the DLUS                                                        */
  5066.   /***************************************************************************/
  5067.   unsigned char    defined_dlus_name[17];
  5068.  
  5069.   /***************************************************************************/
  5070.   /* Name of the backup DLUS name                                            */
  5071.   /***************************************************************************/
  5072.   unsigned char    bkup_dlus_name[17];
  5073.  
  5074.   /***************************************************************************/
  5075.   /* PU ID                                                                   */
  5076.   /***************************************************************************/
  5077.   unsigned char    pu_id[4];
  5078.  
  5079.   /***************************************************************************/
  5080.   /* Location of PU                                                          */
  5081.   /*   AP_INTERNAL                                                           */
  5082.   /*   AP_DOWNSTREAM                                                         */
  5083.   /***************************************************************************/
  5084.   unsigned char    pu_location;
  5085.  
  5086.   /***************************************************************************/
  5087.   /* Fully qualified name of DLUS node PU is using.  If SSCP-PU session      */
  5088.   /* is currently inactive, this will be null                                */
  5089.   /***************************************************************************/
  5090.   unsigned char    active_dlus_name[17];
  5091.  
  5092.   /***************************************************************************/
  5093.   /* Auto Network shutdown support received on PU Characteristics sent by    */
  5094.   /* DLUS                                                                    */
  5095.   /***************************************************************************/
  5096.   unsigned char    ans_support;
  5097.  
  5098.   /***************************************************************************/
  5099.   /* Status of the PU                                                        */
  5100.   /*   AP_RESET (0x00)                                                       */
  5101.   /*   AP_PEND_ACTPU (0x02)                                                  */
  5102.   /*   AP_PEND_ACTPU_RSP(0x03)                                               */
  5103.   /*   AP_ACTIVE (0x01)                                                      */
  5104.   /*   AP_PEND_DACTPU_RSP (0x04)                                             */
  5105.   /***************************************************************************/
  5106.   unsigned char    pu_status;
  5107.  
  5108.   /***************************************************************************/
  5109.   /* Status of the DLUS-DLUR pipe                                            */
  5110.   /*   AP_ACTIVE (0x01)                                                      */
  5111.   /*   AP_PENDING_INACTIVE (0x08)                                            */
  5112.   /*   AP_INACTIVE (0x00)                                                    */
  5113.   /*   AP_PENDING_ACTIVE (0x02)                                              */
  5114.   /***************************************************************************/
  5115.   unsigned char    dlus_session_status;
  5116.   unsigned char    reserv3;                 /* reserved                      */
  5117.  
  5118.   /***************************************************************************/
  5119.   /* FQPCID used on CPSVRMGR pipe                                            */
  5120.   /***************************************************************************/
  5121.   FQPCID           fqpcid;
  5122.  
  5123.   /***************************************************************************/
  5124.   /* Retry Timeout.  Time in seconds between attempts to recontact a DLUS    */
  5125.   /***************************************************************************/
  5126.   unsigned short   dlus_retry_timeout;
  5127.  
  5128.   /***************************************************************************/
  5129.   /* Retry Limit.  Maximum Number of attempts to recontact a DLUS            */
  5130.   /***************************************************************************/
  5131.   unsigned short   dlus_retry_limit;
  5132.  
  5133. } DLUR_PU_DETAIL;
  5134.  
  5135. /**STRUCT-********************************************************************/
  5136.  
  5137.  
  5138. /**STRUCT+********************************************************************/
  5139. /* Structure:   DLUR_PU_SUMMARY                                              */
  5140. /*                                                                           */
  5141. /* Description: Data overlay returned for a QUERY_DLUR_PU signal             */
  5142. /*****************************************************************************/
  5143.  
  5144. typedef struct dlur_pu_summary
  5145. {
  5146.   unsigned short   overlay_size;
  5147.  
  5148.   /***************************************************************************/
  5149.   /* Name of PU                                                              */
  5150.   /***************************************************************************/
  5151.   unsigned char    pu_name[8];
  5152.   unsigned char    description[RD_LEN];
  5153.  
  5154. } DLUR_PU_SUMMARY;
  5155.  
  5156. /**STRUCT-********************************************************************/
  5157.  
  5158.  
  5159. /**STRUCT+********************************************************************/
  5160. /* Structure:   QUERY_DLUS                                                   */
  5161. /*                                                                           */
  5162. /* Description: Used to Query the state of DLUS pipes.                       */
  5163. /*****************************************************************************/
  5164.  
  5165. typedef struct query_dlus
  5166. {
  5167.   /***************************************************************************/
  5168.   /* Standard VCB header.                                                    */
  5169.   /***************************************************************************/
  5170.   unsigned short   opcode;
  5171.   unsigned char    reserv2;                 /* reserved                      */
  5172.   unsigned char    format;                       /* current format is 0      */
  5173.   unsigned short   primary_rc;
  5174.   unsigned long    secondary_rc;
  5175.   unsigned char   *buf_ptr;
  5176.   unsigned long    buf_size;
  5177.   unsigned long    total_buf_size;
  5178.   unsigned short   num_entries;
  5179.   unsigned short   total_num_entries;
  5180.   unsigned char    list_options;
  5181.   unsigned char    reserv3;                 /* reserved                      */
  5182.  
  5183.   /***************************************************************************/
  5184.   /* Name of the DLUS                                                        */
  5185.   /***************************************************************************/
  5186.   unsigned char    dlus_name[17];
  5187.  
  5188. } QUERY_DLUS;
  5189.  
  5190. /**STRUCT-********************************************************************/
  5191.  
  5192.  
  5193. /**STRUCT+********************************************************************/
  5194. /* Structure:   PIPE_STATS                                                   */
  5195. /*                                                                           */
  5196. /* Description: Statistics of CPSVRMGR pipe traffic                          */
  5197. /*****************************************************************************/
  5198.  
  5199. typedef struct pipe_stats
  5200. {
  5201.   /***************************************************************************/
  5202.   /* Number of REQACTPUs sent from DLUR to DLUS                              */
  5203.   /***************************************************************************/
  5204.   unsigned long    reqactpu_sent;
  5205.  
  5206.   /***************************************************************************/
  5207.   /* Number of REQACTPU RSPs from DLUS to DLUR                               */
  5208.   /***************************************************************************/
  5209.   unsigned long    reqactpu_rsp_received;
  5210.  
  5211.   /***************************************************************************/
  5212.   /* Number of ACTPUs received from DLUS                                     */
  5213.   /***************************************************************************/
  5214.   unsigned long    actpu_received;
  5215.  
  5216.   /***************************************************************************/
  5217.   /* Number of RSP(ACTPU)s sent from DLUR to DLUS                            */
  5218.   /***************************************************************************/
  5219.   unsigned long    actpu_rsp_sent;
  5220.  
  5221.   /***************************************************************************/
  5222.   /* Number of REQDACTPUs sent from DLUR to DLUS                             */
  5223.   /***************************************************************************/
  5224.   unsigned long    reqdactpu_sent;
  5225.  
  5226.   /***************************************************************************/
  5227.   /* Number of REQDACTPU RSPs from DLUS to DLUR                              */
  5228.   /***************************************************************************/
  5229.   unsigned long    reqdactpu_rsp_received;
  5230.  
  5231.   /***************************************************************************/
  5232.   /* Number of DACTPUs received from DLUS                                    */
  5233.   /***************************************************************************/
  5234.   unsigned long    dactpu_received;
  5235.  
  5236.   /***************************************************************************/
  5237.   /* Number of RSP(DACTPU)s sent from DLUR to DLUS                           */
  5238.   /***************************************************************************/
  5239.   unsigned long    dactpu_rsp_sent;
  5240.  
  5241.   /***************************************************************************/
  5242.   /* Number of ACTLUs received from DLUS                                     */
  5243.   /***************************************************************************/
  5244.   unsigned long    actlu_received;
  5245.  
  5246.   /***************************************************************************/
  5247.   /* Number of RSP(ACTLU)s sent from DLUR to DLUS                            */
  5248.   /***************************************************************************/
  5249.   unsigned long    actlu_rsp_sent;
  5250.  
  5251.   /***************************************************************************/
  5252.   /* Number of DACTLUs received from DLUS                                    */
  5253.   /***************************************************************************/
  5254.   unsigned long    dactlu_received;
  5255.  
  5256.   /***************************************************************************/
  5257.   /* Number of RSP(DACTLU)s sent from DLUR to DLUS                           */
  5258.   /***************************************************************************/
  5259.   unsigned long    dactlu_rsp_sent;
  5260.  
  5261.   /***************************************************************************/
  5262.   /* Number of SSCP-PU MUs received from DLUS                                */
  5263.   /***************************************************************************/
  5264.   unsigned long    sscp_pu_mus_rcvd;
  5265.  
  5266.   /***************************************************************************/
  5267.   /* Number of SSCP-PU MUs sent to DLUS                                      */
  5268.   /***************************************************************************/
  5269.   unsigned long    sscp_pu_mus_sent;
  5270.  
  5271.   /***************************************************************************/
  5272.   /* Number of SSCP-LU MUs received from DLUS                                */
  5273.   /***************************************************************************/
  5274.   unsigned long    sscp_lu_mus_rcvd;
  5275.  
  5276.   /***************************************************************************/
  5277.   /* Number of SSCP-LU MUs sent to DLUS                                      */
  5278.   /***************************************************************************/
  5279.   unsigned long    sscp_lu_mus_sent;
  5280.  
  5281. } PIPE_STATS;
  5282.  
  5283. /**STRUCT-********************************************************************/
  5284.  
  5285.  
  5286. /**STRUCT+********************************************************************/
  5287. /* Structure:   DLUS_DATA                                                    */
  5288. /*                                                                           */
  5289. /* Description: Data overlay returned for a QUERY_DLUS signal                */
  5290. /*****************************************************************************/
  5291.  
  5292. typedef struct dlus_data
  5293. {
  5294.   unsigned short   overlay_size;
  5295.  
  5296.   /***************************************************************************/
  5297.   /* Fully qualified name of DLUS node                                       */
  5298.   /***************************************************************************/
  5299.   unsigned char    dlus_name[17];
  5300.  
  5301.   /***************************************************************************/
  5302.   /* Specifies whether the DLUS node has been defined as the default         */
  5303.   /*   AP_YES                                                                */
  5304.   /*   AP_NO                                                                 */
  5305.   /***************************************************************************/
  5306.   unsigned char    is_default;
  5307.  
  5308.   /***************************************************************************/
  5309.   /* Specifies whether the DLUS node has been defined as the backup defaul   */
  5310.   /*   AP_YES                                                                */
  5311.   /*   AP_NO                                                                 */
  5312.   /***************************************************************************/
  5313.   unsigned char    is_backup_default;
  5314.  
  5315.   /***************************************************************************/
  5316.   /* State of CPSVRMGR pipe to DLUS node                                     */
  5317.   /*   AP_NOT_ACTIVE                                                         */
  5318.   /*   AP_PENDING_INACTIVE                                                   */
  5319.   /*   AP_ACTIVE                                                             */
  5320.   /***************************************************************************/
  5321.   unsigned char    pipe_state;
  5322.  
  5323.   /***************************************************************************/
  5324.   /* Number of active PUs using the pipe                                     */
  5325.   /***************************************************************************/
  5326.   unsigned short   num_active_pus;
  5327.  
  5328.   /***************************************************************************/
  5329.   /* Statistics on pipe traffic                                              */
  5330.   /***************************************************************************/
  5331.   PIPE_STATS       pipe_stats;
  5332.  
  5333. } DLUS_DATA;
  5334.  
  5335. /**STRUCT-********************************************************************/
  5336.  
  5337.  
  5338. /**STRUCT+********************************************************************/
  5339. /* Structure: QUERY_FOCAL_POINT                                              */
  5340. /*                                                                           */
  5341. /* Description: Used for querying focal points in MS                         */
  5342. /*****************************************************************************/
  5343.  
  5344. typedef struct query_focal_point
  5345. {
  5346.   unsigned short   opcode;
  5347.   unsigned char    reserv2;                 /* reserved                      */
  5348.   unsigned char    format;                       /* current format is 0      */
  5349.   unsigned short   primary_rc;
  5350.   unsigned long    secondary_rc;
  5351.   unsigned char   *buf_ptr;
  5352.   unsigned long    buf_size;
  5353.   unsigned long    total_buf_size;
  5354.   unsigned short   num_entries;
  5355.   unsigned short   total_num_entries;
  5356.   unsigned char    list_options;
  5357.   unsigned char    reserv3;                 /* reserved                      */
  5358.   unsigned char    ms_category[8];
  5359. } QUERY_FOCAL_POINT;
  5360.  
  5361. /**STRUCT-********************************************************************/
  5362.  
  5363.  
  5364. /**STRUCT+********************************************************************/
  5365. /* Structure: FP_DATA                                                        */
  5366. /*                                                                           */
  5367. /* Description: Overlay returned for QUERY_FP                                */
  5368. /*****************************************************************************/
  5369.  
  5370. typedef struct fp_data
  5371. {
  5372.   unsigned short   overlay_size;
  5373.   unsigned char    ms_appl_name[8];
  5374.   unsigned char    ms_category[8];
  5375.   unsigned char    description[RD_LEN];
  5376.   unsigned char    fp_fqcp_name[17];
  5377.   unsigned char    bkup_appl_name[8];
  5378.   unsigned char    bkup_fp_fqcp_name[17];
  5379.   unsigned char    implicit_appl_name[8];
  5380.   unsigned char    implicit_fp_fqcp_name[17];
  5381.  
  5382.   /***************************************************************************/
  5383.   /* Focal point types:                                                      */
  5384.   /*   AP_EXPLICIT_PRIMARY_FP                                                */
  5385.   /*   AP_BACKUP_FP                                                          */
  5386.   /*   AP_DEFAULT_PRIMARY_FP                                                 */
  5387.   /*   AP_DOMAIN_FP                                                          */
  5388.   /*   AP_HOST_FP                                                            */
  5389.   /*   AP_NO_FP                                                              */
  5390.   /***************************************************************************/
  5391.   unsigned char    fp_type;
  5392.  
  5393.   /***************************************************************************/
  5394.   /* Focal point status:                                                     */
  5395.   /*   AP_NOT_ACTIVE                                                         */
  5396.   /*   AP_ACTIVE                                                             */
  5397.   /*   AP_PENDING                                                            */
  5398.   /*   AP_NEVER_ACTIVE                                                       */
  5399.   /***************************************************************************/
  5400.   unsigned char    fp_status;
  5401.  
  5402.   /***************************************************************************/
  5403.   /* Focal point routing:                                                    */
  5404.   /*   AP_DEFAULT                                                            */
  5405.   /*   AP_DIRECT                                                             */
  5406.   /***************************************************************************/
  5407.   unsigned char    fp_routing;
  5408.   unsigned char    reserva[20];             /* reserved                      */
  5409.   unsigned short   number_of_appls;
  5410.  
  5411. } FP_DATA;
  5412.  
  5413. /**STRUCT-********************************************************************/
  5414.  
  5415.  
  5416. /**STRUCT+********************************************************************/
  5417. /* Structure: APPLICATION_ID                                                 */
  5418. /*                                                                           */
  5419. /* Description: Application identifier returned with FP_DETAIL               */
  5420. /*****************************************************************************/
  5421.  
  5422. typedef struct application_id
  5423. {
  5424.   unsigned char    appl_name[8];
  5425. } APPLICATION_ID;
  5426.  
  5427. /**STRUCT-********************************************************************/
  5428.  
  5429.  
  5430. /**STRUCT+********************************************************************/
  5431. /* Structure: QUERY_LOCAL_LU                                                 */
  5432. /*                                                                           */
  5433. /* Description: Used to obtain information on one or more local LUs          */
  5434. /*****************************************************************************/
  5435.  
  5436. typedef struct query_local_lu
  5437. {
  5438.   unsigned short   opcode;
  5439.   unsigned char    reserv2;                 /* reserved                      */
  5440.   unsigned char    format;                       /* current format is 1      */
  5441.   unsigned short   primary_rc;
  5442.   unsigned long    secondary_rc;
  5443.   unsigned char   *buf_ptr;
  5444.   unsigned long    buf_size;
  5445.   unsigned long    total_buf_size;
  5446.   unsigned short   num_entries;
  5447.   unsigned short   total_num_entries;
  5448.   unsigned char    list_options;
  5449.   unsigned char    reserv3;                 /* reserved                      */
  5450.   unsigned char    lu_name[8];
  5451.   unsigned char    lu_alias[8];
  5452.   unsigned char    pu_name[8];
  5453. } QUERY_LOCAL_LU;
  5454.  
  5455. /**STRUCT-********************************************************************/
  5456.  
  5457.  
  5458. /**STRUCT+********************************************************************/
  5459. /* Structure: LOCAL_LU_SUMMARY                                               */
  5460. /*                                                                           */
  5461. /* Description: Summary overlay returned for QUERY_LOCAL_LU                  */
  5462. /*****************************************************************************/
  5463.  
  5464. typedef struct local_lu_summary
  5465. {
  5466.   unsigned short   overlay_size;
  5467.   unsigned char    lu_name[8];
  5468.   unsigned char    lu_alias[8];
  5469.   unsigned char    description[RD_LEN];
  5470. } LOCAL_LU_SUMMARY;
  5471.  
  5472. /**STRUCT-********************************************************************/
  5473.  
  5474. /**STRUCT+********************************************************************/
  5475. /* Structure: LOCAL_LU_DET_DATA                                              */
  5476. /*                                                                           */
  5477. /* Description: Determined data for Dependent LU 6.2                         */
  5478. /*****************************************************************************/
  5479.  
  5480. typedef struct local_lu_det_data
  5481. {
  5482.   unsigned char    lu_sscp_sess_active;
  5483.   unsigned char    appl_conn_active;
  5484.   unsigned char    reserv1[2];
  5485.   SESSION_STATS    lu_sscp_stats;
  5486.   unsigned char    sscp_id[6];
  5487. } LOCAL_LU_DET_DATA;
  5488.  
  5489. /**STRUCT-********************************************************************/
  5490.  
  5491. /**STRUCT+********************************************************************/
  5492. /* Structure:   LOCAL_LU_DETAIL                                              */
  5493. /*                                                                           */
  5494. /* Description: Overlay returned on QUERY_LOCAL_LU when queried for detail   */
  5495. /*              information                                                  */
  5496. /*****************************************************************************/
  5497.  
  5498. typedef struct local_lu_detail
  5499. {
  5500.   unsigned short   overlay_size;
  5501.   unsigned char    lu_name[8];
  5502.   LOCAL_LU_DEF_DATA def_data;
  5503.   LOCAL_LU_DET_DATA det_data;
  5504. } LOCAL_LU_DETAIL;
  5505.  
  5506. /**STRUCT-********************************************************************/
  5507.  
  5508.  
  5509. /**STRUCT+********************************************************************/
  5510. /* Structure: QUERY_LOCAL_TOPOLOGY                                           */
  5511. /*                                                                           */
  5512. /* Description: Used for extracting local topology information for EN and NN */
  5513. /*              (uses local_topology overlays below but in EN case the rsn   */
  5514. /*               and frsn fields are reserved)                               */
  5515. /*****************************************************************************/
  5516.  
  5517. typedef struct query_local_topology
  5518. {
  5519.   unsigned short   opcode;
  5520.   unsigned char    reserv2;                 /* reserved                      */
  5521.   unsigned char    format;                       /* current format is 0      */
  5522.   unsigned short   primary_rc;
  5523.   unsigned long    secondary_rc;
  5524.   unsigned char   *buf_ptr;
  5525.   unsigned long    buf_size;
  5526.   unsigned long    total_buf_size;
  5527.   unsigned short   num_entries;
  5528.   unsigned short   total_num_entries;
  5529.   unsigned char    list_options;
  5530.   unsigned char    reserv3;                 /* reserved                      */
  5531.   unsigned char    dest[17];
  5532.   unsigned char    dest_type;
  5533.   unsigned char    tg_num;
  5534. } QUERY_LOCAL_TOPOLOGY;
  5535.  
  5536. /**STRUCT-********************************************************************/
  5537.  
  5538.  
  5539. /**STRUCT+********************************************************************/
  5540. /* Structure: LOCAL_TOPOLOGY_SUMMARY                                         */
  5541. /*                                                                           */
  5542. /* Description: Summary overlay used by QUERY_LOCAL_TOPOLOGY                 */
  5543. /*****************************************************************************/
  5544.  
  5545. typedef struct local_topology_summary
  5546. {
  5547.   unsigned short   overlay_size;
  5548.   unsigned char    dest[17];
  5549.   unsigned char    dest_type;
  5550.   unsigned char    tg_num;
  5551. } LOCAL_TOPOLOGY_SUMMARY;
  5552.  
  5553. /**STRUCT-********************************************************************/
  5554.  
  5555.  
  5556. /**STRUCT+********************************************************************/
  5557. /* Structure: LOCAL_TOPOLOGY_DETAIL                                          */
  5558. /*                                                                           */
  5559. /* Description: Detail overlay used for QUERY_LOCAL_TOPOLOGY                 */
  5560. /*****************************************************************************/
  5561.  
  5562. typedef struct local_topology_detail
  5563. {
  5564.   unsigned short   overlay_size;
  5565.   unsigned char    dest[17];
  5566.   unsigned char    dest_type;
  5567.   unsigned char    tg_num;
  5568.   unsigned char    reserv1;                 /* reserved                      */
  5569.   LINK_ADDRESS     dlc_data;
  5570.   unsigned long    rsn;
  5571.   unsigned char    status;
  5572.   TG_DEFINED_CHARS tg_chars;
  5573.   unsigned char    cp_cp_session_active;
  5574.   unsigned char    branch_link_type;
  5575.   unsigned char    branch_tg;
  5576.   unsigned char    reserva[13];             /* reserved                      */
  5577. } LOCAL_TOPOLOGY_DETAIL;
  5578.  
  5579. /**STRUCT-********************************************************************/
  5580.  
  5581. /**STRUCT+********************************************************************/
  5582. /* Structure:   QUERY_LS                                                     */
  5583. /*                                                                           */
  5584. /* Description: Sent NOF->CS to query link status.  Returned as RSP by CS... */
  5585. /*****************************************************************************/
  5586.  
  5587. typedef struct query_ls
  5588. {
  5589.   /***************************************************************************/
  5590.   /* Standard VCB header.                                                    */
  5591.   /***************************************************************************/
  5592.   unsigned short   opcode;
  5593.   unsigned char    attributes;
  5594.   unsigned char    format;                       /* current format is 1      */
  5595.   unsigned short   primary_rc;
  5596.   unsigned long    secondary_rc;
  5597.   unsigned char   *buf_ptr;
  5598.   unsigned long    buf_size;
  5599.   unsigned long    total_buf_size;
  5600.   unsigned short   num_entries;
  5601.   unsigned short   total_num_entries;
  5602.   unsigned char    list_options;
  5603.   unsigned char    reserv3;                 /* reserved                      */
  5604.  
  5605.   /***************************************************************************/
  5606.   /* Name of the LS                                                          */
  5607.   /***************************************************************************/
  5608.   unsigned char    ls_name[8];
  5609.  
  5610.   /***************************************************************************/
  5611.   /* port name filter                                                        */
  5612.   /***************************************************************************/
  5613.   unsigned char    port_name[8];
  5614.  
  5615. } QUERY_LS;
  5616.  
  5617. /**STRUCT-********************************************************************/
  5618.  
  5619. /**STRUCT+********************************************************************/
  5620. /* Structure:   QUERY_LS_EXCEPTION                                           */
  5621. /*                                                                           */
  5622. /* Description: Sent NOF->CS to query link exception data.  Returned as RSP  */
  5623. /* by CS...                                                                  */
  5624. /*****************************************************************************/
  5625.  
  5626. typedef struct query_ls_exception
  5627. {
  5628.   /***************************************************************************/
  5629.   /* Standard VCB header.                                                    */
  5630.   /***************************************************************************/
  5631.   unsigned short   opcode;
  5632.   unsigned char    attributes;
  5633.   unsigned char    format;                       /* current format is 0      */
  5634.   unsigned short   primary_rc;
  5635.   unsigned long    secondary_rc;
  5636.   unsigned char   *buf_ptr;
  5637.   unsigned long    buf_size;
  5638.   unsigned long    total_buf_size;
  5639.   unsigned short   num_entries;
  5640.   unsigned short   total_num_entries;
  5641.   unsigned char    list_options;
  5642.   unsigned char    reserv3;                 /* reserved                      */
  5643.  
  5644.   /***************************************************************************/
  5645.   /* Index of LS exception entry.                                            */
  5646.   /***************************************************************************/
  5647.   unsigned long    exception_index;
  5648.  
  5649.   /***************************************************************************/
  5650.   /* Name of the LS                                                          */
  5651.   /***************************************************************************/
  5652.   unsigned char    ls_name[8];
  5653.  
  5654. } QUERY_LS_EXCEPTION;
  5655.  
  5656. /**STRUCT-********************************************************************/
  5657.  
  5658. /**STRUCT+********************************************************************/
  5659. /* Structure: LS_SUMMARY                                                     */
  5660. /*                                                                           */
  5661. /* Description: Structure of summary info returned on a QUERY_LS             */
  5662. /*****************************************************************************/
  5663.  
  5664. typedef struct ls_summary
  5665. {
  5666.   unsigned short   overlay_size;
  5667.   unsigned char    ls_name[8];
  5668.   unsigned char    description[RD_LEN];
  5669.   unsigned char    dlc_type;
  5670.   unsigned char    state;
  5671.   unsigned short   act_sess_count;
  5672.   unsigned char    det_adj_cp_name[17];
  5673.   unsigned char    det_adj_cp_type;
  5674.   unsigned char    port_name[8];
  5675.   unsigned char    adj_cp_name[17];
  5676.   unsigned char    adj_cp_type;
  5677. } LS_SUMMARY;
  5678.  
  5679. /**STRUCT-********************************************************************/
  5680.  
  5681.  
  5682. /**STRUCT+********************************************************************/
  5683. /* Structure: LS_STATS                                                       */
  5684. /*                                                                           */
  5685. /* Description: LS statistics                                                */
  5686. /*****************************************************************************/
  5687.  
  5688. typedef struct ls_stats
  5689. {
  5690.   unsigned long    in_xid_bytes;
  5691.   unsigned long    in_msg_bytes;
  5692.   unsigned long    in_xid_frames;
  5693.   unsigned long    in_msg_frames;
  5694.   unsigned long    out_xid_bytes;
  5695.   unsigned long    out_msg_bytes;
  5696.   unsigned long    out_xid_frames;
  5697.   unsigned long    out_msg_frames;
  5698.   unsigned long    in_invalid_sna_frames;
  5699.   unsigned long    in_session_control_frames;
  5700.   unsigned long    out_session_control_frames;
  5701.   unsigned long    echo_rsps;
  5702.   unsigned long    current_delay;
  5703.   unsigned long    max_delay;
  5704.   unsigned long    min_delay;
  5705.   unsigned long    max_delay_time;
  5706.   unsigned long    good_xids;
  5707.   unsigned long    bad_xids;
  5708. } LS_STATS;
  5709.  
  5710. /**STRUCT-********************************************************************/
  5711.  
  5712.  
  5713. /**STRUCT+********************************************************************/
  5714. /* Structure:   LS_DET_DATA                                                  */
  5715. /*                                                                           */
  5716. /* Description: Data determined during life of LS                            */
  5717. /*****************************************************************************/
  5718.  
  5719. typedef struct ls_det_data
  5720. {
  5721.   unsigned short   act_sess_count;
  5722.   unsigned char    dlc_type;
  5723.   unsigned char    state;
  5724.   unsigned char    sub_state;
  5725.   unsigned char    det_adj_cp_name[17];
  5726.   unsigned char    det_adj_cp_type;
  5727.   unsigned char    dlc_name[8];
  5728.   unsigned char    dynamic;
  5729.   unsigned char    migration;
  5730.   unsigned char    tg_num;
  5731.   LS_STATS         ls_stats;
  5732.   unsigned long    start_time;
  5733.   unsigned long    stop_time;
  5734.   unsigned long    up_time;
  5735.   unsigned long    current_state_time;
  5736.   unsigned char    deact_cause;
  5737.   unsigned char    hpr_support;
  5738.   unsigned char    anr_label[2];
  5739.   unsigned char    hpr_link_lvl_error;
  5740.   unsigned char    auto_act;
  5741.   unsigned char    ls_role;
  5742.   unsigned char    reserva;                           /* reserved            */
  5743.   unsigned char    node_id[4];
  5744.   unsigned short   active_isr_count;
  5745.   unsigned short   active_lu_sess_count;
  5746.   unsigned short   active_sscp_sess_count;
  5747.   ANR_LABEL        reverse_anr_label;
  5748.   LINK_ADDRESS     local_address;
  5749.   unsigned short   max_send_btu_size;
  5750.   unsigned char    brnn_link_type;
  5751.   unsigned char    adj_cp_is_brnn;
  5752.   unsigned char    reservb[64];             /* reserved                      */
  5753. } LS_DET_DATA;
  5754.  
  5755. /**STRUCT-********************************************************************/
  5756.  
  5757.  
  5758. /**STRUCT+********************************************************************/
  5759. /* Structure:   LS_DETAIL                                                    */
  5760. /*                                                                           */
  5761. /* Description: Overlay returned for a QUERY_LS when DETAIL information      */
  5762. /*              is requested                                                 */
  5763. /*****************************************************************************/
  5764.  
  5765. typedef struct ls_detail
  5766. {
  5767.   unsigned short   overlay_size;
  5768.   unsigned char    ls_name[8];
  5769.   LS_DET_DATA      det_data;
  5770.   LS_DEF_DATA      def_data;
  5771. } LS_DETAIL;
  5772.  
  5773. /**STRUCT-********************************************************************/
  5774.  
  5775. /**STRUCT+********************************************************************/
  5776. /* Structure: LS_DATE_TIME                                                   */
  5777. /*                                                                           */
  5778. /* Description: Date/Time Structure used in the LS_EXCEPTION structure       */
  5779. /*****************************************************************************/
  5780.  
  5781. typedef struct ls_date_time
  5782. {
  5783.   /***************************************************************************/
  5784.   /* This structure is set up to include the year in two formats.            */
  5785.   /* The first format uses two bytes (upper_year and lower_year) to          */
  5786.   /* include the year in hex.  For example, the year 1989 is encoded as      */
  5787.   /* upper_byte = 0x07, lower_byte = 0xC5.                                   */
  5788.   /* The second format uses 1 byte to code in hex the last 2 digits of the   */
  5789.   /* year.                                                                   */
  5790.   /***************************************************************************/
  5791.   unsigned char   upper_year;
  5792.   unsigned char   lower_year;
  5793.   unsigned char   year;
  5794.   unsigned char   month;
  5795.   unsigned char   day;
  5796.   unsigned char   hour;
  5797.   unsigned char   minute;
  5798.   unsigned char   second;
  5799.   unsigned char   hundredth;
  5800. } LS_DATE_TIME;
  5801. /**STRUCT-********************************************************************/
  5802.  
  5803. /**STRUCT+********************************************************************/
  5804. /* Structure:   LS_EXCEPTION                                                 */
  5805. /*                                                                           */
  5806. /* Description: Overlay returned for a QUERY_LS_EXCEPTION verb               */
  5807. /*****************************************************************************/
  5808. typedef struct ls_exception
  5809. {
  5810.   unsigned short  overlay_size;
  5811.   unsigned long   exception_index;
  5812.   LS_DATE_TIME    time;
  5813.   unsigned char   ls_name[8];
  5814.   unsigned char   adj_cp_name[17];
  5815.   unsigned char   adj_node_id[4];
  5816.   unsigned short  tg_number;
  5817.   unsigned long   general_sense;
  5818.   unsigned char   retry;
  5819.   unsigned long   end_sense;
  5820.   unsigned long   xid_local_sense;
  5821.   unsigned long   xid_remote_sense;
  5822.   unsigned short  xid_error_byte;
  5823.   unsigned short  xid_error_bit;
  5824.   unsigned char   dlc_type;
  5825.   LINK_ADDRESS    local_addr;
  5826.   LINK_ADDRESS    destination_addr;
  5827.   unsigned char   reserved[20];             /* reserved                      */
  5828. } LS_EXCEPTION;
  5829.  
  5830. /**STRUCT-********************************************************************/
  5831.  
  5832. /**STRUCT+********************************************************************/
  5833. /* Structure: QUERY_LU_0_TO_3                                                */
  5834. /*                                                                           */
  5835. /* Description: Used to obtain information on one or more LUs type 0 to 3    */
  5836. /*****************************************************************************/
  5837.  
  5838. typedef struct query_lu_0_to_3
  5839. {
  5840.   unsigned short   opcode;
  5841.   unsigned char    attributes;
  5842.   unsigned char    format;                       /* current format is 1      */
  5843.   unsigned short   primary_rc;
  5844.   unsigned long    secondary_rc;
  5845.   unsigned char   *buf_ptr;
  5846.   unsigned long    buf_size;
  5847.   unsigned long    total_buf_size;
  5848.   unsigned short   num_entries;
  5849.   unsigned short   total_num_entries;
  5850.   unsigned char    list_options;
  5851.   unsigned char    reserv3;                 /* reserved                      */
  5852.   unsigned char    pu_name[8];
  5853.   unsigned char    lu_name[8];
  5854.   unsigned char    host_attachment;
  5855. } QUERY_LU_0_TO_3;
  5856.  
  5857. /**STRUCT-********************************************************************/
  5858.  
  5859.  
  5860. /**STRUCT+********************************************************************/
  5861. /* Structure: LU_0_TO_3_SUMMARY                                              */
  5862. /*                                                                           */
  5863. /* Description: Summary overlay returned for QUERY_LU_0_TO_3                 */
  5864. /*****************************************************************************/
  5865.  
  5866. typedef struct lu_0_to_3_summary
  5867. {
  5868.   unsigned short   overlay_size;
  5869.   unsigned char    pu_name[8];
  5870.   unsigned char    lu_name[8];
  5871.   unsigned char    description[RD_LEN];
  5872.   unsigned char    nau_address;
  5873.   unsigned char    lu_sscp_sess_active;
  5874.   unsigned char    appl_conn_active;
  5875.   unsigned char    plu_sess_active;
  5876.   unsigned char    host_attachment;
  5877. } LU_0_TO_3_SUMMARY;
  5878.  
  5879. /**STRUCT-********************************************************************/
  5880.  
  5881.  
  5882. /**STRUCT+********************************************************************/
  5883. /* Structure: LU_0_TO_3_DET_DATA                                             */
  5884. /*                                                                           */
  5885. /* Description: Determined data for LUs of type 0 to 3                       */
  5886. /*****************************************************************************/
  5887.  
  5888. typedef struct lu_0_to_3_det_data
  5889. {
  5890.   unsigned char    lu_sscp_sess_active;
  5891.   unsigned char    appl_conn_active;
  5892.   unsigned char    plu_sess_active;
  5893.   unsigned char    host_attachment;
  5894.   SESSION_STATS    lu_sscp_stats;
  5895.   SESSION_STATS    plu_stats;
  5896.   unsigned char    plu_name[8];
  5897.   unsigned char    session_id[8];
  5898.   unsigned char    app_spec_det_data[256];
  5899.   unsigned char    app_type;
  5900.   unsigned char    reserva[19];             /* reserved                      */
  5901. } LU_0_TO_3_DET_DATA;
  5902.  
  5903. /**STRUCT-********************************************************************/
  5904.  
  5905.  
  5906. /**STRUCT+********************************************************************/
  5907. /* Structure: LU_0_TO_3_DETAIL                                               */
  5908. /*                                                                           */
  5909. /* Description: Overlay returned for QUERY_LU_0_TO_3 when detailed data      */
  5910. /*              is requeseted                                                */
  5911. /*****************************************************************************/
  5912.  
  5913. typedef struct lu_0_to_3_detail
  5914. {
  5915.   unsigned short   overlay_size;
  5916.   unsigned char    lu_name[8];
  5917.   unsigned char    reserv1[2];              /* reserved                      */
  5918.   LU_0_TO_3_DET_DATA det_data;
  5919.   LU_0_TO_3_DEF_DATA def_data;
  5920. } LU_0_TO_3_DETAIL;
  5921.  
  5922. /**STRUCT-********************************************************************/
  5923.  
  5924.  
  5925. /**STRUCT+********************************************************************/
  5926. /* Structure: QUERY_LU_POOL                                                  */
  5927. /*                                                                           */
  5928. /* Description: Used to obtain information on one or more LU pools           */
  5929. /*****************************************************************************/
  5930.  
  5931. typedef struct query_lu_pool
  5932. {
  5933.   unsigned short   opcode;
  5934.   unsigned char    attributes;
  5935.   unsigned char    format;                       /* current format is 0      */
  5936.   unsigned short   primary_rc;
  5937.   unsigned long    secondary_rc;
  5938.   unsigned char   *buf_ptr;
  5939.   unsigned long    buf_size;
  5940.   unsigned long    total_buf_size;
  5941.   unsigned short   num_entries;
  5942.   unsigned short   total_num_entries;
  5943.   unsigned char    list_options;
  5944.   unsigned char    reserv3;                 /* reserved                      */
  5945.   unsigned char    pool_name[8];
  5946.   unsigned char    lu_name[8];
  5947. } QUERY_LU_POOL;
  5948.  
  5949. /**STRUCT-********************************************************************/
  5950.  
  5951.  
  5952. /**STRUCT+********************************************************************/
  5953. /* Structure: LU_POOL_SUMMARY                                                */
  5954. /*                                                                           */
  5955. /* Description: Summary overlay returned for QUERY_LU_POOL                   */
  5956. /*****************************************************************************/
  5957.  
  5958. typedef struct lu_pool_summary
  5959. {
  5960.   unsigned short   overlay_size;
  5961.   unsigned char    pool_name[8];
  5962.   unsigned char    description[RD_LEN];
  5963.   unsigned short   num_active_lus;
  5964.   unsigned short   num_avail_lus;
  5965.   unsigned short   num_act_appl_conn_lus;
  5966.   unsigned short   total_num_lus;
  5967. } LU_POOL_SUMMARY;
  5968.  
  5969. /**STRUCT-********************************************************************/
  5970.  
  5971. /**STRUCT+********************************************************************/
  5972. /* Structure: LU_POOL_DETAIL                                                 */
  5973. /*                                                                           */
  5974. /* Description: Detail overlay returned for QUERY_LU_POOL                    */
  5975. /*****************************************************************************/
  5976.  
  5977. typedef struct lu_pool_detail
  5978. {
  5979.   unsigned short   overlay_size;
  5980.   unsigned char    pool_name[8];
  5981.   unsigned char    description[RD_LEN];
  5982.   unsigned char    lu_name[8];
  5983.   unsigned char    lu_sscp_sess_active;
  5984.   unsigned char    appl_conn_active;
  5985.   unsigned char    plu_sess_active;
  5986. } LU_POOL_DETAIL;
  5987.  
  5988. /**STRUCT-********************************************************************/
  5989.  
  5990. /**STRUCT+********************************************************************/
  5991. /* Structure: QUERY_MDS_APPLICATION                                          */
  5992. /*                                                                           */
  5993. /* Description: Used for querying application registered for MDS level       */
  5994. /*              information                                                  */
  5995. /*****************************************************************************/
  5996.  
  5997. typedef struct query_mds_application
  5998. {
  5999.   unsigned short   opcode;
  6000.   unsigned char    reserv2;                 /* reserved                      */
  6001.   unsigned char    format;                       /* current format is 0      */
  6002.   unsigned short   primary_rc;
  6003.   unsigned long    secondary_rc;
  6004.   unsigned char   *buf_ptr;
  6005.   unsigned long    buf_size;
  6006.   unsigned long    total_buf_size;
  6007.   unsigned short   num_entries;
  6008.   unsigned short   total_num_entries;
  6009.   unsigned char    list_options;
  6010.   unsigned char    reserv3;                 /* reserved                      */
  6011.   unsigned char    application[8];
  6012. } QUERY_MDS_APPLICATION;
  6013.  
  6014. /**STRUCT-********************************************************************/
  6015.  
  6016.  
  6017. /**STRUCT+********************************************************************/
  6018. /* Structure: MDS_APPLICATION_DATA                                           */
  6019. /*                                                                           */
  6020. /* Description: Information returned for QUERY_MDS_APPLICATION               */
  6021. /*****************************************************************************/
  6022.  
  6023. typedef struct mds_application_data
  6024. {
  6025.   unsigned short   overlay_size;
  6026.   unsigned char    application[8];
  6027.   unsigned short   max_rcv_size;
  6028.   unsigned char    reserva[20];             /* reserved                      */
  6029. } MDS_APPLICATION_DATA;
  6030.  
  6031. /**STRUCT-********************************************************************/
  6032.  
  6033.  
  6034. /**STRUCT+********************************************************************/
  6035. /* Structure: QUERY_MDS_STATISTICS                                           */
  6036. /*                                                                           */
  6037. /* Description: Used for querying MDS statistics                             */
  6038. /*****************************************************************************/
  6039.  
  6040. typedef struct query_mds_statistics
  6041. {
  6042.   unsigned short   opcode;
  6043.   unsigned char    reserv2;                 /* reserved                      */
  6044.   unsigned char    format;                       /* current format is 0      */
  6045.   unsigned short   primary_rc;
  6046.   unsigned long    secondary_rc;
  6047.   unsigned long    alerts_sent;
  6048.   unsigned long    alert_errors_rcvd;
  6049.   unsigned long    uncorrelated_alert_errors;
  6050.   unsigned long    mds_mus_rcvd_local;
  6051.   unsigned long    mds_mus_rcvd_remote;
  6052.   unsigned long    mds_mus_delivered_local;
  6053.   unsigned long    mds_mus_delivered_remote;
  6054.   unsigned long    parse_errors;
  6055.   unsigned long    failed_deliveries;
  6056. #ifdef NN_SUPPORTED
  6057.   unsigned long    ds_searches_performed;
  6058.   unsigned long    unverified_errors;
  6059. #else
  6060.   unsigned long    ds_searches_performed;   /* reserved                      */
  6061.   unsigned long    unverified_errors;       /* reserved                      */
  6062. #endif
  6063.   unsigned char    reserva[20];             /* reserved                      */
  6064. } QUERY_MDS_STATISTICS;
  6065.  
  6066. /**STRUCT-********************************************************************/
  6067.  
  6068.  
  6069. /**STRUCT+********************************************************************/
  6070. /* Structure: MDS_STATISTICS                                                 */
  6071. /*                                                                           */
  6072. /* Description: Structure for holding MDS Statistics                         */
  6073. /*****************************************************************************/
  6074.  
  6075. typedef struct mds_statistics
  6076. {
  6077.   unsigned long    alerts_sent;
  6078.   unsigned long    alert_errors_rcvd;
  6079.   unsigned long    uncorrelated_alert_errors;
  6080.   unsigned long    mds_mus_rcvd_local;
  6081.   unsigned long    mds_mus_rcvd_remote;
  6082.   unsigned long    mds_mus_delivered_local;
  6083.   unsigned long    mds_mus_delivered_remote;
  6084.   unsigned long    parse_errors;
  6085.   unsigned long    failed_deliveries;
  6086.   unsigned long    ds_searches_performed;
  6087.   unsigned long    unverified_errors;
  6088. } MDS_STATISTICS;
  6089.  
  6090. /**STRUCT-********************************************************************/
  6091.  
  6092.  
  6093. /**STRUCT+********************************************************************/
  6094. /* Structure: QUERY_MODE                                                     */
  6095. /*                                                                           */
  6096. /* Description: Used for querying mode information                           */
  6097. /*****************************************************************************/
  6098.  
  6099. typedef struct query_mode
  6100. {
  6101.   unsigned short   opcode;
  6102.   unsigned char    reserv2;                 /* reserved                      */
  6103.   unsigned char    format;                       /* current format is 0      */
  6104.   unsigned short   primary_rc;
  6105.   unsigned long    secondary_rc;
  6106.   unsigned char   *buf_ptr;
  6107.   unsigned long    buf_size;
  6108.   unsigned long    total_buf_size;
  6109.   unsigned short   num_entries;
  6110.   unsigned short   total_num_entries;
  6111.   unsigned char    list_options;
  6112.   unsigned char    reserv3;                 /* reserved                      */
  6113.   unsigned char    lu_name[8];
  6114.   unsigned char    lu_alias[8];
  6115.   unsigned char    plu_alias[8];
  6116.   unsigned char    fqplu_name[17];
  6117.   unsigned char    mode_name[8];
  6118.   unsigned char    active_sessions;
  6119. } QUERY_MODE;
  6120.  
  6121. /**STRUCT-********************************************************************/
  6122.  
  6123.  
  6124. /**STRUCT+********************************************************************/
  6125. /* Structure: MODE_SUMMARY                                                   */
  6126. /*                                                                           */
  6127. /* Description: Summary overlay used for query_mode                          */
  6128. /*****************************************************************************/
  6129.  
  6130. typedef struct mode_summary
  6131. {
  6132.   unsigned short   overlay_size;
  6133.   unsigned char    mode_name[8];
  6134.   unsigned char    description[RD_LEN];
  6135.   unsigned short   sess_limit;
  6136.   unsigned short   act_sess_count;
  6137.   unsigned char    fqplu_name[17];
  6138.   unsigned char    reserv1[3];              /* reserved                      */
  6139. } MODE_SUMMARY;
  6140.  
  6141. /**STRUCT-********************************************************************/
  6142.  
  6143.  
  6144. /**STRUCT+********************************************************************/
  6145. /* Structure: MODE_DETAIL                                                    */
  6146. /*                                                                           */
  6147. /* Description: Detail overlay used for query_mode                           */
  6148. /*****************************************************************************/
  6149.  
  6150. typedef struct mode_detail
  6151. {
  6152.   unsigned short   overlay_size;
  6153.   unsigned char    mode_name[8];
  6154.   unsigned char    description[RD_LEN];
  6155.   unsigned short   sess_limit;
  6156.   unsigned short   act_sess_count;
  6157.   unsigned char    fqplu_name[17];
  6158.   unsigned char    reserv1[3];              /* reserved                      */
  6159.   unsigned short   min_conwinners_source;
  6160.   unsigned short   min_conwinners_target;
  6161.   unsigned char    drain_source;
  6162.   unsigned char    drain_partner;
  6163.   unsigned short   auto_act;
  6164.   unsigned short   act_cw_count;
  6165.   unsigned short   act_cl_count;
  6166.   unsigned char    sync_level;
  6167.   unsigned char    default_ru_size;
  6168.   unsigned short   max_neg_sess_limit;
  6169.   unsigned short   max_rcv_ru_size;
  6170.   unsigned short   pending_session_count;
  6171.   unsigned short   termination_count;
  6172.   unsigned char    implicit;
  6173.   unsigned char    reserva[15];             /* reserved                      */
  6174. } MODE_DETAIL;
  6175.  
  6176. /**STRUCT-********************************************************************/
  6177.  
  6178.  
  6179. /**STRUCT+********************************************************************/
  6180. /* Structure: QUERY_MODE_DEFINITION                                          */
  6181. /*                                                                           */
  6182. /* Description: Extracts mode definition information                         */
  6183. /*****************************************************************************/
  6184.  
  6185. typedef struct query_mode_definition
  6186. {
  6187.   unsigned short   opcode;
  6188.   unsigned char    reserv2;                 /* reserved                      */
  6189.   unsigned char    format;                       /* current format is 0      */
  6190.   unsigned short   primary_rc;
  6191.   unsigned long    secondary_rc;
  6192.   unsigned char   *buf_ptr;
  6193.   unsigned long    buf_size;
  6194.   unsigned long    total_buf_size;
  6195.   unsigned short   num_entries;
  6196.   unsigned short   total_num_entries;
  6197.   unsigned char    list_options;
  6198.   unsigned char    reserv3;                 /* reserved                      */
  6199.   unsigned char    mode_name[8];
  6200. } QUERY_MODE_DEFINITION;
  6201.  
  6202. /**STRUCT-********************************************************************/
  6203.  
  6204.  
  6205. /**STRUCT+********************************************************************/
  6206. /* Structure: MODE_DEF_SUMMARY                                               */
  6207. /*                                                                           */
  6208. /* Description: Summary information returned on QUERY_MODE_DEF               */
  6209. /*****************************************************************************/
  6210.  
  6211. typedef struct mode_def_summary
  6212. {
  6213.   unsigned short   overlay_size;
  6214.   unsigned char    mode_name[8];
  6215.   unsigned char    description[RD_LEN];
  6216. } MODE_DEF_SUMMARY;
  6217.  
  6218. /**STRUCT-********************************************************************/
  6219.  
  6220.  
  6221. /**STRUCT+********************************************************************/
  6222. /* Structure: MODE_DEF_DETAIL                                                */
  6223. /*                                                                           */
  6224. /* Description: Detail information returned on QUERY_MODE_DEF                */
  6225. /*****************************************************************************/
  6226.  
  6227. typedef struct mode_def_detail
  6228. {
  6229.   unsigned short   overlay_size;
  6230.   unsigned char    mode_name[8];
  6231.   MODE_CHARS       mode_chars;
  6232. } MODE_DEF_DETAIL;
  6233.  
  6234. /**STRUCT-********************************************************************/
  6235.  
  6236.  
  6237. /**STRUCT+********************************************************************/
  6238. /* Structure: QUERY_MODE_TO_COS_MAPPING                                      */
  6239. /*                                                                           */
  6240. /* Description: Extracts mode to COS mappings                                */
  6241. /*****************************************************************************/
  6242.  
  6243. typedef struct query_mode_to_cos_mapping
  6244. {
  6245.   unsigned short   opcode;
  6246.   unsigned char    reserv2;                 /* reserved                      */
  6247.   unsigned char    format;                       /* current format is 0      */
  6248.   unsigned short   primary_rc;
  6249.   unsigned long    secondary_rc;
  6250.   unsigned char   *buf_ptr;
  6251.   unsigned long    buf_size;
  6252.   unsigned long    total_buf_size;
  6253.   unsigned short   num_entries;
  6254.   unsigned short   total_num_entries;
  6255.   unsigned char    list_options;
  6256.   unsigned char    reserv3;                 /* reserved                      */
  6257.   unsigned char    mode_name[8];
  6258. } QUERY_MODE_TO_COS_MAPPING;
  6259.  
  6260. /**STRUCT-********************************************************************/
  6261.  
  6262.  
  6263. /**STRUCT+********************************************************************/
  6264. /* Structure: MODE_TO_COS_MAPPING_DATA                                       */
  6265. /*                                                                           */
  6266. /* Description: Overlay used by QUERY_MODE_TO_COS_MAPPING                    */
  6267. /*****************************************************************************/
  6268.  
  6269. typedef struct mode_to_cos_mapping_data
  6270. {
  6271.   unsigned short   overlay_size;
  6272.   unsigned char    mode_name[8];
  6273.   unsigned char    cos_name[8];
  6274.   unsigned char    reserva[20];             /* reserved                      */
  6275. } MODE_TO_COS_MAPPING_DATA;
  6276.  
  6277. /**STRUCT-********************************************************************/
  6278.  
  6279.  
  6280. /**STRUCT+********************************************************************/
  6281. /* Structure: QUERY_NMVT_APPLICATION                                         */
  6282. /*                                                                           */
  6283. /* Description: Used for querying application registered for NMVT level      */
  6284. /*              information                                                  */
  6285. /*****************************************************************************/
  6286.  
  6287. typedef struct query_nmvt_application
  6288. {
  6289.   unsigned short   opcode;
  6290.   unsigned char    reserv2;                 /* reserved                      */
  6291.   unsigned char    format;                       /* current format is 0      */
  6292.   unsigned short   primary_rc;
  6293.   unsigned long    secondary_rc;
  6294.   unsigned char   *buf_ptr;
  6295.   unsigned long    buf_size;
  6296.   unsigned long    total_buf_size;
  6297.   unsigned short   num_entries;
  6298.   unsigned short   total_num_entries;
  6299.   unsigned char    list_options;
  6300.   unsigned char    reserv3;                 /* reserved                      */
  6301.  
  6302.   unsigned char    application[8];
  6303. } QUERY_NMVT_APPLICATION;
  6304.  
  6305. /**STRUCT-********************************************************************/
  6306.  
  6307.  
  6308. /**STRUCT+********************************************************************/
  6309. /* Structure: NMVT_APPLICATION_DATA                                          */
  6310. /*                                                                           */
  6311. /* Description: Information returned for QUERY_NMVT_APPLICATION              */
  6312. /*****************************************************************************/
  6313.  
  6314. typedef struct nmvt_application_data
  6315. {
  6316.   unsigned short   overlay_size;
  6317.   unsigned char    application[8];
  6318.   unsigned short   ms_vector_key_type;
  6319.   unsigned char    conversion_required;
  6320.   unsigned char    reserv[5];               /* reserved                      */
  6321.   unsigned char    reserva[20];             /* reserved                      */
  6322. } NMVT_APPLICATION_DATA;
  6323.  
  6324. /**STRUCT-********************************************************************/
  6325.  
  6326.  
  6327. /**STRUCT+********************************************************************/
  6328. /* Structure:   QUERY_NODE                                                   */
  6329. /*                                                                           */
  6330. /* Description: Used to query node details.  Note nn_* fields are reserved   */
  6331. /*              when querying an end node and en_* fields are reserved       */
  6332. /*              when querying a network node.                                */
  6333. /*                                                                           */
  6334. /*****************************************************************************/
  6335.  
  6336. typedef struct query_node
  6337. {
  6338.   unsigned short   opcode;
  6339.   unsigned char    reserv2;                 /* reserved                      */
  6340.   unsigned char    format;                       /* current format is 3      */
  6341.   unsigned short   primary_rc;
  6342.   unsigned long    secondary_rc;
  6343.   CP_CREATE_PARMS  cp_create_parms;
  6344.   unsigned long    up_time;
  6345.   unsigned long    mem_size;
  6346.   unsigned long    mem_used;
  6347.   unsigned long    mem_warning_threshold;
  6348.   unsigned long    mem_critical_threshold;
  6349.   unsigned char    nn_functions_supported;
  6350.   unsigned char    functions_supported;
  6351.   unsigned char    en_functions_supported;
  6352.   unsigned char    nn_status;
  6353.   unsigned long    nn_frsn;
  6354.   unsigned long    nn_rsn;
  6355.   unsigned long    def_ls_good_xids;
  6356.   unsigned long    def_ls_bad_xids;
  6357.   unsigned long    dyn_ls_good_xids;
  6358.   unsigned long    dyn_ls_bad_xids;
  6359.   unsigned char    dlur_release_level;
  6360.   unsigned char    nns_dlus_served_lu_reg_supp;
  6361.   unsigned char    reserva[18];             /* reserved                      */
  6362.   unsigned char    fq_nn_server_name[17];
  6363.   unsigned long    current_isr_sessions;
  6364.   unsigned char    nn_functions2;
  6365.   unsigned char    branch_ntwk_arch_version;
  6366.   unsigned char    reservb[28];             /* reserved                      */
  6367. } QUERY_NODE;
  6368.  
  6369. /**STRUCT-********************************************************************/
  6370.  
  6371.  
  6372. /**STRUCT+********************************************************************/
  6373. /* Structure: QUERY_PARTNER_LU                                               */
  6374. /*                                                                           */
  6375. /* Description: Used to query partner LU information                         */
  6376. /*****************************************************************************/
  6377.  
  6378. typedef struct query_partner_lu
  6379. {
  6380.   unsigned short   opcode;
  6381.   unsigned char    reserv2;                 /* reserved                      */
  6382.   unsigned char    format;                       /* current format is 0      */
  6383.   unsigned short   primary_rc;
  6384.   unsigned long    secondary_rc;
  6385.   unsigned char   *buf_ptr;
  6386.   unsigned long    buf_size;
  6387.   unsigned long    total_buf_size;
  6388.   unsigned short   num_entries;
  6389.   unsigned short   total_num_entries;
  6390.   unsigned char    list_options;
  6391.   unsigned char    reserv3;                 /* reserved                      */
  6392.   unsigned char    lu_name[8];
  6393.   unsigned char    lu_alias[8];
  6394.   unsigned char    plu_alias[8];
  6395.   unsigned char    fqplu_name[17];
  6396.   unsigned char    active_sessions;
  6397. } QUERY_PARTNER_LU;
  6398.  
  6399. /**STRUCT-********************************************************************/
  6400.  
  6401.  
  6402. /**STRUCT+********************************************************************/
  6403. /* Structure: PLU_SUMMARY                                                    */
  6404. /*                                                                           */
  6405. /* Description: Summary overlay used for QUERY_PARTNER_LU                    */
  6406. /*****************************************************************************/
  6407.  
  6408. typedef struct plu_summary
  6409. {
  6410.   unsigned short   overlay_size;
  6411.   unsigned char    plu_alias[8];
  6412.   unsigned char    fqplu_name[17];
  6413.   unsigned char    reserv1;                 /* reserved                      */
  6414.   unsigned char    description[RD_LEN];
  6415.   unsigned short   act_sess_count;
  6416.   unsigned char    partner_cp_name[17];
  6417.   unsigned char    partner_lu_located;
  6418. } PLU_SUMMARY;
  6419.  
  6420. /**STRUCT-********************************************************************/
  6421.  
  6422.  
  6423. /**STRUCT+********************************************************************/
  6424. /* Structure: PLU_DETAIL                                                     */
  6425. /*                                                                           */
  6426. /* Description: Detail overlay used for QUERY_PARTNER_LU                     */
  6427. /*****************************************************************************/
  6428.  
  6429. typedef struct plu_detail
  6430. {
  6431.   unsigned short   overlay_size;
  6432.   unsigned char    plu_alias[8];
  6433.   unsigned char    fqplu_name[17];
  6434.   unsigned char    reserv1;                 /* reserved                      */
  6435.   unsigned char    description[RD_LEN];
  6436.   unsigned short   act_sess_count;
  6437.   unsigned char    partner_cp_name[17];
  6438.   unsigned char    partner_lu_located;
  6439.   unsigned char    plu_un_name[8];
  6440.   unsigned char    parallel_sess_supp;
  6441.   unsigned char    conv_security;
  6442.   unsigned short   max_mc_ll_send_size;
  6443.   unsigned char    implicit;
  6444.   unsigned char    security_details;
  6445.   unsigned char    duplex_support;
  6446.   unsigned char    preference;
  6447.   unsigned char    reserva[16];             /* reserved                      */
  6448. } PLU_DETAIL;
  6449.  
  6450. /**STRUCT-********************************************************************/
  6451.  
  6452.  
  6453. /**STRUCT+********************************************************************/
  6454. /* Structure: QUERY_PARTNER_LU_DEFINITION                                    */
  6455. /*                                                                           */
  6456. /* Description: Extracts partner LU definition details                       */
  6457. /*****************************************************************************/
  6458.  
  6459. typedef struct query_partner_lu_definition
  6460. {
  6461.   unsigned short   opcode;
  6462.   unsigned char    reserv2;                 /* reserved                      */
  6463.   unsigned char    format;                       /* current format is 0      */
  6464.   unsigned short   primary_rc;
  6465.   unsigned long    secondary_rc;
  6466.   unsigned char   *buf_ptr;
  6467.   unsigned long    buf_size;
  6468.   unsigned long    total_buf_size;
  6469.   unsigned short   num_entries;
  6470.   unsigned short   total_num_entries;
  6471.   unsigned char    list_options;
  6472.   unsigned char    reserv3;                 /* reserved                      */
  6473.   unsigned char    plu_alias[8];
  6474.   unsigned char    fqplu_name[17];
  6475. } QUERY_PARTNER_LU_DEFINITION;
  6476.  
  6477. /**STRUCT-********************************************************************/
  6478.  
  6479.  
  6480. /**STRUCT+********************************************************************/
  6481. /* Structure: PARTNER_LU_DEF_SUMMARY                                         */
  6482. /*                                                                           */
  6483. /* Description: Summary information used by QUERY_PARTNER_LU_DEF             */
  6484. /*****************************************************************************/
  6485.  
  6486. typedef struct partner_lu_def_summary
  6487. {
  6488.   unsigned short   overlay_size;
  6489.   unsigned char    plu_alias[8];
  6490.   unsigned char    fqplu_name[17];
  6491.   unsigned char    description[RD_LEN];
  6492. } PARTNER_LU_DEF_SUMMARY;
  6493.  
  6494. /**STRUCT-********************************************************************/
  6495.  
  6496.  
  6497. /**STRUCT+********************************************************************/
  6498. /* Structure: PARTNER_LU_DEF_DETAIL                                          */
  6499. /*                                                                           */
  6500. /* Description: Detail overlay used for QUERY_PARTNER_LU_DEF                 */
  6501. /*****************************************************************************/
  6502.  
  6503. typedef struct partner_lu_def_detail
  6504. {
  6505.   unsigned short   overlay_size;
  6506.   unsigned char    plu_alias[8];
  6507.   unsigned char    fqplu_name[17];
  6508.   unsigned char    reserv1;                 /* reserved                      */
  6509.   PLU_CHARS        plu_chars;
  6510. } PARTNER_LU_DEF_DETAIL;
  6511.  
  6512. /**STRUCT-********************************************************************/
  6513.  
  6514.  
  6515. /**STRUCT+********************************************************************/
  6516. /* Structure:   QUERY_PORT                                                   */
  6517. /*                                                                           */
  6518. /* Description: Sent NOF->CS to query port status.  Returned as RSP by CS.   */
  6519. /*****************************************************************************/
  6520.  
  6521. typedef struct query_port
  6522. {
  6523.   /***************************************************************************/
  6524.   /* Standard VCB header.                                                    */
  6525.   /***************************************************************************/
  6526.   unsigned short   opcode;
  6527.   unsigned char    attributes;
  6528.   unsigned char    format;                       /* current format is 0      */
  6529.   unsigned short   primary_rc;
  6530.   unsigned long    secondary_rc;
  6531.   unsigned char   *buf_ptr;
  6532.   unsigned long    buf_size;
  6533.   unsigned long    total_buf_size;
  6534.   unsigned short   num_entries;
  6535.   unsigned short   total_num_entries;
  6536.   unsigned char    list_options;
  6537.   unsigned char    reserv3;                 /* reserved                      */
  6538.  
  6539.   /***************************************************************************/
  6540.   /* Name of the port                                                        */
  6541.   /***************************************************************************/
  6542.   unsigned char    port_name[8];
  6543.  
  6544.   /***************************************************************************/
  6545.   /* Name of the DLC if filtering                                            */
  6546.   /***************************************************************************/
  6547.   unsigned char    dlc_name[8];
  6548.  
  6549. } QUERY_PORT;
  6550.  
  6551. /**STRUCT-********************************************************************/
  6552.  
  6553.  
  6554. /**STRUCT+********************************************************************/
  6555. /* Structure: PORT_SUMMARY                                                   */
  6556. /*                                                                           */
  6557. /* Description: Summary overlay used for QUERY_PORT                          */
  6558. /*****************************************************************************/
  6559.  
  6560. typedef struct port_summary
  6561. {
  6562.   unsigned short   overlay_size;
  6563.   unsigned char    port_name[8];
  6564.   unsigned char    description[RD_LEN];
  6565.   unsigned char    port_state;
  6566.   unsigned char    reserv1[1];              /* reserved                      */
  6567.   unsigned char    dlc_name[8];
  6568. } PORT_SUMMARY;
  6569.  
  6570. /**STRUCT-********************************************************************/
  6571.  
  6572.  
  6573. /**STRUCT+********************************************************************/
  6574. /* Structure:   PORT_DET_DATA                                                */
  6575. /*                                                                           */
  6576. /* Description: Determined data during life of port                          */
  6577. /*****************************************************************************/
  6578.  
  6579. typedef struct port_det_data
  6580. {
  6581.   unsigned char    port_state;
  6582.   unsigned char    dlc_type;
  6583.   unsigned char    port_sim_rim;
  6584.   unsigned char    reserv1;                 /* reserved                      */
  6585.   unsigned short   def_ls_good_xids;
  6586.   unsigned short   def_ls_bad_xids;
  6587.   unsigned short   dyn_ls_good_xids;
  6588.   unsigned short   dyn_ls_bad_xids;
  6589.   unsigned short   num_implicit_links;
  6590.   unsigned char    neg_ls_supp;
  6591.   unsigned char    abm_ls_supp;
  6592.   unsigned long    start_time;
  6593.   unsigned char    reserva[12];             /* reserved                      */
  6594. } PORT_DET_DATA;
  6595.  
  6596. /**STRUCT-********************************************************************/
  6597.  
  6598.  
  6599. /**STRUCT+********************************************************************/
  6600. /* Structure: PORT_DETAIL                                                    */
  6601. /*                                                                           */
  6602. /* Description: Detailed overlay used for QUERY_PORT                         */
  6603. /*****************************************************************************/
  6604.  
  6605. typedef struct port_detail
  6606. {
  6607.   unsigned short   overlay_size;
  6608.   unsigned char    port_name[8];
  6609.   unsigned char    reserv1[2];              /* reserved                      */
  6610.   PORT_DET_DATA    det_data;
  6611.   PORT_DEF_DATA    def_data;
  6612. } PORT_DETAIL;
  6613.  
  6614. /**STRUCT-********************************************************************/
  6615.  
  6616.  
  6617. /**STRUCT+********************************************************************/
  6618. /* Structure: QUERY_PU                                                       */
  6619. /*                                                                           */
  6620. /* Description: Used to obtain information on one or more PUs and the links  */
  6621. /*              associated with them                                         */
  6622. /*****************************************************************************/
  6623.  
  6624. typedef struct query_pu
  6625. {
  6626.   unsigned short   opcode;
  6627.   unsigned char    attributes;
  6628.   unsigned char    format;                       /* current format is 0      */
  6629.   unsigned short   primary_rc;
  6630.   unsigned long    secondary_rc;
  6631.   unsigned char   *buf_ptr;
  6632.   unsigned long    buf_size;
  6633.   unsigned long    total_buf_size;
  6634.   unsigned short   num_entries;
  6635.   unsigned short   total_num_entries;
  6636.   unsigned char    list_options;
  6637.   unsigned char    reserv3;                 /* reserved                      */
  6638.   unsigned char    pu_name[8];
  6639.   unsigned char    host_attachment;
  6640. } QUERY_PU;
  6641.  
  6642. /**STRUCT-********************************************************************/
  6643.  
  6644.  
  6645. /**STRUCT+********************************************************************/
  6646. /* Structure: PU_DATA                                                        */
  6647. /*                                                                           */
  6648. /* Description: Summary overlay returned for QUERY_PU                        */
  6649. /*****************************************************************************/
  6650.  
  6651. typedef struct pu_data
  6652. {
  6653.   unsigned short   overlay_size;
  6654.   unsigned char    pu_name[8];
  6655.   unsigned char    description[RD_LEN];
  6656.   unsigned char    ls_name[8];
  6657.   unsigned char    pu_sscp_sess_active;
  6658.   unsigned char    host_attachment;
  6659.   SESSION_STATS    pu_sscp_stats;
  6660.   unsigned char    sscp_id[6];
  6661.   unsigned char    conventional_lu_compression;
  6662.   unsigned char    conventional_lu_cryptography;
  6663.   unsigned char    reserva[12];             /* reserved                      */
  6664. } PU_DATA;
  6665.  
  6666. /**STRUCT-********************************************************************/
  6667.  
  6668.  
  6669. /**STRUCT+********************************************************************/
  6670. /* Structure: QUERY_RTP_CONNECTION                                           */
  6671. /*                                                                           */
  6672. /* Description: NOF verb to query information about one or more RTP          */
  6673. /*              connections                                                  */
  6674. /*****************************************************************************/
  6675.  
  6676. typedef struct query_rtp_connection
  6677. {
  6678.   unsigned short   opcode;
  6679.   unsigned char    reserv2;                 /* reserved                      */
  6680.   unsigned char    format;                       /* current format is 0      */
  6681.   unsigned short   primary_rc;
  6682.   unsigned long    secondary_rc;
  6683.   unsigned char   *buf_ptr;
  6684.   unsigned long    buf_size;
  6685.   unsigned long    total_buf_size;
  6686.   unsigned short   num_entries;
  6687.   unsigned short   total_num_entries;
  6688.   unsigned char    list_options;
  6689.   unsigned char    reserv3;                 /* reserved                      */
  6690.   unsigned char    rtp_name[8];
  6691. } QUERY_RTP_CONNECTION;
  6692.  
  6693. /**STRUCT-********************************************************************/
  6694.  
  6695.  
  6696. /**STRUCT+********************************************************************/
  6697. /* Structure: RTP_CONNECTION_SUMMARY                                         */
  6698. /*                                                                           */
  6699. /* Description: Summary information returned for QUERY_RTP_CONNECTION        */
  6700. /*****************************************************************************/
  6701.  
  6702. typedef struct rtp_connection_summary
  6703. {
  6704.   unsigned short   overlay_size;
  6705.   unsigned char    rtp_name[8];
  6706.   unsigned char    first_hop_ls_name[8];
  6707.   unsigned char    dest_node_name[17];
  6708.   unsigned char    connection_type;
  6709.   unsigned char    cos_name[8];
  6710.   unsigned short   num_sess_active;
  6711. } RTP_CONNECTION_SUMMARY;
  6712.  
  6713. /**STRUCT-********************************************************************/
  6714.  
  6715.  
  6716. /**STRUCT+********************************************************************/
  6717. /* Structure: RTP_STATISTICS                                                 */
  6718. /*                                                                           */
  6719. /* Description: RTP connection statistics                                    */
  6720. /*****************************************************************************/
  6721.  
  6722. typedef struct rtp_statistics
  6723. {
  6724.   unsigned long    bytes_sent;
  6725.   unsigned long    bytes_received;
  6726.   unsigned long    bytes_resent;
  6727.   unsigned long    bytes_discarded;
  6728.   unsigned long    packets_sent;
  6729.   unsigned long    packets_received;
  6730.   unsigned long    packets_resent;
  6731.   unsigned long    packets_discarded;
  6732.   unsigned long    gaps_detected;
  6733.   unsigned long    send_rate;
  6734.   unsigned long    max_send_rate;
  6735.   unsigned long    min_send_rate;
  6736.   unsigned long    receive_rate;
  6737.   unsigned long    max_receive_rate;
  6738.   unsigned long    min_receive_rate;
  6739.   unsigned long    burst_size;
  6740.   unsigned long    up_time;
  6741.   unsigned long    smooth_rtt;
  6742.   unsigned long    last_rtt;
  6743.   unsigned long    short_req_timer;
  6744.   unsigned long    short_req_timeouts;
  6745.   unsigned long    liveness_timeouts;
  6746.   unsigned long    in_invalid_sna_frames;
  6747.   unsigned long    in_sc_frames;
  6748.   unsigned long    out_sc_frames;
  6749.   unsigned char    reserve[40];             /* reserved                      */
  6750.  
  6751. } RTP_STATISTICS;
  6752.  
  6753. /**STRUCT-********************************************************************/
  6754.  
  6755.  
  6756. /*****************************************************************************/
  6757. /* This is the maximum length of the RSCV appended after the                 */
  6758. /* RTP_CONNECTION_DETAIL                                                     */
  6759. /*****************************************************************************/
  6760. #define MAX_RSCV_LENGTH 255
  6761.  
  6762. /**STRUCT+********************************************************************/
  6763. /* Structure: RTP_CONNECTION_DETAIL                                          */
  6764. /*                                                                           */
  6765. /* Description: Detailed information returned for QUERY_RTP_CONNECTION       */
  6766. /*****************************************************************************/
  6767.  
  6768. typedef struct rtp_connection_detail
  6769. {
  6770.   unsigned short   overlay_size;
  6771.  
  6772.   /***************************************************************************/
  6773.   /* The following fields are the same as the summary                        */
  6774.   /***************************************************************************/
  6775.   unsigned char    rtp_name[8];
  6776.   unsigned char    first_hop_ls_name[8];
  6777.   unsigned char    dest_node_name[17];
  6778.   unsigned char    isr_boundary_fn;
  6779.   unsigned char    connection_type;
  6780.   unsigned char    reserv1;                 /* reserved                      */
  6781.   unsigned char    cos_name[8];
  6782.  
  6783.   /***************************************************************************/
  6784.   /* The following are extra fields for the detail                           */
  6785.   /***************************************************************************/
  6786.   unsigned short   max_btu_size;
  6787.   unsigned long    liveness_timer;
  6788.   unsigned char    local_tcid[8];
  6789.   unsigned char    remote_tcid[8];
  6790.   RTP_STATISTICS   rtp_stats;
  6791.   unsigned short   num_sess_active;
  6792.   unsigned char    reserv2[16];             /* reserved                      */
  6793.  
  6794.   /***************************************************************************/
  6795.   /* The RSCV is variable length, and is appended after the DETAIL structure */
  6796.   /***************************************************************************/
  6797.   unsigned short   rscv_len;
  6798.  
  6799. } RTP_CONNECTION_DETAIL;
  6800.  
  6801. /**STRUCT-********************************************************************/
  6802.  
  6803.  
  6804. /**STRUCT+********************************************************************/
  6805. /* Structure: QUERY_SESSION                                                  */
  6806. /*                                                                           */
  6807. /* Description: Used for querying session info                               */
  6808. /*****************************************************************************/
  6809.  
  6810. typedef struct query_session
  6811. {
  6812.   unsigned short   opcode;
  6813.   unsigned char    reserv2;                 /* reserved                      */
  6814.   unsigned char    format;                       /* current format is 0      */
  6815.   unsigned short   primary_rc;
  6816.   unsigned long    secondary_rc;
  6817.   unsigned char   *buf_ptr;
  6818.   unsigned long    buf_size;
  6819.   unsigned long    total_buf_size;
  6820.   unsigned short   num_entries;
  6821.   unsigned short   total_num_entries;
  6822.   unsigned char    list_options;
  6823.   unsigned char    reserv3;                 /* reserved                      */
  6824.   unsigned char    lu_name[8];
  6825.   unsigned char    lu_alias[8];
  6826.   unsigned char    plu_alias[8];
  6827.   unsigned char    fqplu_name[17];
  6828.   unsigned char    mode_name[8];
  6829.   unsigned char    session_id[8];
  6830. } QUERY_SESSION;
  6831.  
  6832. /**STRUCT-********************************************************************/
  6833.  
  6834.  
  6835. /**STRUCT+********************************************************************/
  6836. /* Structure: SESSION_SUMMARY                                                */
  6837. /*                                                                           */
  6838. /* Description: Summary overlay used for QUERY_SESSION                       */
  6839. /*****************************************************************************/
  6840.  
  6841. typedef struct session_summary
  6842. {
  6843.   unsigned short   overlay_size;
  6844.   unsigned char    plu_alias[8];
  6845.   unsigned char    fqplu_name[17];
  6846.   unsigned char    reserv3[1];              /* reserved                      */
  6847.   unsigned char    mode_name[8];
  6848.   unsigned char    session_id[8];
  6849.   FQPCID           fqpcid;
  6850. } SESSION_SUMMARY;
  6851.  
  6852. /**STRUCT-********************************************************************/
  6853.  
  6854.  
  6855. /**STRUCT+********************************************************************/
  6856. /* Structure: SESSION_DETAIL                                                 */
  6857. /*                                                                           */
  6858. /* Description: Detail overlay used for QUERY_SESSION                        */
  6859. /*****************************************************************************/
  6860.  
  6861. typedef struct session_detail
  6862. {
  6863.   unsigned short   overlay_size;
  6864.   unsigned char    plu_alias[8];
  6865.   unsigned char    fqplu_name[17];
  6866.   unsigned char    reserv3[1];              /* reserved                      */
  6867.   unsigned char    mode_name[8];
  6868.   unsigned char    session_id[8];
  6869.   FQPCID           fqpcid;
  6870.   unsigned char    cos_name[8];
  6871.   unsigned char    trans_pri;
  6872.   unsigned char    ltd_res;
  6873.   unsigned char    polarity;
  6874.   unsigned char    contention;
  6875.   SESSION_STATS    sess_stats;
  6876.   unsigned char    duplex_support;
  6877.   unsigned char    sscp_id[6];
  6878.   unsigned char    reserva;                 /* reserved                      */
  6879.   unsigned long    session_start_time;
  6880.   unsigned short   session_timeout;
  6881.   unsigned char    reservb[7];              /* reserved                      */
  6882.   unsigned char    plu_slu_comp_lvl;
  6883.   unsigned char    slu_plu_comp_lvl;
  6884.   unsigned char    rscv_len;
  6885. } SESSION_DETAIL;
  6886.  
  6887. /**STRUCT-********************************************************************/
  6888.  
  6889.  
  6890. /**STRUCT+********************************************************************/
  6891. /* Structure:   QUERY_STATISTICS                                             */
  6892. /*                                                                           */
  6893. /* Description: This is the message passed from NOF->CS and back to give     */
  6894. /* link and port statistics.  CS then converts it into a QUERY_LS_STATISTICS */
  6895. /* or QUERY_PORT_STATISTICS and routes it the appropriate DLC instance       */
  6896. /* which routes it according to the specifier (which therefore requires      */
  6897. /* the port or link station to be non-reset).  On its return, CS copies      */
  6898. /* the statistics back into this message and returns it (via the NOF).       */
  6899. /*****************************************************************************/
  6900.  
  6901. typedef struct query_statistics
  6902. {
  6903.   /***************************************************************************/
  6904.   /* Standard VCB header.                                                    */
  6905.   /***************************************************************************/
  6906.   unsigned short   opcode;
  6907.   unsigned char    reserv2;                 /* reserved                      */
  6908.   unsigned char    format;                       /* current format is 0      */
  6909.   unsigned short   primary_rc;
  6910.   unsigned long    secondary_rc;
  6911.  
  6912.   /***************************************************************************/
  6913.   /* Name of the adjacent link station                                       */
  6914.   /***************************************************************************/
  6915.   unsigned char    name[8];
  6916.  
  6917.   /***************************************************************************/
  6918.   /* Type of statistics                                                      */
  6919.   /* Valid values: AP_LS or AP_PORT                                          */
  6920.   /***************************************************************************/
  6921.   unsigned char    stats_type;
  6922.  
  6923.   /***************************************************************************/
  6924.   /* Table type                                                              */
  6925.   /* Valid values: AP_STATS_TBL, AP_ADMIN_TBL, AP_OPER_TBL                   */
  6926.   /***************************************************************************/
  6927.   unsigned char    table_type;
  6928.  
  6929.   /***************************************************************************/
  6930.   /* Should stats be reset?  AP_YES or AP_NO                                 */
  6931.   /***************************************************************************/
  6932.   unsigned char    reset_stats;
  6933.  
  6934.   /***************************************************************************/
  6935.   /* Type of the DLC                                                         */
  6936.   /***************************************************************************/
  6937.   unsigned char    dlc_type;
  6938.  
  6939.   /***************************************************************************/
  6940.   /* Adj LS current statistics                                               */
  6941.   /***************************************************************************/
  6942.   unsigned char    statistics[256];
  6943.   unsigned char    reserva[20];             /* reserved                      */
  6944.  
  6945. } QUERY_STATISTICS;
  6946.  
  6947. /**STRUCT-********************************************************************/
  6948.  
  6949.  
  6950. /*****************************************************************************/
  6951. /* The following are the LINK and PORT statistics fields returned by LLC2    */
  6952. /*****************************************************************************/
  6953.  
  6954. /**STRUCT+********************************************************************/
  6955. /* Structure: LLC2_DEV_STATS                                                 */
  6956. /*                                                                           */
  6957. /* Description: Statistics data supplied in an NMAC QUERY_DEVICE signal      */
  6958. /*              response, and included in the N-DLC QUERY_PORT_STATISTICS    */
  6959. /*              signal response.                                             */
  6960. /*                                                                           */
  6961. /*              Derived from Statistics formats listed in Chapter 8 of       */
  6962. /*              the IBM publication "Extended Services for OS2: Programming  */
  6963. /*              Services and Advanced Problem Determination for              */
  6964. /*              Communications" Number S04G-1007-00                          */
  6965. /*                                                                           */
  6966. /*****************************************************************************/
  6967.  
  6968. typedef struct llc2_dev_stats
  6969. {
  6970.   /***************************************************************************/
  6971.   /* adapter number                                                          */
  6972.   /***************************************************************************/
  6973.   unsigned char    adapter_number;
  6974.  
  6975.   /***************************************************************************/
  6976.   /* reserved field  - value is 0                                            */
  6977.   /***************************************************************************/
  6978.   unsigned char    res1;                    /* reserved                      */
  6979.  
  6980.   /***************************************************************************/
  6981.   /* line error count                                                        */
  6982.   /***************************************************************************/
  6983.   unsigned char    line_error;
  6984.  
  6985.   /***************************************************************************/
  6986.   /* Internal error count                                                    */
  6987.   /***************************************************************************/
  6988.   unsigned char    internal_error;
  6989.  
  6990.   /***************************************************************************/
  6991.   /* Burst error count                                                       */
  6992.   /***************************************************************************/
  6993.   unsigned char    burst_error;
  6994.  
  6995.   /***************************************************************************/
  6996.   /* ARI/FCI error count                                                     */
  6997.   /***************************************************************************/
  6998.   unsigned char    ari_fci_error;
  6999.  
  7000.   /***************************************************************************/
  7001.   /* End delimter                                                            */
  7002.   /***************************************************************************/
  7003.   unsigned char    end_delim;
  7004.  
  7005.   /***************************************************************************/
  7006.   /* reserved field  - value is xx                                           */
  7007.   /***************************************************************************/
  7008.   unsigned char    res2;                    /* reserved                      */
  7009.  
  7010.   /***************************************************************************/
  7011.   /* Lost frame count                                                        */
  7012.   /***************************************************************************/
  7013.   unsigned char    lost_frame;
  7014.  
  7015.   /***************************************************************************/
  7016.   /* Receive congestion count                                                */
  7017.   /***************************************************************************/
  7018.   unsigned char    rcv_cngstn;
  7019.  
  7020.   /***************************************************************************/
  7021.   /* Frame Copied error count                                                */
  7022.   /***************************************************************************/
  7023.   unsigned char    frm_cpy_err;
  7024.  
  7025.   /***************************************************************************/
  7026.   /* Fequency error count                                                    */
  7027.   /***************************************************************************/
  7028.   unsigned char    freq_err;
  7029.  
  7030.   /***************************************************************************/
  7031.   /* Token error count                                                       */
  7032.   /***************************************************************************/
  7033.   unsigned char    token_err;
  7034.  
  7035.   /***************************************************************************/
  7036.   /* CRC error count                                                         */
  7037.   /***************************************************************************/
  7038.   unsigned char    crc_err;
  7039.  
  7040.   /***************************************************************************/
  7041.   /* reserved field  - value is 0                                            */
  7042.   /***************************************************************************/
  7043.   unsigned char    res3;                    /* reserved                      */
  7044.  
  7045.   /***************************************************************************/
  7046.   /* Transmit error count                                                    */
  7047.   /***************************************************************************/
  7048.   unsigned char    xmit_err;
  7049.  
  7050.   /***************************************************************************/
  7051.   /* reserved field  - value is 0                                            */
  7052.   /***************************************************************************/
  7053.   unsigned char    res4;                    /* reserved                      */
  7054.  
  7055.   /***************************************************************************/
  7056.   /* collision errors count                                                  */
  7057.   /***************************************************************************/
  7058.   unsigned char    collision_err;
  7059.  
  7060.   /***************************************************************************/
  7061.   /* reserved fields - value is '00 xx xx xx 00 00 00'                       */
  7062.   /***************************************************************************/
  7063.   unsigned char    res5[7];                 /* reserved                      */
  7064.  
  7065. } LLC2_DEV_STATS;
  7066.  
  7067. /**STRUCT-********************************************************************/
  7068.  
  7069.  
  7070. /**STRUCT+********************************************************************/
  7071. /* Structure: LLC2_PORT_STATS                                                */
  7072. /*                                                                           */
  7073. /* Description: Statistics data supplied in an NDLC QUERY_PORT_STATISTICS    */
  7074. /*              signal response.                                             */
  7075. /*                                                                           */
  7076. /*****************************************************************************/
  7077.  
  7078. typedef struct llc2_port_stats
  7079. {
  7080.   /***************************************************************************/
  7081.   /* System time (NB_GET_TIME format) when port was activated                */
  7082.   /***************************************************************************/
  7083.   unsigned long    time_secs;
  7084.   unsigned short   time_ms;
  7085.  
  7086.   /***************************************************************************/
  7087.   /* MAC address of this port                                                */
  7088.   /***************************************************************************/
  7089.   unsigned char    mac_addr[MAC_ADDRESS_SIZE];
  7090.  
  7091.   /***************************************************************************/
  7092.   /* SAP-specific data set for this port when it was opened.                 */
  7093.   /***************************************************************************/
  7094.   unsigned short   ack_timeout;
  7095.   unsigned short   p_bit_timeout;
  7096.   unsigned short   t2_timeout;
  7097.   unsigned short   rej_timeout;
  7098.   unsigned short   busy_state_timeout;
  7099.   unsigned short   idle_timeout;
  7100.   unsigned short   max_retry;
  7101.  
  7102.   /***************************************************************************/
  7103.   /* Max BTU size permitted on this port (by config or stub)                 */
  7104.   /***************************************************************************/
  7105.   unsigned short   max_btu_size;
  7106.  
  7107.   /***************************************************************************/
  7108.   /* Number of link stations currently in use on this port                   */
  7109.   /***************************************************************************/
  7110.   unsigned short   ls_count;
  7111.   unsigned short   reserve1;                /* reserved                      */
  7112.  
  7113.   /***************************************************************************/
  7114.   /* Count of UI frames sent                                                 */
  7115.   /***************************************************************************/
  7116.   unsigned long    ui_frames_sent;
  7117.  
  7118.   /***************************************************************************/
  7119.   /* Count of UI frames received                                             */
  7120.   /***************************************************************************/
  7121.   unsigned long    ui_frames_rcvd;
  7122.  
  7123.   /***************************************************************************/
  7124.   /* Device statistics returned by NMAC STUB                                 */
  7125.   /***************************************************************************/
  7126.   LLC2_DEV_STATS   device_stats;
  7127.  
  7128. } LLC2_PORT_STATS;
  7129.  
  7130. /**STRUCT-********************************************************************/
  7131.  
  7132.  
  7133. /**STRUCT+********************************************************************/
  7134. /* Structure: LLC2_LS_STATS                                                  */
  7135. /*                                                                           */
  7136. /* Description: Statistics data supplied in an NDLC QUERY_LS_STATISTICS      */
  7137. /*              response.                                                    */
  7138. /*                                                                           */
  7139. /*****************************************************************************/
  7140.  
  7141. #define LLC_MAX_BRIDGES  8
  7142.  
  7143. typedef struct llc2_ls_stats
  7144. {
  7145.   /***************************************************************************/
  7146.   /* Local and remote MAC/SAP pair for this station                          */
  7147.   /* RIF field - Token ring only                                             */
  7148.   /***************************************************************************/
  7149.   unsigned char    local_mac[MAC_ADDRESS_SIZE];
  7150.   unsigned char    local_sap;
  7151.   unsigned char    reserve1;                /* reserved                      */
  7152.  
  7153.   unsigned char    remote_mac[MAC_ADDRESS_SIZE];
  7154.   unsigned char    remote_sap;
  7155.   unsigned char    reserve2;                /* reserved                      */
  7156.  
  7157.   unsigned short   rif_len;
  7158.   unsigned short   rif[LLC_MAX_BRIDGES];
  7159.  
  7160.   /***************************************************************************/
  7161.   /* LLC2 FSM state of this link station                                     */
  7162.   /***************************************************************************/
  7163.   unsigned char    ls_fsm;
  7164.   unsigned char    reserve3;                /* reserved                      */
  7165.  
  7166.   /***************************************************************************/
  7167.   /* LS MAC type    (in particular, which format of Ethernet                 */
  7168.   /***************************************************************************/
  7169.   unsigned short   mac_type;
  7170.  
  7171.   /***************************************************************************/
  7172.   /* Max BTU for this station                                                */
  7173.   /***************************************************************************/
  7174.   unsigned short   max_btu_size;
  7175.  
  7176.   /***************************************************************************/
  7177.   /* Send and receive windows for this station                               */
  7178.   /***************************************************************************/
  7179.   unsigned short   send_window;
  7180.   unsigned short   receive_window;
  7181.  
  7182.   /***************************************************************************/
  7183.   /* T1 expiry count - number of times the remote partner failed to return   */
  7184.   /*                   any form of response to a frame within the required   */
  7185.   /*                   timeout period                                        */
  7186.   /***************************************************************************/
  7187.   unsigned long    t1_expiry_count;
  7188.  
  7189.   /***************************************************************************/
  7190.   /* T2 expiry count - number of times the reply timer expired without a     */
  7191.   /*                   frame being queued on which the required reply bits   */
  7192.   /*                   could be piggybacked.  LLC2 will have generated a     */
  7193.   /*                   RR/RNR frame to carry the required reply.             */
  7194.   /***************************************************************************/
  7195.   unsigned long    t2_expiry_count;
  7196.  
  7197.   /***************************************************************************/
  7198.   /* Count of times remote busy state entered (RNR received)                 */
  7199.   /***************************************************************************/
  7200.   unsigned long    remote_busy;
  7201.  
  7202.   /***************************************************************************/
  7203.   /* Count of times local busy state entered (RNR sent)                      */
  7204.   /***************************************************************************/
  7205.   unsigned long    local_busy;
  7206.  
  7207.   /***************************************************************************/
  7208.   /* Count of I frames sent                                                  */
  7209.   /***************************************************************************/
  7210.   unsigned long    i_frames_sent;
  7211.  
  7212.   /***************************************************************************/
  7213.   /* Count of bytes in I-frames  sent                                        */
  7214.   /***************************************************************************/
  7215.   unsigned long    i_bytes_sent;
  7216.  
  7217.   /***************************************************************************/
  7218.   /* Count of I frames received                                              */
  7219.   /***************************************************************************/
  7220.   unsigned long    i_frames_rcvd;
  7221.  
  7222.   /***************************************************************************/
  7223.   /* Count of bytes in I-frames received                                     */
  7224.   /***************************************************************************/
  7225.   unsigned long    i_bytes_rcvd;
  7226.  
  7227.   /***************************************************************************/
  7228.   /* Count of received I-frames rejected/discarded                           */
  7229.   /***************************************************************************/
  7230.   unsigned long    i_frames_rjctd;
  7231.  
  7232.   /***************************************************************************/
  7233.   /* Count of received bytes in I-frames rejected/discarded                  */
  7234.   /***************************************************************************/
  7235.   unsigned long    i_bytes_rjctd;
  7236.  
  7237.   /***************************************************************************/
  7238.   /* Count of I-frames retransmitted (transmitted in error/lost)             */
  7239.   /***************************************************************************/
  7240.   unsigned long    i_frames_rexmit;
  7241.  
  7242.   /***************************************************************************/
  7243.   /* Count of bytes in I-frames retransmitted (transmitted in error/lost)    */
  7244.   /***************************************************************************/
  7245.   unsigned long    i_bytes_rexmit;
  7246.  
  7247.   /***************************************************************************/
  7248.   /* Count of REJ frames sent to request re-send of one or more I-frames     */
  7249.   /***************************************************************************/
  7250.   unsigned long    rej_frames_sent;
  7251.  
  7252.   /***************************************************************************/
  7253.   /* Count of REJ frames received requesting re-send of I-frames             */
  7254.   /***************************************************************************/
  7255.   unsigned long    rej_frames_rcvd;
  7256.  
  7257.   /***************************************************************************/
  7258.   /* Count of XID frames sent                                                */
  7259.   /***************************************************************************/
  7260.   unsigned long    xid_frames_sent;
  7261.  
  7262.   /***************************************************************************/
  7263.   /* Count of XID frames received                                            */
  7264.   /***************************************************************************/
  7265.   unsigned long    xid_frames_rcvd;
  7266.  
  7267.   /***************************************************************************/
  7268.   /* Time to wait for a response to I-frames sent (msecs)                    */
  7269.   /***************************************************************************/
  7270.   unsigned short   ack_timeout;
  7271.  
  7272.   /***************************************************************************/
  7273.   /* Time to wait for a response to a frame sent with the poll bit (msecs)   */
  7274.   /***************************************************************************/
  7275.   unsigned short   p_bit_timeout;
  7276.  
  7277.   /***************************************************************************/
  7278.   /* Time to withhold a response to a received I-frame (msecs)               */
  7279.   /***************************************************************************/
  7280.   unsigned short   t2_timeout;
  7281.  
  7282.   /***************************************************************************/
  7283.   /* Time to wait for a response to a REJ (secs)                             */
  7284.   /***************************************************************************/
  7285.   unsigned short   rej_timeout;
  7286.  
  7287.   /***************************************************************************/
  7288.   /* Time to wait for clearance of busy condition at adjacent LS (secs)      */
  7289.   /***************************************************************************/
  7290.   unsigned short   busy_state_timeout;
  7291.  
  7292.   /***************************************************************************/
  7293.   /* RR 'keep-alive' interval for an idle link (secs)                        */
  7294.   /***************************************************************************/
  7295.   unsigned short   idle_timeout;
  7296.  
  7297.   /***************************************************************************/
  7298.   /* Max retries for waiting for a response or clearance of busy state       */
  7299.   /***************************************************************************/
  7300.   unsigned short   max_retry;
  7301.  
  7302. } LLC2_LS_STATS;
  7303.  
  7304. /**STRUCT-********************************************************************/
  7305.  
  7306.  
  7307. /**STRUCT+********************************************************************/
  7308. /* Structure: QUERY_TP                                                       */
  7309. /*                                                                           */
  7310. /* Description: Used for querying TP specific information                    */
  7311. /*****************************************************************************/
  7312.  
  7313. typedef struct query_tp
  7314. {
  7315.   unsigned short   opcode;
  7316.   unsigned char    attributes;              /* reserved                      */
  7317.   unsigned char    format;                       /* current format is 0      */
  7318.   unsigned short   primary_rc;
  7319.   unsigned long    secondary_rc;
  7320.   unsigned char   *buf_ptr;
  7321.   unsigned long    buf_size;
  7322.   unsigned long    total_buf_size;
  7323.   unsigned short   num_entries;
  7324.   unsigned short   total_num_entries;
  7325.   unsigned char    list_options;
  7326.   unsigned char    reserv3;                 /* reserved                      */
  7327.   unsigned char    lu_name[8];
  7328.   unsigned char    lu_alias[8];
  7329.   unsigned char    tp_name[64];
  7330. } QUERY_TP;
  7331.  
  7332. /**STRUCT-********************************************************************/
  7333.  
  7334.  
  7335. /**STRUCT+********************************************************************/
  7336. /* Structure: TP_DATA                                                        */
  7337. /*                                                                           */
  7338. /* Description: Overlay returned for QUERY_TP                                */
  7339. /*****************************************************************************/
  7340.  
  7341. typedef struct tp_data
  7342. {
  7343.   unsigned short   overlay_size;
  7344.   unsigned char    tp_name[64];
  7345.   unsigned char    description[RD_LEN];
  7346.   unsigned short   instance_limit;
  7347.   unsigned short   instance_count;
  7348.   unsigned short   locally_started_count;
  7349.   unsigned short   remotely_started_count;
  7350.   unsigned char    reserva[20];             /* reserved                      */
  7351. } TP_DATA;
  7352.  
  7353. /**STRUCT-********************************************************************/
  7354.  
  7355.  
  7356. /**STRUCT+********************************************************************/
  7357. /* Structure: QUERY_TP_DEFINITION                                            */
  7358. /*                                                                           */
  7359. /* Description: Extracts TP definition information                           */
  7360. /*****************************************************************************/
  7361.  
  7362. typedef struct query_tp_definition
  7363. {
  7364.   unsigned short   opcode;
  7365.   unsigned char    attributes;
  7366.   unsigned char    format;                       /* current format is 0      */
  7367.   unsigned short   primary_rc;
  7368.   unsigned long    secondary_rc;
  7369.   unsigned char   *buf_ptr;
  7370.   unsigned long    buf_size;
  7371.   unsigned long    total_buf_size;
  7372.   unsigned short   num_entries;
  7373.   unsigned short   total_num_entries;
  7374.   unsigned char    list_options;
  7375.   unsigned char    reserv3;                 /* reserved                      */
  7376.   unsigned char    tp_name[64];
  7377. } QUERY_TP_DEFINITION;
  7378.  
  7379. /**STRUCT-********************************************************************/
  7380.  
  7381.  
  7382. /**STRUCT+********************************************************************/
  7383. /* Structure: TP_DEF_SUMMARY                                                 */
  7384. /*                                                                           */
  7385. /* Description: Summary overlay used for QUERY_TP_DEF                        */
  7386. /*****************************************************************************/
  7387.  
  7388. typedef struct tp_def_summary
  7389. {
  7390.   unsigned short   overlay_size;
  7391.   unsigned char    tp_name[64];
  7392.   unsigned char    description[RD_LEN];
  7393. } TP_DEF_SUMMARY;
  7394.  
  7395. /**STRUCT-********************************************************************/
  7396.  
  7397.  
  7398. /**STRUCT+********************************************************************/
  7399. /* Structure: TP_DEF_DETAIL                                                  */
  7400. /*                                                                           */
  7401. /* Description: Detail overlay used for QUERY_TP_DEF                         */
  7402. /*****************************************************************************/
  7403.  
  7404. typedef struct tp_def_detail
  7405. {
  7406.   unsigned short   overlay_size;
  7407.   unsigned char    tp_name[64];
  7408.   TP_CHARS         tp_chars;
  7409. } TP_DEF_DETAIL;
  7410.  
  7411. /**STRUCT-********************************************************************/
  7412.  
  7413.  
  7414. /**STRUCT+********************************************************************/
  7415. /* Structure:   QUERY_CPIC_SIDE_INFO                                         */
  7416. /*                                                                           */
  7417. /* Description: Used to query a CPI-C side information entry                 */
  7418. /*****************************************************************************/
  7419.  
  7420. typedef struct query_cpic_side_info
  7421. {
  7422.   unsigned short   opcode;
  7423.   unsigned char    reserv2;                 /* reserved                      */
  7424.   unsigned char    format;                       /* current format is 0      */
  7425.   unsigned short   primary_rc;
  7426.   unsigned long    secondary_rc;
  7427.   unsigned char   *buf_ptr;
  7428.   unsigned long    buf_size;
  7429.   unsigned long    total_buf_size;
  7430.   unsigned short   num_entries;
  7431.   unsigned short   total_num_entries;
  7432.   unsigned char    list_options;
  7433.   unsigned char    reserv3;                 /* reserved                      */
  7434.   unsigned char    sym_dest_name[8];
  7435. } QUERY_CPIC_SIDE_INFO;
  7436.  
  7437. /**STRUCT-********************************************************************/
  7438.  
  7439.  
  7440. /**STRUCT+********************************************************************/
  7441. /* Structure:   CPIC_SIDE_INFO_DATA                                          */
  7442. /*                                                                           */
  7443. /* Description: Used to hold a CPI-C side information entry                  */
  7444. /*****************************************************************************/
  7445.  
  7446. typedef struct cpic_side_info_data
  7447. {
  7448.   unsigned short   overlay_size;
  7449.   unsigned char    sym_dest_name[8];
  7450.   unsigned char    reserv1[2];              /* reserved                      */
  7451.   CPIC_SIDE_INFO_DEF_DATA def_data;
  7452. } CPIC_SIDE_INFO_DATA;
  7453.  
  7454. /**STRUCT-********************************************************************/
  7455.  
  7456.  
  7457. #ifdef PU_CONC_SUPPORTED
  7458. /**STRUCT+********************************************************************/
  7459. /* Structure: QUERY_DOWNSTREAM_LU                                            */
  7460. /*                                                                           */
  7461. /* Description: Used to obtain information on one or more downstream LUs     */
  7462. /*****************************************************************************/
  7463.  
  7464. typedef struct query_downstream_lu
  7465. {
  7466.   unsigned short   opcode;
  7467.   unsigned char    attributes;
  7468.   unsigned char    format;                       /* current format is 0      */
  7469.   unsigned short   primary_rc;
  7470.   unsigned long    secondary_rc;
  7471.   unsigned char   *buf_ptr;
  7472.   unsigned long    buf_size;
  7473.   unsigned long    total_buf_size;
  7474.   unsigned short   num_entries;
  7475.   unsigned short   total_num_entries;
  7476.   unsigned char    list_options;
  7477.   unsigned char    reserv3;                 /* reserved                      */
  7478.   unsigned char    dspu_name[8];
  7479.   unsigned char    dslu_name[8];
  7480.   unsigned char    dspu_services;
  7481. } QUERY_DOWNSTREAM_LU;
  7482.  
  7483. /**STRUCT-********************************************************************/
  7484.  
  7485.  
  7486. /**STRUCT+********************************************************************/
  7487. /* Structure:   DOWNSTREAM_LU_SUMMARY                                        */
  7488. /*                                                                           */
  7489. /* Description: Overlay returned on QUERY_DOWNSTREAM_LU when summary         */
  7490. /*              information is requested                                     */
  7491. /*****************************************************************************/
  7492.  
  7493. typedef struct downstream_lu_summary
  7494. {
  7495.   unsigned short   overlay_size;
  7496.   unsigned char    dspu_name[8];
  7497.   unsigned char    dslu_name[8];
  7498.   unsigned char    description[RD_LEN];
  7499.   unsigned char    dspu_services;
  7500.   unsigned char    nau_address;
  7501.   unsigned char    lu_sscp_sess_active;
  7502.   unsigned char    plu_sess_active;
  7503. } DOWNSTREAM_LU_SUMMARY;
  7504.  
  7505. /**STRUCT-********************************************************************/
  7506.  
  7507.  
  7508. /**STRUCT+********************************************************************/
  7509. /* Structure: DOWNSTREAM_LU_DET_DATA                                         */
  7510. /*                                                                           */
  7511. /* Description: Determined data for Downstream LUs                           */
  7512. /*****************************************************************************/
  7513.  
  7514. typedef struct downstream_lu_det_data
  7515. {
  7516.   unsigned char    lu_sscp_sess_active;
  7517.   unsigned char    plu_sess_active;
  7518.   unsigned char    dspu_services;
  7519.   unsigned char    reserv1;                 /* reserved                      */
  7520.   SESSION_STATS    lu_sscp_stats;
  7521.   SESSION_STATS    ds_plu_stats;
  7522.   SESSION_STATS    us_plu_stats;
  7523.   unsigned char    host_lu_name[8];
  7524.   unsigned char    host_pu_name[8];
  7525.   unsigned char    reserva[4];              /* reserved                      */
  7526. } DOWNSTREAM_LU_DET_DATA;
  7527.  
  7528. /**STRUCT-********************************************************************/
  7529.  
  7530.  
  7531. /**STRUCT+********************************************************************/
  7532. /* Structure:   DOWNSTREAM_LU_DETAIL                                         */
  7533. /*                                                                           */
  7534. /* Description: Overlay returned on QUERY_DOWNSTREAM_LU when detail          */
  7535. /*              information is requested                                     */
  7536. /*****************************************************************************/
  7537.  
  7538. typedef struct downstream_lu_detail
  7539. {
  7540.   unsigned short   overlay_size;
  7541.   unsigned char    dslu_name[8];
  7542.   unsigned char    reserv1[2];              /* reserved                      */
  7543.   DOWNSTREAM_LU_DET_DATA det_data;
  7544.   DOWNSTREAM_LU_DEF_DATA def_data;
  7545. } DOWNSTREAM_LU_DETAIL;
  7546.  
  7547. /**STRUCT-********************************************************************/
  7548.  
  7549.  
  7550. /**STRUCT+********************************************************************/
  7551. /* Structure: QUERY_DOWNSTREAM_PU                                            */
  7552. /*                                                                           */
  7553. /* Description: Used for querying DLUR and PU Concentration supported        */
  7554. /*              downstream PUs                                               */
  7555. /*****************************************************************************/
  7556.  
  7557. typedef struct query_downstream_pu
  7558. {
  7559.   unsigned short   opcode;
  7560.   unsigned char    attributes;
  7561.   unsigned char    format;                       /* current format is 0      */
  7562.   unsigned short   primary_rc;
  7563.   unsigned long    secondary_rc;
  7564.   unsigned char   *buf_ptr;
  7565.   unsigned long    buf_size;
  7566.   unsigned long    total_buf_size;
  7567.   unsigned short   num_entries;
  7568.   unsigned short   total_num_entries;
  7569.   unsigned char    list_options;
  7570.   unsigned char    reserv3;                 /* reserved                      */
  7571.   unsigned char    dspu_name[8];
  7572.   unsigned char    dspu_services;
  7573. } QUERY_DOWNSTREAM_PU;
  7574.  
  7575. /**STRUCT-********************************************************************/
  7576.  
  7577.  
  7578. /**STRUCT+********************************************************************/
  7579. /* Structure: DOWNSTREAM_PU_DATA                                             */
  7580. /*                                                                           */
  7581. /* Description: Overlay returned on QUERY_DOWNSTREAM_PU                      */
  7582. /*****************************************************************************/
  7583.  
  7584. typedef struct downstream_pu_data
  7585. {
  7586.   unsigned short   overlay_size;
  7587.   unsigned char    dspu_name[8];
  7588.   unsigned char    description[RD_LEN];
  7589.   unsigned char    ls_name[8];
  7590.   unsigned char    pu_sscp_sess_active;
  7591.   unsigned char    dspu_services;
  7592.   SESSION_STATS    pu_sscp_stats;
  7593.   unsigned char    reserva[20];             /* reserved                      */
  7594. } DOWNSTREAM_PU_DATA;
  7595.  
  7596. /**STRUCT-********************************************************************/
  7597. #endif
  7598.  
  7599.  
  7600. #ifdef NN_SUPPORTED
  7601. /**STRUCT+********************************************************************/
  7602. /* Structure: QUERY_ADJACENT_NN                                              */
  7603. /*                                                                           */
  7604. /* Description: Used to access information about an adjacent Network Node    */
  7605. /*              (NN only)                                                    */
  7606. /*****************************************************************************/
  7607.  
  7608. typedef struct query_adjacent_nn
  7609. {
  7610.   unsigned short   opcode;
  7611.   unsigned char    reserv2;                 /* reserved                      */
  7612.   unsigned char    format;                       /* current format is 0      */
  7613.   unsigned short   primary_rc;
  7614.   unsigned long    secondary_rc;
  7615.   unsigned char   *buf_ptr;
  7616.   unsigned long    buf_size;
  7617.   unsigned long    total_buf_size;
  7618.   unsigned short   num_entries;
  7619.   unsigned short   total_num_entries;
  7620.   unsigned char    list_options;
  7621.   unsigned char    reserv3;                 /* reserved                      */
  7622.   unsigned char    adj_nncp_name[17];
  7623. } QUERY_ADJACENT_NN;
  7624.  
  7625. /**STRUCT-********************************************************************/
  7626.  
  7627.  
  7628. /**STRUCT+********************************************************************/
  7629. /* Structure: ADJ_NNCP_DATA                                                  */
  7630. /*                                                                           */
  7631. /* Description: Overlay used for QUERY_ADJACENT_NN                           */
  7632. /*****************************************************************************/
  7633.  
  7634. typedef struct adj_nncp_data
  7635. {
  7636.   unsigned short   overlay_size;
  7637.   unsigned char    adj_nncp_name[17];
  7638.   unsigned char    cp_cp_sess_status;
  7639.   unsigned long    out_of_seq_tdus;
  7640.   unsigned long    last_frsn_sent;
  7641.   unsigned long    last_frsn_rcvd;
  7642.   unsigned char    reserva[20];             /* reserved                      */
  7643. } ADJ_NNCP_DATA;
  7644.  
  7645. /**STRUCT-********************************************************************/
  7646.  
  7647.  
  7648. /**STRUCT+********************************************************************/
  7649. /* Structure: QUERY_COS_NODE_ROW                                             */
  7650. /*                                                                           */
  7651. /* Description: Extracts Class Of Service node row information               */
  7652. /*****************************************************************************/
  7653.  
  7654. typedef struct query_cos_node_row
  7655. {
  7656.   unsigned short   opcode;
  7657.   unsigned char    reserv2;                 /* reserved                      */
  7658.   unsigned char    format;                       /* current format is 0      */
  7659.   unsigned short   primary_rc;
  7660.   unsigned long    secondary_rc;
  7661.   unsigned char   *buf_ptr;
  7662.   unsigned long    buf_size;
  7663.   unsigned long    total_buf_size;
  7664.   unsigned short   num_entries;
  7665.   unsigned short   total_num_entries;
  7666.   unsigned char    list_options;
  7667.   unsigned char    reserv3;                 /* reserved                      */
  7668.   unsigned char    cos_name[8];
  7669.   unsigned short   node_row_index;
  7670. } QUERY_COS_NODE_ROW;
  7671.  
  7672. /**STRUCT-********************************************************************/
  7673.  
  7674.  
  7675. /**STRUCT+********************************************************************/
  7676. /* Structure: COS_NODE_ROW_DATA                                              */
  7677. /*                                                                           */
  7678. /* Description: Overlay used for QUERY_COS_NODE_ROW                          */
  7679. /*****************************************************************************/
  7680.  
  7681. typedef struct cos_node_row_data
  7682. {
  7683.   unsigned short   overlay_size;
  7684.   unsigned char    cos_name[8];
  7685.   unsigned short   node_row_index;
  7686.   COS_NODE_ROW     node_row;
  7687. } COS_NODE_ROW_DATA;
  7688.  
  7689. /**STRUCT-********************************************************************/
  7690.  
  7691.  
  7692. /**STRUCT+********************************************************************/
  7693. /* Structure: QUERY_COS_TG_ROW                                               */
  7694. /*                                                                           */
  7695. /* Description: Extracts COS TG row                                          */
  7696. /*****************************************************************************/
  7697.  
  7698. typedef struct query_cos_tg_row
  7699. {
  7700.   unsigned short   opcode;
  7701.   unsigned char    reserv2;                 /* reserved                      */
  7702.   unsigned char    format;                       /* current format is 0      */
  7703.   unsigned short   primary_rc;
  7704.   unsigned long    secondary_rc;
  7705.   unsigned char   *buf_ptr;
  7706.   unsigned long    buf_size;
  7707.   unsigned long    total_buf_size;
  7708.   unsigned short   num_entries;
  7709.   unsigned short   total_num_entries;
  7710.   unsigned char    list_options;
  7711.   unsigned char    reserv3;                 /* reserved                      */
  7712.   unsigned char    cos_name[8];
  7713.   unsigned short   tg_row_index;
  7714. } QUERY_COS_TG_ROW;
  7715.  
  7716. /**STRUCT-********************************************************************/
  7717.  
  7718.  
  7719. /**STRUCT+********************************************************************/
  7720. /* Structure: COS_TG_ROW_DATA                                                */
  7721. /*                                                                           */
  7722. /* Description: Overlay used for QUERY_COS_TG_ROW                            */
  7723. /*****************************************************************************/
  7724.  
  7725. typedef struct cos_tg_row_data
  7726. {
  7727.   unsigned short   overlay_size;
  7728.   unsigned char    cos_name[8];
  7729.   unsigned short   tg_row_index;
  7730.   COS_TG_ROW       tg_row;
  7731. } COS_TG_ROW_DATA;
  7732.  
  7733. /**STRUCT-********************************************************************/
  7734.  
  7735.  
  7736. /**STRUCT+********************************************************************/
  7737. /* Structure: QUERY_DIRECTORY_ENTRY                                          */
  7738. /*                                                                           */
  7739. /* Description: Used for extracting directory entries                        */
  7740. /*****************************************************************************/
  7741.  
  7742. typedef struct query_directory_entry
  7743. {
  7744.   unsigned short   opcode;
  7745.   unsigned char    reserv2;                 /* reserved                      */
  7746.   unsigned char    format;                       /* current format is 1      */
  7747.   unsigned short   primary_rc;
  7748.   unsigned long    secondary_rc;
  7749.   unsigned char   *buf_ptr;
  7750.   unsigned long    buf_size;
  7751.   unsigned long    total_buf_size;
  7752.   unsigned short   num_entries;
  7753.   unsigned short   total_num_entries;
  7754.   unsigned char    list_options;
  7755.   unsigned char    reserv3;                 /* reserved                      */
  7756.   unsigned char    resource_name[17];
  7757.   unsigned char    reserv4;                 /* reserved                      */
  7758.   unsigned short   resource_type;
  7759.   unsigned char    parent_name[17];
  7760.   unsigned char    reserv5;                 /* reserved                      */
  7761.   unsigned short   parent_type;
  7762.   unsigned short   reserv6[24];             /* reserved                      */
  7763. } QUERY_DIRECTORY_ENTRY;
  7764.  
  7765. /**STRUCT-********************************************************************/
  7766.  
  7767.  
  7768. /**STRUCT+********************************************************************/
  7769. /* Structure: DIRECTORY_ENTRY_SUMMARY                                        */
  7770. /*                                                                           */
  7771. /* Description: Summary overlay used for QUERY_DIRECTORY                     */
  7772. /*****************************************************************************/
  7773.  
  7774. typedef struct directory_entry_summary
  7775. {
  7776.   unsigned short   overlay_size;
  7777.   unsigned char    resource_name[17];
  7778.   unsigned char    reserve1;                /* reserved                      */
  7779.   unsigned short   resource_type;
  7780.   unsigned char    description[RD_LEN];
  7781.   unsigned short   real_owning_cp_type;
  7782.   unsigned char    real_owning_cp_name[17];
  7783. } DIRECTORY_ENTRY_SUMMARY;
  7784.  
  7785. /**STRUCT-********************************************************************/
  7786.  
  7787.  
  7788. /**STRUCT+********************************************************************/
  7789. /* Structure: DIRECTORY_ENTRY_DETAIL                                         */
  7790. /*                                                                           */
  7791. /* Description: Detail overlay used for QUERY_DIRECTORY                      */
  7792. /*****************************************************************************/
  7793.  
  7794. typedef struct directory_entry_detail
  7795. {
  7796.   unsigned short   overlay_size;
  7797.   unsigned char    resource_name[17];
  7798.   unsigned char    reserv1a;                /* reserved                      */
  7799.   unsigned short   resource_type;
  7800.   unsigned char    description[RD_LEN];
  7801.   unsigned char    parent_name[17];
  7802.   unsigned char    reserv1b;                /* reserved                      */
  7803.   unsigned short   parent_type;
  7804.   unsigned char    entry_type;
  7805.   unsigned char    location;
  7806.   unsigned short   real_owning_cp_type;
  7807.   unsigned char    real_owning_cp_name[17];
  7808.   unsigned char    reserva;                 /* reserved                      */
  7809. } DIRECTORY_ENTRY_DETAIL;
  7810.  
  7811. /**STRUCT-********************************************************************/
  7812.  
  7813.  
  7814. /**STRUCT+********************************************************************/
  7815. /* Structure: QUERY_ISR_SESSION                                              */
  7816. /*                                                                           */
  7817. /* Description: (NN only) Used for querying ISR information                  */
  7818. /*****************************************************************************/
  7819.  
  7820. typedef struct query_isr_session
  7821. {
  7822.   unsigned short   opcode;
  7823.   unsigned char    reserv2;                 /* reserved                      */
  7824.   unsigned char    format;                       /* current format is 2      */
  7825.   unsigned short   primary_rc;
  7826.   unsigned long    secondary_rc;
  7827.   unsigned char   *buf_ptr;
  7828.   unsigned long    buf_size;
  7829.   unsigned long    total_buf_size;
  7830.   unsigned short   num_entries;
  7831.   unsigned short   total_num_entries;
  7832.   unsigned char    list_options;
  7833.   unsigned char    session_type;
  7834.   FQPCID           fqpcid;
  7835. } QUERY_ISR_SESSION;
  7836.  
  7837. /**STRUCT-********************************************************************/
  7838.  
  7839.  
  7840. /**STRUCT+********************************************************************/
  7841. /* Structure: ISR_SESSION_SUMMARY                                            */
  7842. /*                                                                           */
  7843. /* Description: Summary overlay used for QUERY_ISR_SESSION                   */
  7844. /*****************************************************************************/
  7845.  
  7846. typedef struct isr_session_summary
  7847. {
  7848.   unsigned short   overlay_size;
  7849.   FQPCID           fqpcid;
  7850. } ISR_SESSION_SUMMARY;
  7851.  
  7852. /**STRUCT-********************************************************************/
  7853.  
  7854.  
  7855. /**STRUCT+********************************************************************/
  7856. /* Structure: ISR_SESSION_DETAIL                                             */
  7857. /*                                                                           */
  7858. /* Description: Detail overlay used for QUERY_ISR_SESSION                    */
  7859. /*****************************************************************************/
  7860.  
  7861. typedef struct isr_session_detail
  7862. {
  7863.   unsigned short   overlay_size;
  7864.   unsigned short   sub_overlay_size;
  7865.   FQPCID           fqpcid;
  7866.   unsigned char    trans_pri;
  7867.   unsigned char    cos_name[8];
  7868.   unsigned char    ltd_res;
  7869.   unsigned char    reserv1[2];              /* reserved                      */
  7870.   EXTENDED_SESSION_STATS pri_sess_stats;
  7871.   EXTENDED_SESSION_STATS sec_sess_stats;
  7872.   unsigned char    sess_lu_type;
  7873.   unsigned char    sess_lu_level;
  7874.   unsigned char    pri_tg_number;
  7875.   unsigned char    sec_tg_number;
  7876.   unsigned long    rtp_tcid;
  7877.   unsigned long    time_active;
  7878.   unsigned char    isr_state;
  7879.   unsigned char    reserv2[11];             /* reserved                      */
  7880.   unsigned char    mode_name[8];
  7881.   unsigned char    pri_lu_name[17];
  7882.   unsigned char    sec_lu_name[17];
  7883.   unsigned char    pri_adj_cp_name[17];
  7884.   unsigned char    sec_adj_cp_name[17];
  7885.   unsigned char    reserv3[3];              /* reserved                      */
  7886.   unsigned char    rscv_len;
  7887. } ISR_SESSION_DETAIL;
  7888.  
  7889. /**STRUCT-********************************************************************/
  7890.  
  7891.  
  7892. /**STRUCT+********************************************************************/
  7893. /* Structure: QUERY_NN_TOPOLOGY_NODE                                         */
  7894. /*                                                                           */
  7895. /* Description: Returns Network Node entries for the Topology Database       */
  7896. /*****************************************************************************/
  7897.  
  7898. typedef struct query_nn_topology_node
  7899. {
  7900.   unsigned short   opcode;
  7901.   unsigned char    reserv2;                 /* reserved                      */
  7902.   unsigned char    format;                       /* current format is 0      */
  7903.   unsigned short   primary_rc;
  7904.   unsigned long    secondary_rc;
  7905.   unsigned char   *buf_ptr;
  7906.   unsigned long    buf_size;
  7907.   unsigned long    total_buf_size;
  7908.   unsigned short   num_entries;
  7909.   unsigned short   total_num_entries;
  7910.   unsigned char    list_options;
  7911.   unsigned char    reserv3;                 /* reserved                      */
  7912.   unsigned char    node_name[17];
  7913.   unsigned char    node_type;
  7914.   unsigned long    frsn;
  7915. } QUERY_NN_TOPOLOGY_NODE;
  7916.  
  7917. /**STRUCT-********************************************************************/
  7918.  
  7919.  
  7920. /**STRUCT+****************************************************************** */
  7921. /* Structure: NN_TOPOLOGY_NODE_SUMMARY                                       */
  7922. /*                                                                           */
  7923. /* Description: Summary overlay used by QUERY_NN_TOPOLOGY_NODE               */
  7924. /*****************************************************************************/
  7925.  
  7926. typedef struct nn_topology_node_summary
  7927. {
  7928.   unsigned short   overlay_size;
  7929.   unsigned char    node_name[17];
  7930.   unsigned char    node_type;
  7931. } NN_TOPOLOGY_NODE_SUMMARY;
  7932.  
  7933. /**STRUCT-********************************************************************/
  7934.  
  7935.  
  7936. /**STRUCT+********************************************************************/
  7937. /* Structure: NN_TOPOLOGY_NODE_DETAIL                                        */
  7938. /*                                                                           */
  7939. /* Description: Detail overlay used by QUERY_NN_TOPOLOGY_NODE                */
  7940. /*****************************************************************************/
  7941.  
  7942. typedef struct nn_topology_node_detail
  7943. {
  7944.   unsigned short   overlay_size;
  7945.   unsigned char    node_name[17];
  7946.   unsigned char    node_type;
  7947.   unsigned short   days_left;
  7948.   unsigned char    reserv1[2];              /* reserved                      */
  7949.   unsigned long    frsn;
  7950.   unsigned long    rsn;
  7951.   unsigned char    rar;
  7952.   unsigned char    status;
  7953.   unsigned char    function_support;
  7954.   unsigned char    reserv2;                 /* reserved                      */
  7955.   unsigned char    branch_aware;
  7956.   unsigned char    reserva[19];             /* reserved                      */
  7957. } NN_TOPOLOGY_NODE_DETAIL;
  7958.  
  7959. /**STRUCT-********************************************************************/
  7960.  
  7961.  
  7962. /**STRUCT+********************************************************************/
  7963. /* Structure: QUERY_NN_TOPOLOGY_STATS                                        */
  7964. /*                                                                           */
  7965. /* Description: Used for extracting Network Node topology database           */
  7966. /*              statistics                                                   */
  7967. /*****************************************************************************/
  7968.  
  7969. typedef struct query_nn_topology_stats
  7970. {
  7971.   unsigned short   opcode;
  7972.   unsigned char    reserv2;                 /* reserved                      */
  7973.   unsigned char    format;                       /* current format is 0      */
  7974.   unsigned short   primary_rc;
  7975.   unsigned long    secondary_rc;
  7976.   unsigned long    max_nodes;
  7977.   unsigned long    cur_num_nodes;
  7978.   unsigned long    node_in_tdus;
  7979.   unsigned long    node_out_tdus;
  7980.   unsigned long    node_low_rsns;
  7981.   unsigned long    node_equal_rsns;
  7982.   unsigned long    node_good_high_rsns;
  7983.   unsigned long    node_bad_high_rsns;
  7984.   unsigned long    node_state_updates;
  7985.   unsigned long    node_errors;
  7986.   unsigned long    node_timer_updates;
  7987.   unsigned long    node_purges;
  7988.   unsigned long    tg_low_rsns;
  7989.   unsigned long    tg_equal_rsns;
  7990.   unsigned long    tg_good_high_rsns;
  7991.   unsigned long    tg_bad_high_rsns;
  7992.   unsigned long    tg_state_updates;
  7993.   unsigned long    tg_errors;
  7994.   unsigned long    tg_timer_updates;
  7995.   unsigned long    tg_purges;
  7996.   unsigned long    total_route_calcs;
  7997.   unsigned long    total_route_rejs;
  7998.   unsigned long    total_tree_cache_hits;
  7999.   unsigned long    total_tree_cache_misses;
  8000.   unsigned long    total_tdu_wars;
  8001.   unsigned char    reserva[16];             /* reserved                      */
  8002. } QUERY_NN_TOPOLOGY_STATS;
  8003.  
  8004. /**STRUCT-********************************************************************/
  8005.  
  8006.  
  8007. /**STRUCT+********************************************************************/
  8008. /* Structure: QUERY_NN_TOPOLOGY_TG                                           */
  8009. /*                                                                           */
  8010. /* Description: Used to access TG topology information from NN topology      */
  8011. /*              database                                                     */
  8012. /*****************************************************************************/
  8013.  
  8014. typedef struct query_nn_topology_tg
  8015. {
  8016.   unsigned short   opcode;
  8017.   unsigned char    reserv2;                 /* reserved                      */
  8018.   unsigned char    format;                       /* current format is 0      */
  8019.   unsigned short   primary_rc;
  8020.   unsigned long    secondary_rc;
  8021.   unsigned char   *buf_ptr;
  8022.   unsigned long    buf_size;
  8023.   unsigned long    total_buf_size;
  8024.   unsigned short   num_entries;
  8025.   unsigned short   total_num_entries;
  8026.   unsigned char    list_options;
  8027.   unsigned char    reserv3;                 /* reserved                      */
  8028.   unsigned char    owner[17];
  8029.   unsigned char    owner_type;
  8030.   unsigned char    dest[17];
  8031.   unsigned char    dest_type;
  8032.   unsigned char    tg_num;
  8033.   unsigned char    reserv1;                 /* reserved                      */
  8034.   unsigned long    frsn;
  8035. } QUERY_NN_TOPOLOGY_TG;
  8036.  
  8037. /**STRUCT-********************************************************************/
  8038.  
  8039.  
  8040. /**STRUCT+********************************************************************/
  8041. /* Structure: TOPOLOGY_TG_SUMMARY                                            */
  8042. /*                                                                           */
  8043. /* Description: Summary overlay used by QUERY_NN_TOPOLOGY_TG                 */
  8044. /*****************************************************************************/
  8045.  
  8046. typedef struct topology_tg_summary
  8047. {
  8048.   unsigned short   overlay_size;
  8049.   unsigned char    owner[17];
  8050.   unsigned char    owner_type;
  8051.   unsigned char    dest[17];
  8052.   unsigned char    dest_type;
  8053.   unsigned char    tg_num;
  8054.   unsigned char    reserv3[1];              /* reserved                      */
  8055.   unsigned long    frsn;
  8056. } TOPOLOGY_TG_SUMMARY;
  8057.  
  8058. /**STRUCT-********************************************************************/
  8059.  
  8060. /**STRUCT+********************************************************************/
  8061. /* Structure: TOPOLOGY_TG_DETAIL                                             */
  8062. /*                                                                           */
  8063. /* Description: Detail overlay used for QUERY_NN_TOPOLOGY_TG                 */
  8064. /*****************************************************************************/
  8065.  
  8066. typedef struct topology_tg_detail
  8067. {
  8068.   unsigned short   overlay_size;
  8069.   unsigned char    owner[17];
  8070.   unsigned char    owner_type;
  8071.   unsigned char    dest[17];
  8072.   unsigned char    dest_type;
  8073.   unsigned char    tg_num;
  8074.   unsigned char    reserv3[1];              /* reserved                      */
  8075.   unsigned long    frsn;
  8076.   unsigned short   days_left;
  8077.   LINK_ADDRESS     dlc_data;
  8078.   unsigned long    rsn;
  8079.   unsigned char    status;
  8080.   TG_DEFINED_CHARS tg_chars;
  8081.   unsigned char    subarea_number[4];
  8082.   unsigned char    tg_type;
  8083.   unsigned char    intersubnet_tg;
  8084.   unsigned char    cp_cp_session_active;
  8085.   unsigned char    branch_tg;
  8086.   unsigned char    reserva[12];             /* reserved                      */
  8087. } TOPOLOGY_TG_DETAIL;
  8088.  
  8089. /**STRUCT-********************************************************************/
  8090. #endif
  8091.  
  8092.  
  8093. /**STRUCT+********************************************************************/
  8094. /* Structure: CHANGE_SESSION_LIMIT                                           */
  8095. /*                                                                           */
  8096. /* Description: CHANGE_SESSION_LIMIT verb control block                      */
  8097. /*****************************************************************************/
  8098.  
  8099. typedef struct change_session_limit
  8100. {
  8101.   unsigned short   opcode;
  8102.   unsigned char    reserv2;                 /* reserved                      */
  8103.   unsigned char    format;                       /* current format is 0      */
  8104.   unsigned short   primary_rc;
  8105.   unsigned long    secondary_rc;
  8106.   unsigned char    lu_name[8];
  8107.   unsigned char    lu_alias[8];
  8108.   unsigned char    plu_alias[8];
  8109.   unsigned char    fqplu_name[17];
  8110.   unsigned char    reserv3;                 /* reserved                      */
  8111.   unsigned char    mode_name[8];
  8112.   unsigned char    reserv3a;                /* reserved                      */
  8113.   unsigned char    set_negotiable;
  8114.   unsigned short   plu_mode_session_limit;
  8115.   unsigned short   min_conwinners_source;
  8116.   unsigned short   min_conwinners_target;
  8117.   unsigned short   auto_act;
  8118.   unsigned char    responsible;
  8119.   unsigned char    reserv4[3];              /* reserved                      */
  8120.   unsigned long    sense_data;
  8121. } CHANGE_SESSION_LIMIT;
  8122.  
  8123. /**STRUCT-********************************************************************/
  8124.  
  8125.  
  8126. /**STRUCT+********************************************************************/
  8127. /* Structure: INITIALIZE_SESSION_LIMIT                                       */
  8128. /*                                                                           */
  8129. /* Description: INITIALIZE_SESSION_LIMIT verb control block                  */
  8130. /*****************************************************************************/
  8131.  
  8132. typedef struct initialize_session_limit
  8133. {
  8134.   unsigned short   opcode;
  8135.   unsigned char    reserv2;                 /* reserved                      */
  8136.   unsigned char    format;                       /* current format is 0      */
  8137.   unsigned short   primary_rc;
  8138.   unsigned long    secondary_rc;
  8139.   unsigned char    lu_name[8];
  8140.   unsigned char    lu_alias[8];
  8141.   unsigned char    plu_alias[8];
  8142.   unsigned char    fqplu_name[17];
  8143.   unsigned char    reserv3;                 /* reserved                      */
  8144.   unsigned char    mode_name[8];
  8145.   unsigned char    reserv3a;                /* reserved                      */
  8146.   unsigned char    set_negotiable;
  8147.   unsigned short   plu_mode_session_limit;
  8148.   unsigned short   min_conwinners_source;
  8149.   unsigned short   min_conwinners_target;
  8150.   unsigned short   auto_act;
  8151.   unsigned char    reserv4[4];              /* reserved                      */
  8152.   unsigned long    sense_data;
  8153. } INITIALIZE_SESSION_LIMIT;
  8154.  
  8155. /**STRUCT-********************************************************************/
  8156.  
  8157.  
  8158. /**STRUCT+********************************************************************/
  8159. /* Structure: RESET_SESSION_LIMIT                                            */
  8160. /*                                                                           */
  8161. /* Description: RESET_SESSION_LIMIT verb control block                       */
  8162. /*****************************************************************************/
  8163.  
  8164. typedef struct reset_session_limit
  8165. {
  8166.   unsigned short   opcode;
  8167.   unsigned char    reserv2;                 /* reserved                      */
  8168.   unsigned char    format;                       /* current format is 0      */
  8169.   unsigned short   primary_rc;
  8170.   unsigned long    secondary_rc;
  8171.   unsigned char    lu_name[8];
  8172.   unsigned char    lu_alias[8];
  8173.   unsigned char    plu_alias[8];
  8174.   unsigned char    fqplu_name[17];
  8175.   unsigned char    reserv3;                 /* reserved                      */
  8176.   unsigned char    mode_name[8];
  8177.   unsigned char    mode_name_select;
  8178.   unsigned char    set_negotiable;
  8179.   unsigned char    reserv4[8];              /* reserved                      */
  8180.   unsigned char    responsible;
  8181.   unsigned char    drain_source;
  8182.   unsigned char    drain_target;
  8183.   unsigned char    force;
  8184.   unsigned long    sense_data;
  8185. } RESET_SESSION_LIMIT;
  8186.  
  8187. /**STRUCT-********************************************************************/
  8188.  
  8189.  
  8190. /**STRUCT+********************************************************************/
  8191. /* Structure: DEFINE_LU_LU_PASSWORD                                          */
  8192. /*                                                                           */
  8193. /* Description: DEFINE_LU_LU_PASSWORD verb control block                     */
  8194. /*****************************************************************************/
  8195.  
  8196. typedef struct define_lu_lu_password
  8197. {
  8198.   unsigned short  opcode;
  8199.   unsigned char   reserv2;                       /* reserved                 */
  8200.   unsigned char   format;                        /* current format is 0      */
  8201.   unsigned short  primary_rc;
  8202.   unsigned long   secondary_rc;
  8203.   unsigned char   lu_name[8];
  8204.   unsigned char   lu_alias[8];
  8205.   unsigned char   fqplu_name[17];
  8206.   unsigned char   verification_protocol;
  8207.   unsigned char   description[RD_LEN];
  8208.   unsigned char   reserv3[8];                    /* reserved                 */
  8209.   unsigned char   password[8];
  8210. } DEFINE_LU_LU_PASSWORD;
  8211.  
  8212. /**STRUCT-********************************************************************/
  8213.  
  8214.  
  8215. /**STRUCT+********************************************************************/
  8216. /* Structure: USERID_PASSWORD_CHARS                                          */
  8217. /*                                                                           */
  8218. /* Description: User characteristics - passed in on DEFINE_USERID_PASSWORD   */
  8219. /*****************************************************************************/
  8220.  
  8221. typedef struct userid_password_chars
  8222. {
  8223.   unsigned char   description[RD_LEN];
  8224.   unsigned short  profile_count;
  8225.   unsigned short  reserv1;                       /* reserved                 */
  8226.   unsigned char   password[10];
  8227.   unsigned char   profiles[10][10];
  8228. } USERID_PASSWORD_CHARS;
  8229.  
  8230. /**STRUCT-********************************************************************/
  8231.  
  8232.  
  8233. /**STRUCT+********************************************************************/
  8234. /* Structure: DEFINE_USERID_PASSWORD                                         */
  8235. /*                                                                           */
  8236. /* Description: DEFINE_USERID_PASSWORD verb control block                    */
  8237. /*****************************************************************************/
  8238.  
  8239. typedef struct define_userid_password
  8240. {
  8241.   unsigned short  opcode;
  8242.   unsigned char   reserv2;                       /* reserved                 */
  8243.   unsigned char   format;                        /* current format is 0      */
  8244.   unsigned short  primary_rc;
  8245.   unsigned long   secondary_rc;
  8246.   unsigned char   define_type;
  8247.   unsigned char   user_id[10];
  8248.   unsigned char   reserv3[8];                    /* reserved                 */
  8249.   USERID_PASSWORD_CHARS password_chars;
  8250. } DEFINE_USERID_PASSWORD;
  8251.  
  8252. /**STRUCT-********************************************************************/
  8253.  
  8254.  
  8255. /**STRUCT+********************************************************************/
  8256. /* Structure: DELETE_LU_LU_PASSWORD                                          */
  8257. /*                                                                           */
  8258. /* Description: DELETE_LU_LU_PASSWORD verb control block                     */
  8259. /*****************************************************************************/
  8260.  
  8261. typedef struct delete_lu_lu_password
  8262. {
  8263.   unsigned short  opcode;
  8264.   unsigned char   reserv2;                       /* reserved                 */
  8265.   unsigned char   format;                        /* current format is 0      */
  8266.   unsigned short  primary_rc;
  8267.   unsigned long   secondary_rc;
  8268.   unsigned char   lu_name[8];
  8269.   unsigned char   lu_alias[8];
  8270.   unsigned char   fqplu_name[17];
  8271.   unsigned char   reserv3;                       /* reserved                 */
  8272. } DELETE_LU_LU_PASSWORD;
  8273.  
  8274. /**STRUCT-********************************************************************/
  8275.  
  8276.  
  8277. /**STRUCT+********************************************************************/
  8278. /* Structure: DELETE_USERID_PASSWORD                                         */
  8279. /*                                                                           */
  8280. /* Description: DELETE_USERID_PASSWORD verb control block                    */
  8281. /*****************************************************************************/
  8282.  
  8283. typedef struct delete_userid_password
  8284. {
  8285.   unsigned short  opcode;
  8286.   unsigned char   reserv2;                       /* reserved                 */
  8287.   unsigned char   format;                        /* current format is 0      */
  8288.   unsigned short  primary_rc;
  8289.   unsigned long   secondary_rc;
  8290.   unsigned short  delete_type;
  8291.   unsigned char   user_id[10];
  8292.   USERID_PASSWORD_CHARS password_chars;
  8293. } DELETE_USERID_PASSWORD;
  8294.  
  8295. /**STRUCT-********************************************************************/
  8296.  
  8297.  
  8298. /**STRUCT+********************************************************************/
  8299. /* Structure: APING                                                          */
  8300. /*                                                                           */
  8301. /* Description: Used to initiate APING transaction                           */
  8302. /*****************************************************************************/
  8303.  
  8304. typedef struct aping
  8305. {
  8306.   unsigned short   opcode;
  8307.   unsigned char    reserv2;                 /* reserved                      */
  8308.   unsigned char    format;                       /* current format is 0      */
  8309.   unsigned short   primary_rc;
  8310.   unsigned long    secondary_rc;
  8311.   unsigned char    lu_name[8];
  8312.   unsigned char    lu_alias[8];
  8313.   unsigned long    sense_data;
  8314.   unsigned char    plu_alias[8];
  8315.   unsigned char    mode_name[8];
  8316.   unsigned char    tp_name[64];
  8317.   unsigned char    security;
  8318.   unsigned char    reserv3a[3];             /* reserved                      */
  8319.   unsigned char    pwd[10];
  8320.   unsigned char    user_id[10];
  8321.   unsigned short   dlen;
  8322.   unsigned short   consec;
  8323.   unsigned char    fqplu_name[17];
  8324.   unsigned char    echo;
  8325.   unsigned short   iterations;
  8326.   unsigned long    alloc_time;
  8327.   unsigned long    min_time;
  8328.   unsigned long    avg_time;
  8329.   unsigned long    max_time;
  8330.   unsigned short   partner_ver_len;
  8331. } APING;
  8332.  
  8333. /**STRUCT-********************************************************************/
  8334.  
  8335.  
  8336. /**STRUCT+********************************************************************/
  8337. /* Structure: INDICATION_HDR                                                 */
  8338. /*                                                                           */
  8339. /* Description: Header structure of indications                              */
  8340. /*****************************************************************************/
  8341.  
  8342. typedef struct indication_hdr
  8343. {
  8344.   unsigned short  opcode;
  8345.   unsigned char   reserv2;                  /* reserved                      */
  8346.   unsigned char   format;                        /* current format is 0      */
  8347.   unsigned short  primary_rc;
  8348.   unsigned long   secondary_rc;
  8349.   unsigned char   data_lost;
  8350. } INDICATION_HDR;
  8351.  
  8352. /**STRUCT-********************************************************************/
  8353.  
  8354.  
  8355. /**STRUCT+********************************************************************/
  8356. /* Structure: DLC_INDICATION                                                 */
  8357. /*                                                                           */
  8358. /* Description: Used to indicate when a DLC is stopped or started            */
  8359. /*****************************************************************************/
  8360.  
  8361. typedef struct dlc_indication
  8362. {
  8363.   unsigned short  opcode;
  8364.   unsigned char   attributes;
  8365.   unsigned char   format;                        /* current format is 0      */
  8366.   unsigned short  primary_rc;
  8367.   unsigned long   secondary_rc;
  8368.   unsigned char   data_lost;
  8369.   unsigned char   deactivated;
  8370.   unsigned char   dlc_name[8];
  8371.   unsigned char   description[RD_LEN];
  8372.   unsigned char   reserva[20];              /* reserved                      */
  8373. } DLC_INDICATION;
  8374.  
  8375. /**STRUCT-********************************************************************/
  8376.  
  8377.  
  8378. /**STRUCT+********************************************************************/
  8379. /* Structure: POOL_INDICATION                                                */
  8380. /*                                                                           */
  8381. /* Description: Used to indicate when a POOL is defined or deleted.          */
  8382. /*****************************************************************************/
  8383.  
  8384. typedef struct pool_indication
  8385. {
  8386.   unsigned short  opcode;
  8387.   unsigned char   attributes;
  8388.   unsigned char   format;                   /* current format is 0 */
  8389.   unsigned short  primary_rc;
  8390.   unsigned long   secondary_rc;
  8391.   unsigned char   data_lost;
  8392.   unsigned char   reason;
  8393.   unsigned char   pool_name[8];
  8394.   unsigned char   description[RD_LEN];
  8395.   unsigned char   reserva[20];              /* reserved                      */
  8396. } POOL_INDICATION;
  8397.  
  8398. /**STRUCT-********************************************************************/
  8399.  
  8400.  
  8401. /**STRUCT+********************************************************************/
  8402. /* Structure: DLUR_LU_INDICATION                                             */
  8403. /*                                                                           */
  8404. /* Description: Can be used to keep track of what DLUR LUs are currently     */
  8405. /*              defined.                                                     */
  8406. /*****************************************************************************/
  8407. typedef struct dlur_lu_indication
  8408. {
  8409.   unsigned short       opcode;
  8410.   unsigned char        reserv2;
  8411.   unsigned char        format;                   /* current format is 0      */
  8412.   unsigned short       primary_rc;
  8413.   unsigned long        secondary_rc;
  8414.   unsigned char        data_lost;
  8415.   unsigned char        reason;
  8416.   unsigned char        lu_name[8];
  8417.   unsigned char        pu_name[8];
  8418.   unsigned char        nau_address;
  8419.   unsigned char        reserv5[7];
  8420. } DLUR_LU_INDICATION;
  8421.  
  8422. /**STRUCT-********************************************************************/
  8423.  
  8424. /**STRUCT+********************************************************************/
  8425. /* Structure:   DLUS_INDICATION                                              */
  8426. /*                                                                           */
  8427. /* Description: Indication sent by DLUR when:                                */
  8428. /*                A DLUS CPSVRMGR pipe is activated                          */
  8429. /*                A DLUS CPSVRMGR pipe is deactivated                        */
  8430. /*****************************************************************************/
  8431.  
  8432. typedef struct dlus_indication
  8433. {
  8434.   unsigned short   opcode;
  8435.   unsigned char    reserv2;                 /* reserved                      */
  8436.   unsigned char    format;                       /* current format is 0      */
  8437.   unsigned short   primary_rc;
  8438.   unsigned long    secondary_rc;
  8439.   unsigned char    data_lost;
  8440.   unsigned char    deactivated;
  8441.   unsigned char    dlus_name[17];
  8442.   unsigned char    reserv1;                 /* reserved                      */
  8443.  
  8444.   /***************************************************************************/
  8445.   /* Pipe stats are only relevant when the pipe is deactivated               */
  8446.   /***************************************************************************/
  8447.   PIPE_STATS       pipe_stats;
  8448.   unsigned char    reserva[20];             /* reserved                      */
  8449.  
  8450. } DLUS_INDICATION;
  8451.  
  8452. /**STRUCT-********************************************************************/
  8453.  
  8454. /**STRUCT+********************************************************************/
  8455. /* Structure: SESSION_FAILURE_INDICATION                                     */
  8456. /*                                                                           */
  8457. /* Description: Used to indicate when a session fails                        */
  8458. /*****************************************************************************/
  8459.  
  8460. typedef struct session_failure_indication
  8461. {
  8462.   unsigned short  opcode;
  8463.   unsigned char   reserv2;                  /* reserved                      */
  8464.   unsigned char   format;                        /* current format is 0      */
  8465.   unsigned short  primary_rc;
  8466.   unsigned long   secondary_rc;
  8467.   unsigned char   reserv3[3];               /* reserved                      */
  8468.   unsigned char   lu_name[8];
  8469.   unsigned char   lu_alias[8];
  8470.   unsigned char   plu_alias[8];
  8471.   unsigned char   fqplu_name[17];
  8472.   unsigned char   mode_name[8];
  8473.   unsigned char   session_id[8];
  8474.   unsigned long   sense_data;
  8475. } SESSION_FAILURE_INDICATION;
  8476.  
  8477. /**STRUCT-********************************************************************/
  8478.  
  8479. /**STRUCT+********************************************************************/
  8480. /* Structure: FOCAL_POINT_INDICATION                                         */
  8481. /*                                                                           */
  8482. /* Description: Used to indicate when a focal point is acquired, changed or  */
  8483. /*              revoked.                                                     */
  8484. /*****************************************************************************/
  8485.  
  8486. typedef struct focal_point_indication
  8487. {
  8488.   unsigned short  opcode;
  8489.   unsigned char   reserv2;                  /* reserved                      */
  8490.   unsigned char   format;                        /* current format is 0      */
  8491.   unsigned short  primary_rc;
  8492.   unsigned long   secondary_rc;
  8493.   unsigned char   data_lost;
  8494.   unsigned char   ms_category[8];
  8495.   unsigned char   fp_fqcp_name[17];
  8496.   unsigned char   ms_appl_name[8];
  8497.   unsigned char   fp_type;
  8498.   unsigned char   fp_status;
  8499.   unsigned char   fp_routing;
  8500.   unsigned char   reserva[20];              /* reserved                      */
  8501. } FOCAL_POINT_INDICATION;
  8502.  
  8503. /**STRUCT-********************************************************************/
  8504.  
  8505. /**STRUCT+********************************************************************/
  8506. /* Structure: LOCAL_LU_INDICATION                                            */
  8507. /*                                                                           */
  8508. /* Description: Can be used to keep track of what LUs are currently          */
  8509. /*              locally defined.                                             */
  8510. /*****************************************************************************/
  8511. typedef struct local_lu_indication
  8512. {
  8513.   unsigned short  opcode;
  8514.   unsigned char   reserv2;
  8515.   unsigned char   format;                        /* current format is 0      */
  8516.   unsigned short  primary_rc;
  8517.   unsigned long   secondary_rc;
  8518.   unsigned char   data_lost;
  8519.   unsigned char   reason;
  8520.   unsigned char   lu_name[8];
  8521.   unsigned char   description[RD_LEN];
  8522.   unsigned char   lu_alias[8];
  8523.   unsigned char   nau_address;
  8524.   unsigned char   reserv4;
  8525.   unsigned char   pu_name[8];
  8526.   unsigned char   lu_sscp_active;
  8527.   unsigned char   reserv5;
  8528.   SESSION_STATS   lu_sscp_stats;
  8529.   unsigned char   sscp_id[6];
  8530. } LOCAL_LU_INDICATION;
  8531.  
  8532. /**STRUCT-********************************************************************/
  8533.  
  8534.  
  8535. /**STRUCT+********************************************************************/
  8536. /* Structure: LOCAL_TOPOLOGY_INDICATION                                      */
  8537. /*                                                                           */
  8538. /* Description: Used to indicate a change in the state of a TG in the local  */
  8539. /*              topology                                                     */
  8540. /*****************************************************************************/
  8541.  
  8542. typedef struct local_topology_indication
  8543. {
  8544.   unsigned short  opcode;
  8545.   unsigned char   reserv2;                  /* reserved                      */
  8546.   unsigned char   format;                        /* current format is 0      */
  8547.   unsigned short  primary_rc;
  8548.   unsigned long   secondary_rc;
  8549.   unsigned char   data_lost;
  8550.   unsigned char   status;
  8551.   unsigned char   dest[17];
  8552.   unsigned char   dest_type;
  8553.   unsigned char   tg_num;
  8554.   unsigned char   cp_cp_session_active;
  8555.   unsigned char   branch_link_type;
  8556.   unsigned char   branch_tg;
  8557.   unsigned char   reserva[17];              /* reserved                      */
  8558. } LOCAL_TOPOLOGY_INDICATION;
  8559.  
  8560. /**STRUCT-********************************************************************/
  8561.  
  8562.  
  8563. /**STRUCT+********************************************************************/
  8564. /* Structure: LS_INDICATION                                                  */
  8565. /*                                                                           */
  8566. /* Description: Used to indicate when the number of active sessions using    */
  8567. /*              changes or when the link station goes from active to         */
  8568. /*              inactive (or vice-versa)                                     */
  8569. /*****************************************************************************/
  8570.  
  8571. typedef struct ls_indication
  8572. {
  8573.   unsigned short  opcode;
  8574.   unsigned char   attributes;
  8575.   unsigned char   format;                        /* current format is 0      */
  8576.   unsigned short  primary_rc;
  8577.   unsigned long   secondary_rc;
  8578.   unsigned char   data_lost;
  8579.   unsigned char   deactivated;
  8580.   unsigned char   ls_name[8];
  8581.   unsigned char   description[RD_LEN];
  8582.   unsigned char   adj_cp_name[17];
  8583.   unsigned char   adj_node_type;
  8584.   unsigned short  act_sess_count;
  8585.   unsigned char   indication_cause;
  8586.   LS_STATS        ls_stats;
  8587.   unsigned char   tg_num;
  8588.   unsigned long   sense_data;
  8589.   unsigned char   brnn_link_type;
  8590.   unsigned char   adj_cp_is_brnn;
  8591.   unsigned char   reserva[17];              /* reserved                      */
  8592. } LS_INDICATION;
  8593.  
  8594. /**STRUCT-********************************************************************/
  8595.  
  8596.  
  8597. /**STRUCT+********************************************************************/
  8598. /* Structure: LU_0_TO_3_INDICATION                                           */
  8599. /*                                                                           */
  8600. /* Description: Used to indicate when the state of a local LU type 0 to 3    */
  8601. /*              changes.                                                     */
  8602. /*****************************************************************************/
  8603.  
  8604. typedef struct lu_0_to_3_indication
  8605. {
  8606.   unsigned short  opcode;
  8607.   unsigned char   attributes;
  8608.   unsigned char   format;                        /* current format is 0      */
  8609.   unsigned short  primary_rc;
  8610.   unsigned long   secondary_rc;
  8611.   unsigned char   data_lost;
  8612.   unsigned char   pu_name[8];
  8613.   unsigned char   lu_name[8];
  8614.   unsigned char   description[RD_LEN];
  8615.   unsigned char   nau_address;
  8616.   unsigned char   lu_sscp_sess_active;
  8617.   unsigned char   appl_conn_active;
  8618.   unsigned char   plu_sess_active;
  8619.   unsigned char   host_attachment;
  8620.   SESSION_STATS   lu_sscp_stats;
  8621.   SESSION_STATS   plu_stats;
  8622.   unsigned char   sscp_id[6];
  8623. } LU_0_TO_3_INDICATION;
  8624.  
  8625. /**STRUCT-********************************************************************/
  8626.  
  8627.  
  8628. /**STRUCT+********************************************************************/
  8629. /* Structure: MODE_INDICATION                                                */
  8630. /*                                                                           */
  8631. /* Description: Used to indicate when a local LU/partner LU first start to   */
  8632. /*              use a particular mode                                        */
  8633. /*****************************************************************************/
  8634.  
  8635. typedef struct mode_indication
  8636. {
  8637.   unsigned short  opcode;
  8638.   unsigned char   reserv2;                  /* reserved                      */
  8639.   unsigned char   format;                        /* current format is 0      */
  8640.   unsigned short  primary_rc;
  8641.   unsigned long   secondary_rc;
  8642.   unsigned char   data_lost;
  8643.   unsigned char   removed;
  8644.   unsigned char   lu_alias[8];
  8645.   unsigned char   plu_alias[8];
  8646.   unsigned char   fqplu_name[17];
  8647.   unsigned char   mode_name[8];
  8648.   unsigned char   description[RD_LEN];
  8649.   unsigned short  curr_sess_count;
  8650.   unsigned char   reserva[20];              /* reserved                      */
  8651. } MODE_INDICATION;
  8652.  
  8653. /**STRUCT-********************************************************************/
  8654.  
  8655.  
  8656. /**STRUCT+********************************************************************/
  8657. /* Structure: PLU_INDICATION                                                 */
  8658. /*                                                                           */
  8659. /* Description: Used to indicate when a local LU first connects to a partner */
  8660. /*              LU.                                                          */
  8661. /*****************************************************************************/
  8662.  
  8663. typedef struct plu_indication
  8664. {
  8665.   unsigned short  opcode;
  8666.   unsigned char   reserv2;                  /* reserved                      */
  8667.   unsigned char   format;                        /* current format is 0      */
  8668.   unsigned short  primary_rc;
  8669.   unsigned long   secondary_rc;
  8670.   unsigned char   data_lost;
  8671.   unsigned char   removed;
  8672.   unsigned char   lu_alias[8];
  8673.   unsigned char   plu_alias[8];
  8674.   unsigned char   fqplu_name[17];
  8675.   unsigned char   description[RD_LEN];
  8676.   unsigned char   partner_cp_name[17];
  8677.   unsigned char   partner_lu_located;
  8678.   unsigned char   reserva[20];              /* reserved                      */
  8679. } PLU_INDICATION;
  8680.  
  8681. /**STRUCT-********************************************************************/
  8682.  
  8683.  
  8684. /**STRUCT+********************************************************************/
  8685. /* Structure: PORT_INDICATION                                                */
  8686. /*                                                                           */
  8687. /* Description: Used to indicate when a port is stopped or started           */
  8688. /*****************************************************************************/
  8689.  
  8690. typedef struct port_indication
  8691. {
  8692.   unsigned short  opcode;
  8693.   unsigned char   attributes;
  8694.   unsigned char   format;                        /* current format is 0      */
  8695.   unsigned short  primary_rc;
  8696.   unsigned long   secondary_rc;
  8697.   unsigned char   data_lost;
  8698.   unsigned char   deactivated;
  8699.   unsigned char   port_name[8];
  8700.   unsigned char   description[RD_LEN];
  8701.   unsigned char   reserva[20];              /* reserved                      */
  8702. } PORT_INDICATION;
  8703.  
  8704. /**STRUCT-********************************************************************/
  8705.  
  8706.  
  8707. /**STRUCT+********************************************************************/
  8708. /* Structure: PU_INDICATION                                                  */
  8709. /*                                                                           */
  8710. /* Description: Used to indicate when the state of a local PU changes        */
  8711. /*****************************************************************************/
  8712.  
  8713. typedef struct pu_indication
  8714. {
  8715.   unsigned short  opcode;
  8716.   unsigned char   attributes;
  8717.   unsigned char   format;                        /* current format is 0      */
  8718.   unsigned short  primary_rc;
  8719.   unsigned long   secondary_rc;
  8720.   unsigned char   data_lost;
  8721.   unsigned char   pu_name[8];
  8722.   unsigned char   description[RD_LEN];
  8723.   unsigned char   pu_sscp_sess_active;
  8724.   unsigned char   host_attachment;
  8725.   unsigned char   reserv1[2];               /* reserved                      */
  8726.   SESSION_STATS   pu_sscp_stats;
  8727.   unsigned char   sscp_id[6];
  8728. } PU_INDICATION;
  8729.  
  8730. /**STRUCT-********************************************************************/
  8731.  
  8732.  
  8733. /**STRUCT+********************************************************************/
  8734. /* Structure: REGISTRATION_FAILURE                                           */
  8735. /*                                                                           */
  8736. /* Description: Verb indicating registration failure when registering        */
  8737. /*              resources to the Network Node server                         */
  8738. /*****************************************************************************/
  8739.  
  8740. typedef struct registration_failure
  8741. {
  8742.   unsigned short  opcode;
  8743.   unsigned char   reserv2;                  /* reserved                      */
  8744.   unsigned char   format;                        /* current format is 0      */
  8745.   unsigned short  primary_rc;
  8746.   unsigned long   secondary_rc;
  8747.   unsigned char   data_lost;
  8748.   unsigned char   resource_name[17];
  8749.   unsigned short  resource_type;
  8750.   unsigned char   description[RD_LEN];
  8751.   unsigned char   reserv2b[2];              /* reserved                      */
  8752.   unsigned long   sense_data;
  8753.   unsigned char   reserva[20];              /* reserved                      */
  8754. } REGISTRATION_FAILURE;
  8755.  
  8756. /**STRUCT-********************************************************************/
  8757.  
  8758.  
  8759. /**STRUCT+********************************************************************/
  8760. /* Structure: RTP_INDICATION                                                 */
  8761. /*                                                                           */
  8762. /* Description: Sent from RTP to HPR, and from HPR to NOF (for fanning out)  */
  8763. /*              when the state of an RTP connection changes                  */
  8764. /*****************************************************************************/
  8765.  
  8766. typedef struct rtp_indication
  8767. {
  8768.   unsigned short  opcode;
  8769.   unsigned char   reserv2;                  /* reserved                      */
  8770.   unsigned char   format;                        /* current format is 0      */
  8771.   unsigned short  primary_rc;
  8772.   unsigned long   secondary_rc;
  8773.   unsigned char   data_lost;
  8774.   unsigned char   connection_state;
  8775.   unsigned char   rtp_name[8];
  8776.   unsigned short  num_sess_active;
  8777.   unsigned char   indication_cause;
  8778.   unsigned char   connection_type;
  8779.   unsigned char   reserv3[2];               /* reserved                      */
  8780.  
  8781.   /***************************************************************************/
  8782.   /* Statistics are filled in only when the connection is disconnected       */
  8783.   /***************************************************************************/
  8784.   RTP_STATISTICS  rtp_stats;
  8785.  
  8786. } RTP_INDICATION;
  8787.  
  8788. /**STRUCT-********************************************************************/
  8789.  
  8790.  
  8791. /**STRUCT+********************************************************************/
  8792. /* Structure: SESSION_INDICATION                                             */
  8793. /*                                                                           */
  8794. /* Description: Used to indicate when a session is activated or deactivated  */
  8795. /*****************************************************************************/
  8796.  
  8797. typedef struct session_indication
  8798. {
  8799.   unsigned short  opcode;
  8800.   unsigned char   reserv2;                  /* reserved                      */
  8801.   unsigned char   format;                        /* current format is 0      */
  8802.   unsigned short  primary_rc;
  8803.   unsigned long   secondary_rc;
  8804.   unsigned char   data_lost;
  8805.   unsigned char   deactivated;
  8806.   unsigned char   lu_name[8];
  8807.   unsigned char   lu_alias[8];
  8808.   unsigned char   plu_alias[8];
  8809.   unsigned char   fqplu_name[17];
  8810.   unsigned char   mode_name[8];
  8811.   unsigned char   session_id[8];
  8812.   FQPCID          fqpcid;
  8813.   unsigned long   sense_data;
  8814.   unsigned char   duplex_support;
  8815.   SESSION_STATS   sess_stats;
  8816.   unsigned char   sscp_id[6];
  8817.   unsigned char   plu_slu_comp_lvl;
  8818.   unsigned char   slu_plu_comp_lvl;
  8819.   unsigned char   reserva[12];              /* reserved                      */
  8820. } SESSION_INDICATION;
  8821.  
  8822. /**STRUCT-********************************************************************/
  8823.  
  8824.  
  8825. #ifdef PU_CONC_SUPPORTED
  8826. /**STRUCT+********************************************************************/
  8827. /* Structure: DOWNSTREAM_LU_INDICATION                                       */
  8828. /*                                                                           */
  8829. /* Description: Indication generated when state of downstream LU changes     */
  8830. /*****************************************************************************/
  8831.  
  8832. typedef struct downstream_lu_indication
  8833. {
  8834.   unsigned short  opcode;
  8835.   unsigned char   attributes;
  8836.   unsigned char   format;                        /* current format is 0      */
  8837.   unsigned short  primary_rc;
  8838.   unsigned long   secondary_rc;
  8839.   unsigned char   data_lost;
  8840.   unsigned char   dspu_name[8];
  8841.   unsigned char   ls_name[8];
  8842.   unsigned char   dslu_name[8];
  8843.   unsigned char   description[RD_LEN];
  8844.   unsigned char   nau_address;
  8845.   unsigned char   lu_sscp_sess_active;
  8846.   unsigned char   plu_sess_active;
  8847.   unsigned char   dspu_services;
  8848.   unsigned char   reserv1;                  /* reserved                      */
  8849.   SESSION_STATS   lu_sscp_stats;
  8850.   SESSION_STATS   ds_plu_stats;
  8851.   SESSION_STATS   us_plu_stats;
  8852. } DOWNSTREAM_LU_INDICATION;
  8853.  
  8854. /**STRUCT-********************************************************************/
  8855.  
  8856.  
  8857. /**STRUCT+********************************************************************/
  8858. /* Structure: DOWNSTREAM_PU_INDICATION                                       */
  8859. /*                                                                           */
  8860. /* Description: Indication generated when state of downstream PU changes     */
  8861. /*****************************************************************************/
  8862.  
  8863. typedef struct downstream_pu_indication
  8864. {
  8865.   unsigned short  opcode;
  8866.   unsigned char   attributes;
  8867.   unsigned char   format;                        /* current format is 0      */
  8868.   unsigned short  primary_rc;
  8869.   unsigned long   secondary_rc;
  8870.   unsigned char   data_lost;
  8871.   unsigned char   dspu_name[8];
  8872.   unsigned char   description[RD_LEN];
  8873.   unsigned char   ls_name[8];
  8874.   unsigned char   pu_sscp_sess_active;
  8875.   unsigned char   dspu_services;
  8876.   unsigned char   reserv1[2];               /* reserved                      */
  8877.   SESSION_STATS   pu_sscp_stats;
  8878. } DOWNSTREAM_PU_INDICATION;
  8879.  
  8880. /**STRUCT-********************************************************************/
  8881.  
  8882. /**STRUCT+********************************************************************/
  8883. /* Structure: DLUR_PU_INDICATION                                             */
  8884. /*                                                                           */
  8885. /* Description: Indication generated when state of DLUR PU changes           */
  8886. /*****************************************************************************/
  8887.  
  8888. typedef struct dlur_pu_indication
  8889. {
  8890.   unsigned short  opcode;
  8891.   unsigned char   reserv2;                  /* reserved                      */
  8892.   unsigned char   format;                        /* current format is 0      */
  8893.   unsigned short  primary_rc;
  8894.   unsigned long   secondary_rc;
  8895.   unsigned char   data_lost;
  8896.   unsigned char   reason;
  8897.   unsigned char   pu_name[8];
  8898.   unsigned char   pu_id[4];
  8899.   unsigned char   pu_location;
  8900.   unsigned char   pu_status;
  8901.   unsigned char   dlus_name[17];
  8902.   unsigned char   dlus_session_status;
  8903.   unsigned char   reserv5[2];               /* reserved                      */
  8904. } DLUR_PU_INDICATION;
  8905.  
  8906. /**STRUCT-********************************************************************/
  8907. #endif
  8908.  
  8909.  
  8910. #ifdef NN_SUPPORTED
  8911. /**STRUCT+********************************************************************/
  8912. /* Structure: DIRECTORY_INDICATION                                           */
  8913. /*                                                                           */
  8914. /* Description: Used to indicate when an entry is added to or removed from   */
  8915. /*              the local directory database.                                */
  8916. /*****************************************************************************/
  8917.  
  8918. typedef struct directory_indication
  8919. {
  8920.   unsigned short  opcode;
  8921.   unsigned char   reserv2;                  /* reserved                      */
  8922.   unsigned char   format;                        /* current format is 0      */
  8923.   unsigned short  primary_rc;
  8924.   unsigned long   secondary_rc;
  8925.   unsigned char   data_lost;
  8926.   unsigned char   removed;
  8927.   unsigned char   resource_name[17];
  8928.   unsigned char   invalid;
  8929.   unsigned short  resource_type;
  8930.   unsigned char   parent_name[17];
  8931.   unsigned char   entry_type;
  8932.   unsigned short  parent_type;
  8933.   unsigned char   description[RD_LEN];
  8934.   unsigned short  real_owning_cp_type;
  8935.   unsigned char   real_owning_cp_name[17];
  8936.   unsigned char   reserva;                  /* reserved                      */
  8937. } DIRECTORY_INDICATION;
  8938.  
  8939. /**STRUCT-********************************************************************/
  8940.  
  8941.  
  8942. /**STRUCT+********************************************************************/
  8943. /* Structure: ISR_INDICATION                                                 */
  8944. /*                                                                           */
  8945. /* Description: Used to indicate a change in the state of an intermediate    */
  8946. /*              session                                                      */
  8947. /*****************************************************************************/
  8948.  
  8949. typedef struct isr_indication
  8950. {
  8951.   unsigned short  opcode;
  8952.   unsigned char   reserv2;                  /* reserved                      */
  8953.   unsigned char   format;                        /* current format is 0      */
  8954.   unsigned short  primary_rc;
  8955.   unsigned long   secondary_rc;
  8956.   unsigned char   data_lost;
  8957.   unsigned char   deactivated;
  8958.   FQPCID          fqpcid;
  8959.   unsigned char   fqplu_name[17];
  8960.   unsigned char   fqslu_name[17];
  8961.   unsigned char   mode_name[8];
  8962.   unsigned char   cos_name[8];
  8963.   unsigned char   transmission_priority;
  8964.   unsigned long   sense_data;
  8965.   unsigned char   reserv2a[2];              /* reserved                      */
  8966.   SESSION_STATS   pri_sess_stats;
  8967.   SESSION_STATS   sec_sess_stats;
  8968.   unsigned char   reserva[20];              /* reserved                      */
  8969. } ISR_INDICATION;
  8970.  
  8971. /**STRUCT-********************************************************************/
  8972.  
  8973.  
  8974. /**STRUCT+********************************************************************/
  8975. /* Structure: NN_TOPOLOGY_NODE_INDICATION                                    */
  8976. /*                                                                           */
  8977. /* Description: Used to indicate a change in the state of a node in the      */
  8978. /*              network topology                                             */
  8979. /*****************************************************************************/
  8980.  
  8981. typedef struct nn_topology_node_indication
  8982. {
  8983.   unsigned short  opcode;
  8984.   unsigned char   reserv2;                  /* reserved                      */
  8985.   unsigned char   format;                        /* current format is 0      */
  8986.   unsigned short  primary_rc;
  8987.   unsigned long   secondary_rc;
  8988.   unsigned char   data_lost;
  8989.   unsigned char   deactivated;
  8990.   unsigned char   node_name[17];
  8991.   unsigned char   node_type;
  8992.   unsigned char   branch_aware;
  8993.   unsigned char   reserva[19];              /* reserved                      */
  8994. } NN_TOPOLOGY_NODE_INDICATION;
  8995.  
  8996. /**STRUCT-********************************************************************/
  8997.  
  8998.  
  8999. /**STRUCT+********************************************************************/
  9000. /* Structure: NN_TOPOLOGY_TG_INDICATION                                      */
  9001. /*                                                                           */
  9002. /* Description: Used to indicate a change in the state of a TG in the        */
  9003. /*              network topology                                             */
  9004. /*****************************************************************************/
  9005.  
  9006. typedef struct nn_topology_tg_indication
  9007. {
  9008.   unsigned short  opcode;
  9009.   unsigned char   reserv2;                  /* reserved                      */
  9010.   unsigned char   format;                        /* current format is 0      */
  9011.   unsigned short  primary_rc;
  9012.   unsigned long   secondary_rc;
  9013.   unsigned char   data_lost;
  9014.   unsigned char   status;
  9015.   unsigned char   owner[17];
  9016.   unsigned char   dest[17];
  9017.   unsigned char   tg_num;
  9018.   unsigned char   owner_type;
  9019.   unsigned char   dest_type;
  9020.   unsigned char   cp_cp_session_active;
  9021.   unsigned char   branch_tg;
  9022.   unsigned char   reserva[16];              /* reserved                      */
  9023. } NN_TOPOLOGY_TG_INDICATION;
  9024.  
  9025. /**STRUCT-********************************************************************/
  9026. #endif
  9027.  
  9028. /**STRUCT+********************************************************************/
  9029. /* Structure: SESSION_3270_DEF_DATA                                          */
  9030. /*                                                                           */
  9031. /* Description: Defined data for a 3270 session                              */
  9032. /*****************************************************************************/
  9033.  
  9034. typedef struct session_3270_def_data
  9035. {
  9036.   unsigned char   lu_name[8];
  9037.   unsigned char   session_type;
  9038.   unsigned char   model_override;
  9039. } SESSION_3270_DEF_DATA;
  9040.  
  9041. /**STRUCT-********************************************************************/
  9042.  
  9043. /**STRUCT+********************************************************************/
  9044. /* Structure: SESSION_DEF_DATA                                               */
  9045. /*                                                                           */
  9046. /* Description: Defined data for a 3270 session                              */
  9047. /*****************************************************************************/
  9048.  
  9049. typedef struct session_def_data
  9050. {
  9051.   unsigned short  overlay_size;
  9052.   unsigned char   session_name[8];
  9053.   unsigned char   emulator_type;
  9054.   unsigned char   reserv1;                  /* reserved                      */
  9055.   unsigned char   description[RD_LEN];
  9056.   unsigned char   reserv2[16];              /* reserved                      */
  9057.   union
  9058.   {
  9059.     SESSION_3270_DEF_DATA  def_data_3270;
  9060.   } session_variant;
  9061.   unsigned long   reserv3;                  /* reserved                      */
  9062. } SESSION_DEF_DATA;
  9063.  
  9064. /**STRUCT-********************************************************************/
  9065.  
  9066. /**STRUCT+********************************************************************/
  9067. /* Structure: EMULATOR_USER_DEF_DATA                                         */
  9068. /*                                                                           */
  9069. /* Description: Defined data for an emulator user.  The session data         */
  9070. /*              (if any) is appended to the main VCB.                        */
  9071. /*****************************************************************************/
  9072.  
  9073. typedef struct emulator_user_def_data
  9074. {
  9075.   unsigned char   description[RD_LEN];
  9076.   unsigned char   style_file[9];
  9077.   unsigned char   reserv1[3];               /* reserved                      */
  9078.   unsigned long   num_sessions;
  9079.   unsigned long   max_act_sessions;
  9080.   unsigned char   view_rtm;
  9081.   unsigned char   alert_permission;
  9082.   unsigned char   change_lu;
  9083.   unsigned char   change_style;
  9084.   unsigned char   reserv3;                  /* reserved                      */
  9085.   unsigned char   status;                   /* reserved                      */
  9086.   unsigned char   reserv2[14];              /* reserved                      */
  9087. } EMULATOR_USER_DEF_DATA;
  9088.  
  9089. /**STRUCT-********************************************************************/
  9090.  
  9091. /**STRUCT+********************************************************************/
  9092. /* Structure: DEFINE_EMULATOR_USER                                           */
  9093. /*                                                                           */
  9094. /* Description: Define characteristics of an emulator user.                  */
  9095. /*              The session data is appended to the main VCB.                */
  9096. /*****************************************************************************/
  9097.  
  9098. typedef struct define_emulator_user
  9099. {
  9100.   unsigned short         opcode;
  9101.   unsigned char          reserv2;           /* reserved                      */
  9102.   unsigned char          format;                 /* current format is 0      */
  9103.   unsigned short         primary_rc;
  9104.   unsigned long          secondary_rc;
  9105.   unsigned char          user_name[32];
  9106.   EMULATOR_USER_DEF_DATA def_data;
  9107. } DEFINE_EMULATOR_USER;
  9108.  
  9109. /**STRUCT-********************************************************************/
  9110.  
  9111. /**STRUCT+********************************************************************/
  9112. /* Structure: DELETE_EMULATOR_USER                                           */
  9113. /*                                                                           */
  9114. /* Description: Delete a user or user's sessions                             */
  9115. /*****************************************************************************/
  9116.  
  9117. typedef struct delete_emulator_user
  9118. {
  9119.   unsigned short  opcode;
  9120.   unsigned char   reserv2;                  /* reserved                      */
  9121.   unsigned char   format;                        /* current format is 0      */
  9122.   unsigned short  primary_rc;
  9123.   unsigned long   secondary_rc;
  9124.   unsigned char   user_name[32];
  9125.   unsigned long   num_sessions;
  9126.   unsigned short  delete_options;
  9127.   unsigned char   session_names[10][8];
  9128. } DELETE_EMULATOR_USER;
  9129.  
  9130. /**STRUCT-********************************************************************/
  9131.  
  9132. /**STRUCT+********************************************************************/
  9133. /* Structure: EMULATOR_USER_SUMMARY                                          */
  9134. /*                                                                           */
  9135. /* Description: Summary overlay returned by QUERY_EMULATOR_USER              */
  9136. /*****************************************************************************/
  9137.  
  9138. typedef struct emulator_user_summary
  9139. {
  9140.   unsigned short  overlay_size;
  9141.   unsigned char   user_name[32];
  9142.   unsigned char   reserv4[4];               /* reserved                      */
  9143. } EMULATOR_USER_SUMMARY;
  9144.  
  9145. /**STRUCT-********************************************************************/
  9146.  
  9147. /**STRUCT+********************************************************************/
  9148. /* Structure: EMULATOR_USER_DETAIL                                           */
  9149. /*                                                                           */
  9150. /* Description: Detailed overlay returned by QUERY_EMULATOR_USER             */
  9151. /*****************************************************************************/
  9152.  
  9153. typedef struct emulator_user_detail
  9154. {
  9155.   unsigned short         overlay_size;
  9156.   unsigned char          reserv1[2];        /* reserved                      */
  9157.   unsigned char          user_name[32];
  9158.   unsigned char          reserv2[8];        /* reserved                      */
  9159.   EMULATOR_USER_DEF_DATA def_data;
  9160. } EMULATOR_USER_DETAIL;
  9161.  
  9162. /**STRUCT-********************************************************************/
  9163.  
  9164. /**STRUCT+********************************************************************/
  9165. /* Structure: QUERY_EMULATOR_USER                                            */
  9166. /*                                                                           */
  9167. /* Description: Query configured users                                       */
  9168. /*****************************************************************************/
  9169.  
  9170. typedef struct query_emulator_user
  9171. {
  9172.   unsigned short  opcode;
  9173.   unsigned char   reserv2;                  /* reserved                      */
  9174.   unsigned char   format;                        /* current format is 0      */
  9175.   unsigned short  primary_rc;
  9176.   unsigned long   secondary_rc;
  9177.   unsigned char  *buf_ptr;
  9178.   unsigned long   buf_size;
  9179.   unsigned long   total_buf_size;
  9180.   unsigned short  num_entries;
  9181.   unsigned short  total_num_entries;
  9182.   unsigned char   list_options;
  9183.   unsigned char   reserv3;                  /* reserved                      */
  9184.   unsigned char   user_name[32];
  9185. } QUERY_EMULATOR_USER;
  9186.  
  9187. /**STRUCT-********************************************************************/
  9188.  
  9189. /**STRUCT+********************************************************************/
  9190. /* Structure: QUERY_EMULATOR_USER_SESSION                                    */
  9191. /*                                                                           */
  9192. /* Description: Query configured sessions for an emulator user               */
  9193. /*****************************************************************************/
  9194.  
  9195. typedef struct query_emulator_user_session
  9196. {
  9197.   unsigned short  opcode;
  9198.   unsigned char   reserv2;                  /* reserved                      */
  9199.   unsigned char   format;                        /* current format is 0      */
  9200.   unsigned short  primary_rc;
  9201.   unsigned long   secondary_rc;
  9202.   unsigned char  *buf_ptr;
  9203.   unsigned long   buf_size;
  9204.   unsigned long   total_buf_size;
  9205.   unsigned short  num_entries;
  9206.   unsigned short  total_num_entries;
  9207.   unsigned char   list_options;
  9208.   unsigned char   reserv3;                  /* reserved                      */
  9209.   unsigned char   user_name[32];
  9210.   unsigned char   session_name[8];
  9211. } QUERY_EMULATOR_USER_SESSION;
  9212.  
  9213. /**STRUCT-********************************************************************/
  9214.  
  9215. /**STRUCT+********************************************************************/
  9216. /* Structure: DIAG_3270_DATA                                                 */
  9217. /*                                                                           */
  9218. /* Description: 3270 diagnostic data                                         */
  9219. /*              The user alert data is appended to the main VCB.             */
  9220. /*****************************************************************************/
  9221. typedef struct diag_3270_data
  9222. {
  9223.   unsigned char   rtm_overflow;
  9224.   unsigned char   rtm_unbind;
  9225.   unsigned char   rtm_timer_option;
  9226.   unsigned char   reserv1;                  /* reserved                      */
  9227.   unsigned short  rtm_thresh1;
  9228.   unsigned short  rtm_thresh2;
  9229.   unsigned short  rtm_thresh3;
  9230.   unsigned short  rtm_thresh4;
  9231.   unsigned short  num_alerts;
  9232.   unsigned char   reserv2[6];               /* reserved                      */
  9233.  
  9234. } DIAG_3270_DATA;
  9235.  
  9236. /**STRUCT-********************************************************************/
  9237.  
  9238. /**STRUCT+********************************************************************/
  9239. /* Structure: ALERT_3270_DATA                                                */
  9240. /*                                                                           */
  9241. /* Description: 3270 User Alert data                                         */
  9242. /*****************************************************************************/
  9243. typedef struct alert_3270_data
  9244. {
  9245.   unsigned short  overlay_size;
  9246.   unsigned char   description[AP_MAX_3270_ALERT_DESC + 1];
  9247.   unsigned char   parameter1[AP_MAX_3270_ALERT_PARM + 1];
  9248.   unsigned char   parameter2[AP_MAX_3270_ALERT_PARM + 1];
  9249.   unsigned char   parameter3[AP_MAX_3270_ALERT_PARM + 1];
  9250.   unsigned char   reserv1[8];               /* reserved                      */
  9251.  
  9252. } ALERT_3270_DATA;
  9253.  
  9254. /**STRUCT-********************************************************************/
  9255.  
  9256. /**STRUCT+********************************************************************/
  9257. /* Structure: DEFINE_3270_DIAG                                               */
  9258. /*                                                                           */
  9259. /* Description: Define 3270 diagnostic data.                                 */
  9260. /*              The user alerts are appended to the main VCB.                */
  9261. /*****************************************************************************/
  9262. typedef struct define_3270_diag
  9263. {
  9264.   unsigned short  opcode;
  9265.   unsigned char   reserv2;                  /* reserved                      */
  9266.   unsigned char   format;                        /* current format is 0      */
  9267.   unsigned short  primary_rc;
  9268.   unsigned long   secondary_rc;
  9269.   DIAG_3270_DATA  def_data;
  9270.  
  9271. } DEFINE_3270_DIAG;
  9272.  
  9273. /**STRUCT-********************************************************************/
  9274.  
  9275.  
  9276. /**STRUCT+********************************************************************/
  9277. /* Structure: QUERY_3270_DIAG                                                */
  9278. /*                                                                           */
  9279. /* Description: Query 3270 diagnostic data.                                  */
  9280. /*              Returns buffer containing ALERT_3270_DATA overlays.          */
  9281. /*****************************************************************************/
  9282. typedef struct query_3270_diag
  9283. {
  9284.   unsigned short  opcode;
  9285.   unsigned char   reserv2;                  /* reserved                      */
  9286.   unsigned char   format;                        /* current format is 0      */
  9287.   unsigned short  primary_rc;
  9288.   unsigned long   secondary_rc;
  9289.   unsigned char  *buf_ptr;
  9290.   unsigned long   buf_size;
  9291.   unsigned long   total_buf_size;
  9292.   unsigned short  num_entries;
  9293.   unsigned short  total_num_entries;
  9294.   unsigned char   list_options;
  9295.   unsigned char   reserv3;                  /* reserved                      */
  9296.   unsigned short  alert_number;
  9297.   DIAG_3270_DATA  def_data;
  9298.  
  9299. } QUERY_3270_DIAG;
  9300.  
  9301. /**STRUCT-********************************************************************/
  9302.  
  9303. /**STRUCT+********************************************************************/
  9304. /* Structure:   DSLU_TEMPLATE                                                */
  9305. /*                                                                           */
  9306. /* Description: Data used to define a DSPU_TEMPLATE                          */
  9307. /*****************************************************************************/
  9308. typedef struct dslu_template
  9309. {
  9310.   unsigned char   min_nau;
  9311.   unsigned char   max_nau;
  9312.   unsigned char   allow_timeout;
  9313.   unsigned char   delayed_logon;
  9314.   unsigned char   reserv1[8];
  9315.   unsigned char   host_lu[8];
  9316. } DSLU_TEMPLATE;
  9317. /**STRUCT-********************************************************************/
  9318.  
  9319. /**STRUCT+********************************************************************/
  9320. /* Structure: DEFINE_DSPU_TEMPLATE                                           */
  9321. /*                                                                           */
  9322. /* Description: DEFINE_DSPU_TEMPLATE verb control block                      */
  9323. /*****************************************************************************/
  9324. typedef struct define_dspu_template
  9325. {
  9326.   unsigned short  opcode;
  9327.   unsigned char   attributes;
  9328.   unsigned char   format;                        /* current format is 0      */
  9329.   unsigned short  primary_rc;
  9330.   unsigned long   secondary_rc;
  9331.   unsigned char   template_name[8];
  9332.   unsigned char   description[RD_LEN];
  9333.   unsigned char   modify_template;
  9334.   unsigned char   reserv1[11];
  9335.   unsigned short  max_instance;
  9336.   unsigned short  num_of_dslu_templates;
  9337. } DEFINE_DSPU_TEMPLATE;
  9338. /**STRUCT-********************************************************************/
  9339.  
  9340. /**STRUCT+********************************************************************/
  9341. /* Structure: DELETE_DSPU_TEMPLATE                                           */
  9342. /*                                                                           */
  9343. /* Description: DELETE_DSPU_TEMPLATE verb control block                      */
  9344. /*****************************************************************************/
  9345. typedef struct delete_dspu_template
  9346. {
  9347.   unsigned short  opcode;
  9348.   unsigned char   attributes;
  9349.   unsigned char   format;                        /* current format is 1      */
  9350.   unsigned short  primary_rc;
  9351.   unsigned long   secondary_rc;
  9352.   unsigned char   template_name[8];
  9353.   unsigned short  num_of_dslu_templates;
  9354.   unsigned char   reserv1[10];              /* reserved                      */
  9355. } DELETE_DSPU_TEMPLATE;
  9356. /**STRUCT-********************************************************************/
  9357.  
  9358. /**STRUCT+********************************************************************/
  9359. /* Structure: QUERY_DSPU_TEMPLATE                                            */
  9360. /*                                                                           */
  9361. /* Description: Used for querying downstream PU templates                    */
  9362. /*****************************************************************************/
  9363.  
  9364. typedef struct query_dspu_template
  9365. {
  9366.   unsigned short   opcode;
  9367.   unsigned char    attributes;
  9368.   unsigned char    format;                       /* current format is 0      */
  9369.   unsigned short   primary_rc;
  9370.   unsigned long    secondary_rc;
  9371.   unsigned char   *buf_ptr;
  9372.   unsigned long    buf_size;
  9373.   unsigned long    total_buf_size;
  9374.   unsigned short   num_entries;
  9375.   unsigned short   total_num_entries;
  9376.   unsigned char    list_options;
  9377.   unsigned char    reserv3;
  9378.   unsigned char    template_name[8];
  9379. } QUERY_DSPU_TEMPLATE;
  9380.  
  9381. /**STRUCT-********************************************************************/
  9382.  
  9383. /**STRUCT+********************************************************************/
  9384. /* Structure: DSPU_TEMPLATE_DATA                                             */
  9385. /*                                                                           */
  9386. /* Description: Overlay returned for QUERY_DSPU_TEMPLATE (above)             */
  9387. /*****************************************************************************/
  9388.  
  9389. typedef struct dspu_template_data
  9390. {
  9391.   unsigned short    overlay_size;
  9392.   unsigned char     template_name[8];
  9393.   unsigned char     description[RD_LEN];
  9394.   unsigned char     reserv1[12];
  9395.   unsigned short    max_instance;
  9396.   unsigned short    active_instance;
  9397.   unsigned short    num_of_dslu_templates;
  9398. } DSPU_TEMPLATE_DATA;
  9399.  
  9400. /**STRUCT-********************************************************************/
  9401.  
  9402. /**STRUCT+********************************************************************/
  9403. /* Structure: DSLU_TEMPLATE_DATA                                             */
  9404. /*                                                                           */
  9405. /* Description: Overlay returned for QUERY_DSPU_TEMPLATE (above)             */
  9406. /*****************************************************************************/
  9407.  
  9408. typedef struct dslu_template_data
  9409. {
  9410.   unsigned short    overlay_size;
  9411.   unsigned char    reserv1[2];
  9412.   DSLU_TEMPLATE    dslu_template;
  9413. } DSLU_TEMPLATE_DATA;
  9414.  
  9415. /**STRUCT-********************************************************************/
  9416.  
  9417. /**STRUCT+********************************************************************/
  9418. /* Structure: SIGN_OFF                                                       */
  9419. /*                                                                           */
  9420. /* Description: SIGN_OFF verb control block                                  */
  9421. /*****************************************************************************/
  9422.  
  9423. typedef struct sign_off
  9424. {
  9425.   unsigned short  opcode;
  9426.   unsigned char   reserv2;
  9427.   unsigned char   format;                        /* current format is 0      */
  9428.   unsigned short  primary_rc;
  9429.   unsigned long   secondary_rc;
  9430.   unsigned char   lu_name[8];
  9431.   unsigned char   lu_alias[8];
  9432.   unsigned char   plu_alias[8];
  9433.   unsigned char   fqplu_name[17];
  9434.   unsigned char   list;
  9435.   unsigned char   all_in_list;
  9436.   unsigned char   immediate;
  9437.   unsigned short  num_entries;
  9438. } SIGN_OFF;
  9439.  
  9440. /**STRUCT-********************************************************************/
  9441. /*                                                                           */
  9442. /**STRUCT+********************************************************************/
  9443. /* Structure: SIGN_OFF_DATA                                                  */
  9444. /*                                                                           */
  9445. /* Description: SIGN_OFF_DATA verb control block                             */
  9446. /*****************************************************************************/
  9447.  
  9448. typedef struct sign_off_data
  9449. {
  9450.   unsigned char   user_id[10];
  9451.   unsigned char   all_profiles;
  9452.   unsigned char   profile[10];
  9453. } SIGN_OFF_DATA;
  9454.  
  9455. /**STRUCT+********************************************************************/
  9456. /* Structure: QUERY_SIGNED_ON_LIST                                           */
  9457. /*                                                                           */
  9458. /* Description: QUERY_SIGNED_ON_LIST verb control block                      */
  9459. /*****************************************************************************/
  9460.  
  9461. typedef struct query_signed_on_list
  9462. {
  9463.   unsigned short   opcode;
  9464.   unsigned char    reserv2;
  9465.   unsigned char    format;                       /* current format is 0      */
  9466.   unsigned short   primary_rc;
  9467.   unsigned long    secondary_rc;
  9468.   unsigned char    *buf_ptr;
  9469.   unsigned long    buf_size;
  9470.   unsigned long    total_buf_size;
  9471.   unsigned short   num_entries;
  9472.   unsigned short   total_num_entries;
  9473.   unsigned char    list_options;
  9474.   unsigned char    reserv3;
  9475.   unsigned char    lu_name[8];
  9476.   unsigned char    lu_alias[8];
  9477.   unsigned char    plu_alias[8];
  9478.   unsigned char    fqplu_name[17];
  9479.   unsigned char    user_id[10];
  9480.   unsigned char    profile[10];
  9481.   unsigned char    list;
  9482. } QUERY_SIGNED_ON_LIST;
  9483.  
  9484. /**STRUCT+********************************************************************/
  9485. /* Structure: signed_on_list_entry                                           */
  9486. /*                                                                           */
  9487. /* Description: Overlay returned for QUERY_SIGNED_ON_LIST (above)            */
  9488. /*****************************************************************************/
  9489.  
  9490. typedef struct signed_on_list_entry
  9491. {
  9492.   unsigned short   overlay_size;
  9493.   unsigned char    plu_alias[8];
  9494.   unsigned char    user_id[10];
  9495.   unsigned char    profile[10];
  9496. } SIGNED_ON_LIST_ENTRY;
  9497. /**STRUCT-********************************************************************/
  9498.  
  9499. /**STRUCT+********************************************************************/
  9500. /* Structure:   QUERY_ADJACENT_NODE                                          */
  9501. /*                                                                           */
  9502. /* Description: QUERY_ADJACENT_NODE verb control block                       */
  9503. /*****************************************************************************/
  9504.  
  9505. typedef struct query_adjacent_node
  9506. {
  9507.   unsigned short   opcode;
  9508.   unsigned char    reserv2;                 /* reserved                      */
  9509.   unsigned char    format;                       /* current format is 0      */
  9510.   unsigned short   primary_rc;
  9511.   unsigned long    secondary_rc;
  9512.   unsigned char   *buf_ptr;
  9513.   unsigned long    buf_size;
  9514.   unsigned long    total_buf_size;
  9515.   unsigned short   num_entries;
  9516.   unsigned short   total_num_entries;
  9517.   unsigned char    list_options;
  9518.   unsigned char    reserv3;                 /* reserved                      */
  9519.   unsigned char    cp_name[17];
  9520. } QUERY_ADJACENT_NODE;
  9521.  
  9522. /**STRUCT-********************************************************************/
  9523.  
  9524. /**STRUCT+********************************************************************/
  9525. /* Structure:   ADJACENT_NODE_DATA                                           */
  9526. /*                                                                           */
  9527. /* Description: Overlay returned on QUERY_ADJACENT_NODE.                     */
  9528. /*****************************************************************************/
  9529.  
  9530. typedef struct adjacent_node_data
  9531. {
  9532.   unsigned short   overlay_size;
  9533.   unsigned short   sub_overlay_size;
  9534.   unsigned char    cp_name[17];
  9535.   unsigned char    description[RD_LEN];
  9536.   unsigned char    reserv3[19];             /* reserved                      */
  9537.   unsigned short   num_of_lus;
  9538. } ADJACENT_NODE_DATA;
  9539.  
  9540. /**STRUCT-********************************************************************/
  9541.  
  9542. /**STRUCT+********************************************************************/
  9543. /* Structure:   ADJACENT_NODE_LU_DATA                                        */
  9544. /*                                                                           */
  9545. /* Description: Overlay returned on QUERY_ADJACENT_NODE                      */
  9546. /*****************************************************************************/
  9547.  
  9548. typedef struct adjacent_node_lu_data
  9549. {
  9550.   unsigned short   overlay_size;
  9551.   unsigned char     reserv2[2];             /* reserved                      */
  9552.   ADJACENT_NODE_LU adj_lu_def_data;
  9553. } ADJACENT_NODE_LU_DATA;
  9554.  
  9555. /**STRUCT-********************************************************************/
  9556.  
  9557. /**STRUCT+********************************************************************/
  9558. /* Structure:   QUERY_HPR_STATS                                              */
  9559. /*                                                                           */
  9560. /* Description: QUERY_HPR_STATS verb control block                           */
  9561. /*****************************************************************************/
  9562.  
  9563. typedef struct query_hpr_stats
  9564. {
  9565.   unsigned short   opcode;
  9566.   unsigned char    reserv2;                 /* reserved                     */
  9567.   unsigned char    format;                       /* current format is 0      */
  9568.   unsigned short   primary_rc;
  9569.   unsigned long    secondary_rc;
  9570.   unsigned long    num_orig_rs_sent;
  9571.   unsigned long    num_orig_rs_rej;
  9572.   unsigned long    num_inter_rs_rcvd;
  9573.   unsigned long    num_inter_rs_rej;
  9574.   unsigned long    num_dest_rs_rcvd;
  9575.   unsigned long    num_dest_rs_rej;
  9576.   unsigned long    active_isr_hpr_sessions;
  9577.   unsigned char    reserv[28];              /* reserved                      */
  9578. } QUERY_HPR_STATS;
  9579.  
  9580. /**STRUCT-********************************************************************/
  9581.  
  9582. /**STRUCT+********************************************************************/
  9583. /* Structure: QUERY_CONVERSATION                                             */
  9584. /*                                                                           */
  9585. /* Description: Used to query the node for conversation information          */
  9586. /*****************************************************************************/
  9587.  
  9588. typedef struct query_conversation
  9589. {
  9590.   unsigned short   opcode;
  9591.   unsigned char    reserv2;                 /* reserved                       */
  9592.   unsigned char    format;                       /* current format is 0      */
  9593.   unsigned short   primary_rc;
  9594.   unsigned long    secondary_rc;
  9595.   unsigned char    *buf_ptr;
  9596.   unsigned long    buf_size;
  9597.   unsigned long    total_buf_size;
  9598.   unsigned short   num_entries;
  9599.   unsigned short   total_num_entries;
  9600.   unsigned char    list_options;
  9601.   unsigned char    reserv3;                 /* reserved                       */
  9602.   unsigned char    lu_name[8];
  9603.   unsigned char    lu_alias[8];
  9604.   unsigned long    conv_id;
  9605.   unsigned char    session_id[8];
  9606.   unsigned char    reserv4[12];             /* reserved                       */
  9607. } QUERY_CONVERSATION;
  9608.  
  9609. /**STRUCT-********************************************************************/
  9610.  
  9611. /**STRUCT+********************************************************************/
  9612. /* Structure: CONV_SUMMARY                                                   */
  9613. /*                                                                           */
  9614. /* Description: Summary overlay used for query_conversation (above)          */
  9615. /*****************************************************************************/
  9616.  
  9617. typedef struct conv_summary
  9618. {
  9619.   unsigned short   overlay_size;
  9620.   unsigned long    conv_id;
  9621.   unsigned char    local_tp_name[64];
  9622.   unsigned char    partner_tp_name[64];
  9623.   unsigned char    tp_id[8];
  9624.   unsigned char    sess_id[8];
  9625.   unsigned long    conv_start_time;
  9626.   unsigned long    bytes_sent;
  9627.   unsigned long    bytes_received;
  9628.   unsigned char    conv_state;
  9629.   unsigned char    duplex_type;
  9630. } CONV_SUMMARY;
  9631.  
  9632. /**STRUCT-********************************************************************/
  9633.  
  9634. /**STRUCT+********************************************************************/
  9635. /* Structure:    DEFINE_RTP_TUNING                                           */
  9636. /*                                                                           */
  9637. /* Description:  Defines values to modify the default RTP settings, to       */
  9638. /*               change the delay between path switch attempts               */
  9639. /*****************************************************************************/
  9640. typedef struct define_rtp_tuning
  9641. {
  9642.   unsigned short   opcode;
  9643.   unsigned char    reserv2;
  9644.   unsigned char    format;
  9645.   unsigned short   primary_rc;
  9646.   unsigned long    secondary_rc;
  9647.   unsigned char    path_switch_attempts;
  9648.   unsigned char    short_req_retry_limit;
  9649.   unsigned char    reserved[98];
  9650. } DEFINE_RTP_TUNING;
  9651.  
  9652. /**STRUCT-********************************************************************/
  9653.  
  9654. /**STRUCT+********************************************************************/
  9655. /* Structure:    QUERY_RTP_TUNING                                            */
  9656. /*                                                                           */
  9657. /* Description:  Queries the RTP_TUNING parameters, which can be used to     */
  9658. /*               change the delay between path switch attempts               */
  9659. /*****************************************************************************/
  9660. typedef struct query_rtp_tuning
  9661. {
  9662.   unsigned short   opcode;
  9663.   unsigned char    reserv2;
  9664.   unsigned char    format;
  9665.   unsigned short   primary_rc;
  9666.   unsigned long    secondary_rc;
  9667.   unsigned char    path_switch_attempts;
  9668.   unsigned char    short_req_retry_limit;
  9669.   unsigned char    reserved[98];
  9670. } QUERY_RTP_TUNING;
  9671.  
  9672. /**STRUCT-********************************************************************/
  9673.  
  9674. /**STRUCT+********************************************************************/
  9675. /* Structure: DEACTIVATE_LU_0_TO_3                                           */
  9676. /*                                                                           */
  9677. /* Description: NOF API verb sent to cause a TERM_SELF request for the       */
  9678. /*              PLU-SLU session to be sent to the host.                      */
  9679. /*****************************************************************************/
  9680. typedef struct deactivate_lu_0_to_3
  9681. {
  9682.   unsigned short  opcode;
  9683.   unsigned char   reserv2;             /* reserved                           */
  9684.   unsigned char   format;                        /* current format is 0      */
  9685.   unsigned short  primary_rc;
  9686.   unsigned long   secondary_rc;
  9687.   unsigned char   lu_name[8];
  9688. } DEACTIVATE_LU_0_TO_3;
  9689.  
  9690. /**STRUCT-********************************************************************/
  9691.  
  9692. /**STRUCT+********************************************************************/
  9693. /* Structure: DEFINE_ISR_STATS                                               */
  9694. /*                                                                           */
  9695. /* Description: Define and return what ISR stats we are maintaining.         */
  9696. /*****************************************************************************/
  9697.  
  9698. typedef struct define_isr_stats
  9699. {
  9700.   unsigned short   opcode;
  9701.   unsigned char    reserv2;                 /* reserved                      */
  9702.   unsigned char    format;                       /* current format is 0      */
  9703.   unsigned short   primary_rc;
  9704.   unsigned long    secondary_rc;
  9705.   unsigned char    session_type;
  9706.   unsigned char    set_collect_stats;
  9707.   unsigned char    set_collect_names;
  9708.   unsigned char    set_collect_rscvs;
  9709.   unsigned char    collect_stats;
  9710.   unsigned char    collect_names;
  9711.   unsigned char    collect_rscvs;
  9712.   unsigned char    reserv1;                 /* reserved                      */
  9713.   unsigned long    collect_stats_time;
  9714.   unsigned long    collect_names_time;
  9715.   unsigned long    collect_rscvs_time;
  9716. } DEFINE_ISR_STATS;
  9717.  
  9718. /**STRUCT-********************************************************************/
  9719.  
  9720. /**STRUCT+********************************************************************/
  9721. /* Structure: DEFINE_LU62_TIMEOUT                                            */
  9722. /*                                                                           */
  9723. /* Description: DEFINE_LU62_TIMEOUT verb control block                       */
  9724. /*****************************************************************************/
  9725.  
  9726. typedef struct define_lu62_timeout
  9727. {
  9728.   unsigned short  opcode;
  9729.   unsigned char   reserv2;                  /* reserved                      */
  9730.   unsigned char   format;                        /* current format is 0      */
  9731.   unsigned short  primary_rc;
  9732.   unsigned long   secondary_rc;
  9733.   unsigned char   resource_type;
  9734.   unsigned char   resource_name[17];
  9735.   unsigned short  timeout;
  9736. } DEFINE_LU62_TIMEOUT;
  9737.  
  9738. /**STRUCT-********************************************************************/
  9739.  
  9740. /**STRUCT+********************************************************************/
  9741. /* Structure: QUERY_LU62_TIMEOUT                                             */
  9742. /*                                                                           */
  9743. /* Description: Used to obtain information on one or more LU 6.2 timeout     */
  9744. /*              definitions                                                  */
  9745. /*****************************************************************************/
  9746.  
  9747. typedef struct query_lu62_timeout
  9748. {
  9749.   unsigned short   opcode;
  9750.   unsigned char    reserv2;                 /* reserved                      */
  9751.   unsigned char    format;                  /* current format is 0           */
  9752.   unsigned short   primary_rc;
  9753.   unsigned long    secondary_rc;
  9754.   unsigned char   *buf_ptr;
  9755.   unsigned long    buf_size;
  9756.   unsigned long    total_buf_size;
  9757.   unsigned short   num_entries;
  9758.   unsigned short   total_num_entries;
  9759.   unsigned char    list_options;
  9760.   unsigned char    reserv3;
  9761.   unsigned char    resource_type;
  9762.   unsigned char    resource_name[17];
  9763. } QUERY_LU62_TIMEOUT;
  9764.  
  9765. /**STRUCT-********************************************************************/
  9766.  
  9767. /**STRUCT+********************************************************************/
  9768. /* Structure:   LU62_TIMEOUT_DATA                                            */
  9769. /*                                                                           */
  9770. /* Description: Overlay returned on QUERY_LU62_TIMEOUT                       */
  9771. /*****************************************************************************/
  9772.  
  9773. typedef struct lu62_timeout_data
  9774. {
  9775.   unsigned short   overlay_size;
  9776.   unsigned char    resource_type;
  9777.   unsigned char    resource_name[17];
  9778.   unsigned short   timeout;
  9779. } LU62_TIMEOUT_DATA;
  9780.  
  9781. /**STRUCT-********************************************************************/
  9782.  
  9783. /**STRUCT+********************************************************************/
  9784. /* Structure: DELETE_LU62_TIMEOUT                                            */
  9785. /*                                                                           */
  9786. /* Description: DELETE_LU62_TIMEOUT verb control block                       */
  9787. /*****************************************************************************/
  9788.  
  9789. typedef struct delete_lu62_timeout
  9790. {
  9791.   unsigned short  opcode;
  9792.   unsigned char   reserv2;                  /* reserved                      */
  9793.   unsigned char   format;                        /* current format is 0      */
  9794.   unsigned short  primary_rc;
  9795.   unsigned long   secondary_rc;
  9796.   unsigned char   resource_type;
  9797.   unsigned char   resource_name[17];
  9798. } DELETE_LU62_TIMEOUT;
  9799.  
  9800. /**STRUCT-********************************************************************/
  9801.  
  9802. #endif /* !APPN_DONT_INC_VCBS */
  9803.  
  9804. /*****************************************************************************/
  9805. /* User Defined Verbs                                                        */
  9806. /*****************************************************************************/
  9807.  
  9808. /**STRUCT+********************************************************************/
  9809. /* Structure: ENABLE AM                                                      */
  9810. /*                                                                           */
  9811. /* Description: Used to enable the Attach manager                            */
  9812. /*****************************************************************************/
  9813.  
  9814. typedef struct enable_am
  9815. {
  9816.   unsigned short  opcode;
  9817.   unsigned char   reserv2;                  /* reserved                      */
  9818.   unsigned char   format;                        /* current format is 0      */
  9819.   unsigned short  primary_rc;
  9820.   unsigned long   secondary_rc;
  9821. } ENABLE_AM;
  9822.  
  9823. /**STRUCT-********************************************************************/
  9824.  
  9825. /**STRUCT+********************************************************************/
  9826. /* Structure: DISABLE AM                                                     */
  9827. /*                                                                           */
  9828. /* Description: Used to disable the Attach manager                           */
  9829. /*****************************************************************************/
  9830.  
  9831. typedef struct disable_am
  9832. {
  9833.   unsigned short  opcode;
  9834.   unsigned char   reserv2;                  /* reserved                      */
  9835.   unsigned char   format;                        /* current format is 0      */
  9836.   unsigned short  primary_rc;
  9837.   unsigned long   secondary_rc;
  9838. } DISABLE_AM;
  9839.  
  9840. /**STRUCT-********************************************************************/
  9841.  
  9842. /**STRUCT+********************************************************************/
  9843. /* Structure: QUERY AM                                                       */
  9844. /*                                                                           */
  9845. /* Description: Used to query the state of the Attach manager                */
  9846. /*****************************************************************************/
  9847.  
  9848. typedef struct query_am
  9849. {
  9850.   unsigned short  opcode;
  9851.   unsigned char   reserv2;                  /* reserved                      */
  9852.   unsigned char   format;                        /* current format is 0      */
  9853.   unsigned short  primary_rc;
  9854.   unsigned long   secondary_rc;
  9855.   unsigned short  active;
  9856. } QUERY_AM;
  9857.  
  9858. /**STRUCT-********************************************************************/
  9859.  
  9860. /*****************************************************************************/
  9861. /* Windows NOF Extension Return Codes.                                       */
  9862. /*****************************************************************************/
  9863. #define WNOFSYSERROR        0xF100      /* System error                      */
  9864. #define WNOFALREADY         0xF101      /* Async request already completed   */
  9865. #define WNOFBADPOINTER      0xF102      /* Invalid pointer                   */
  9866. #define WNOFBADSIZE         0xF103      /* Invalid buffer size               */
  9867. #define WNOFSYSNOTREADY     0xF104      /* Underlying subsystem not started  */
  9868. #define WNOFVERNOTSUPPORTED 0xF105      /* Application version not supported */
  9869. #define WNOFNOTREG          0xF106      /* Not registered for indications    */
  9870. #define WNOFTIMEOUT         0xF107      /* Call timed out                    */
  9871.  
  9872. /**STRUCT+********************************************************************/
  9873. /* Structure: WNOFDATA                                                       */
  9874. /*                                                                           */
  9875. /* Description: Data returned by WinNOFStartup                               */
  9876. /*****************************************************************************/
  9877.  
  9878. #define WNOFDESCRIPTION_LEN     127
  9879.  
  9880. typedef struct tagWNOFDATA
  9881. {
  9882.   WORD    wVersion;
  9883.   char    szDescription[WNOFDESCRIPTION_LEN+1];
  9884. } WNOFDATA, * LPWNOFDATA;
  9885.  
  9886. /**STRUCT-********************************************************************/
  9887.  
  9888. /*****************************************************************************/
  9889. /* Api function prototypes                                                   */
  9890. /*****************************************************************************/
  9891.  
  9892. extern void   WINAPI WinNOF(long, unsigned short);
  9893. extern HANDLE WINAPI WinAsyncNOF(HWND, long, unsigned short);
  9894. extern HANDLE WINAPI WinAsyncNOFEx(HANDLE, long, unsigned short);
  9895. extern int    WINAPI WinNOFCancelAsyncRequest(HANDLE);
  9896. extern BOOL   WINAPI WinNOFCleanup(void);
  9897. extern int    WINAPI WinNOFStartup(WORD, LPWNOFDATA);
  9898. extern BOOL   WINAPI WinNOFRegisterIndicationSink(unsigned short,
  9899.                                                   unsigned short,
  9900.                                                   unsigned short *,
  9901.                                                   unsigned long *);
  9902. extern BOOL   WINAPI WinNOFUnregisterIndicationSink(unsigned short,
  9903.                                                     unsigned short *,
  9904.                                                     unsigned long *);
  9905. extern int    WINAPI WinNOFGetIndication(long,
  9906.                                          unsigned short *,
  9907.                                          unsigned long);
  9908.  
  9909. #define WIN_NOF_ASYNC_COMPLETE_MESSAGE "WinAsyncNOF"
  9910.  
  9911.  
  9912. /*****************************************************************************/
  9913. /* For Win32 environment, restore original packing mode                      */
  9914. /*****************************************************************************/
  9915. #pragma pack()
  9916.  
  9917. /*****************************************************************************/
  9918. /* Define this header file to be C if this is inluded by a C++ source file   */
  9919. /*****************************************************************************/
  9920. #ifdef __cplusplus
  9921. }
  9922. #endif
  9923.  
  9924. /*****************************************************************************/
  9925. /* End ifndef NOF_C_INCLUDED                                                 */
  9926. /*****************************************************************************/
  9927. #endif
  9928.  
  9929. /* winnof.h */
  9930.  
  9931.