WinMgt.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:101k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************/
  2. /* winmgt.h    - header file for Management API structures (CNOS,DISPLAY,..) */
  3. /*                                                                           */
  4. /* Copyright Data Connection Ltd. 1991 - 2000                                */
  5. /* Copyright (c) Microsoft Corporation.  All rights reserved.                */
  6. /*****************************************************************************/
  7. #ifndef ACSMGTCH_INCLUDED
  8. #define ACSMGTCH_INCLUDED
  9. /*****************************************************************************/
  10. /* Change for ES1.0 which also defines luw_id_overlay                        */
  11. /*****************************************************************************/
  12. #include <winappc.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. /*****************************************************************************/
  17. /* Ensure the correct packing of structures                                  */
  18. /*****************************************************************************/
  19. #ifdef WIN32
  20.   #pragma pack(4)
  21. #endif
  22. /*****************************************************************************/
  23. /* Definitions from APPCDEF.H file (retired)                                 */
  24. /*****************************************************************************/
  25. typedef struct fqpcid_overlay {
  26.     unsigned char  unique_proc_id[8];   /* Unique procedure identifier       */
  27.     unsigned char  fq_length;           /* Length of Fully Qualified Name    */
  28.     unsigned char  fq_name[17];         /* Fully Qualified Name (EBCDIC)     */
  29.                                         /*    1-17 bytes (EBCDIC type A)     */
  30. } FQPCID_OVERLAY;
  31. typedef struct alt_alias_overlay {
  32.     unsigned char  alt_plu_alias[8];    /* Alternate Partner LU Alias (ASCII */
  33.                                         /* 1-8 bytes                         */
  34. } ALT_ALIAS_OVERLAY;
  35. #define MGT_LO_UC(w)    ((unsigned char)(((unsigned short)(w)) & 0xFF))
  36. #define MGT_HI_UC(w)    ((unsigned char)(((unsigned short)(w) >> 8) & 0xff))
  37. #define MGT_MAKUS(l, h) (((unsigned short)(l)) | ((unsigned short)(h)) << 8)
  38. #define MGT_MAKUL(l, h) ((unsigned long)(((unsigned short)(l))|      
  39.                           ((unsigned long)((unsigned short)(h))) << 16))
  40. #define MGT_LO_US(l)      ((unsigned short)(((unsigned long)(l)) & 0xFFFF))
  41. #define MGT_HI_US(l)    ((unsigned short)(((unsigned long)(l) >> 16) 
  42.                            & 0xffff))
  43. /*****************************************************************************/
  44. /* CONSTFLIP macros.  Ordinary flipping macros include function calls and so */
  45. /* PFLIPI(constant) does not appear constant to the compiler                 */
  46. /*****************************************************************************/
  47. #ifdef NON_INTEL_BYTE_ORDER
  48. #define CONSTFLIPI(X)  (X)
  49. #define CONSTFLIPL(X)  (X)
  50. /*****************************************************************************/
  51. /* ELSE (Intel environment)                                                  */
  52. /* define flipping macros                                                    */
  53. /*****************************************************************************/
  54. #else
  55. #define CONSTFLIPI(X) MGT_MAKUS(MGT_HI_UC(X),MGT_LO_UC(X))
  56. #define CONSTFLIPL(X) MGT_MAKUL(CONSTFLIPI(MGT_HI_US(X)),  
  57.                                 CONSTFLIPI(MGT_LO_US(X)))
  58. #endif
  59. /*****************************************************************************/
  60. /* Primary Return Codes                                                      */
  61. /*****************************************************************************/
  62.    #define  AP_CNOS_LOCAL_RACE_REJECT        CONSTFLIPI(0x0017) /* 0017 */
  63.    #define  AP_CNOS_PARTNER_LU_REJECT        CONSTFLIPI(0x0018) /* 0018 */
  64.    #define  AP_INVALID_KEY                   CONSTFLIPI(0xF020) /* F020 */
  65. /*****************************************************************************/
  66. /* Secondary Return Codes                                                    */
  67. /*****************************************************************************/
  68.    #define  AP_ALL_MODE_MUST_RESET                 CONSTFLIPL(0x00000153L)
  69.    #define  AP_AUTOACT_EXCEEDS_SESSLIM             CONSTFLIPL(0x00000152L)
  70.    #define  AP_BAD_MODE_NAME                       CONSTFLIPL(0x00000157L)
  71.    #define  AP_BAD_SNASVCMG_LIMITS                 CONSTFLIPL(0x00000154L)
  72.    #define  AP_CANT_RAISE_LIMITS                   CONSTFLIPL(0x00000151L)
  73.    #define  AP_CHANGE_SRC_DRAINS                   CONSTFLIPL(0x0000015DL)
  74.    #define  AP_CNOS_ACCEPTED                       CONSTFLIPL(0x00000000L)
  75.    #define  AP_CNOS_COMMAND_RACE_REJECT            CONSTFLIPL(0x0000015FL)
  76.    #define  AP_CNOS_IMPLICIT_PARALLEL              CONSTFLIPL(0x00000150L)
  77.    #define  AP_CNOS_MODE_CLOSED                    CONSTFLIPL(0x00000156L)
  78.    #define  AP_CNOS_MODE_NAME_REJECT               CONSTFLIPL(0x00000157L)
  79.    #define  AP_CNOS_NEGOTIATED                     CONSTFLIPL(0x00000007L)
  80.    #define  AP_CPSVCMG_MODE_NOT_ALLOWED            CONSTFLIPL(0x00000519L)
  81.    #define  AP_EXCEEDS_MAX_ALLOWED                 CONSTFLIPL(0x0000015CL)
  82.    #define  AP_LU_DETACHED                         CONSTFLIPL(0x0000015EL)
  83.    #define  AP_MIN_GT_TOTAL                        CONSTFLIPL(0x00000155L)
  84.    #define  AP_MODE_CLOSED                         CONSTFLIPL(0x00000156L)
  85.    #define  AP_RESET_SNA_DRAINS                    CONSTFLIPL(0x00000159L)
  86.    #define  AP_SINGLE_NOT_SRC_RESP                 CONSTFLIPL(0x0000015AL)
  87.    #define  AP_SNASVCMG_RESET_NOT_ALLOWED          CONSTFLIPL(0x00000167L)
  88.    #define  AP_DISPLAY_INFO_EXCEEDS_LEN            CONSTFLIPL(0x000001B4L)
  89.    #define  AP_DISPLAY_INVALID_CONSTANT            CONSTFLIPL(0x000001B5L)
  90. /*****************************************************************************/
  91. /* Parameter values                                                          */
  92. /*****************************************************************************/
  93.    #define  AP_SOURCE                              (0x00)
  94.    #define  AP_TARGET                              (0x01)
  95.    #define  AP_ONE                                 (0x00)
  96.    #define  AP_ALL                                 (0x01)
  97.    #define  AP_QUEUED_OPERATOR_STARTED             (0x00)
  98.    #define  AP_QUEUED_AM_STARTED                   (0x01)
  99.    #define  AP_NONQUEUED_AM_STARTED                (0x02)
  100.    #define  AP_QUEUED_OPERATOR_PRELOADED           (0x03)
  101.    #define  AP_BACKGROUND                          (0x00)
  102.    #define  AP_FULL_SCREEN                         (0x01)
  103.    #define  AP_PRESENTATION_MANAGER                (0x02)
  104.    #define  AP_VIO_WINDOWABLE                      (0x03)
  105.    #define  AP_LEARN                               (0x00)
  106.    #define  AP_LEN                                 (0x01)
  107.    #define  AP_NN                                  (0x02)
  108.    #define  AP_EN                                  (0x03)
  109.    #define  AP_SEC_NONSECURE                       (0x01)
  110.    #define  AP_SEC_PUBLIC_SWITCHED_NETWORK         (0x20)
  111.    #define  AP_SEC_UNDERGROUND_CABLE               (0x40)
  112.    #define  AP_SEC_SECURE_CONDUIT                  (0x60)
  113.    #define  AP_SEC_GUARDED_CONDUIT                 (0x80)
  114.    #define  AP_SEC_ENCRYPTED                       (0xA0)
  115.    #define  AP_SEC_GUARDED_RADIATION               (0xC0)
  116.    #define  AP_SEC_MAXIMUM                         (0xFF)
  117.    #define  AP_PROP_DELAY_MINIMUM                  (0x00)
  118.    #define  AP_PROP_DELAY_LAN                      (0x4C)
  119.    #define  AP_PROP_DELAY_TELEPHONE                (0x71)
  120.    #define  AP_PROP_DELAY_PKT_SWITCHED_NET         (0x91)
  121.    #define  AP_PROP_DELAY_SATELLITE                (0x99)
  122.    #define  AP_PROP_DELAY_MAXIMUM                  (0xFF)
  123.    #define  AP_SWITCHED                            (0x01)
  124.    #define  AP_NONSWITCHED                         (0x02)
  125.    #define  AP_SECONDARY                           (0x00)
  126.    #define  AP_PRIMARY                             (0x01)
  127.    #define  AP_NEGOTIABLE                          (0x03)
  128.    #define  AP_OUTBOUND                            (0x00)
  129.    #define  AP_INBOUND                             (0x01)
  130.    #define  AP_NOT_IN_PROGRESS                     (0x00)
  131.    #define  AP_IN_PROGRESS                         (0x01)
  132.    #define  AP_NOT_SUPPORTED                       (0x00)
  133.    #define  AP_SUPPORTED                           (0x01)
  134.    #define  AP_SSCP_PU_SESSION                     (0x00)
  135.    #define  AP_SSCP_LU_SESSION                     (0x01)
  136.    #define  AP_LU_LU_SESSION                       (0x02)
  137.    #define  AP_DEACTIVATED                         (0x00)
  138.    #define  AP_ACTIVATED                           (0x80)
  139.    #define  AP_ACTIVATING                          (0x40)
  140.    #define  AP_DEACTIVATING                        (0x20)
  141.    #define  AP_DETACHING                           (0x10)
  142.    #define  AP_HOST_CONNECTION                     (0x01)
  143.    #define  AP_PEER_CONNECTION                     (0x02)
  144.    #define  AP_BOTH_CONNECTION                     (0x03)
  145.    #define  AP_CONALS_PND                          (0x02)
  146.    #define  AP_XID_PND                             (0x03)
  147.    #define  AP_CONTACT_PND                         (0x05)
  148.    #define  AP_CONTACTED                           (0x06)
  149.    #define  AP_DISC_PND                            (0x07)
  150.    #define  AP_DISC_RQ                             (0x08)
  151.    #define  AP_3270_EMULATION                      (0x00)
  152.    #define  AP_LUA                                 (0x01)
  153.    #define  AP_LU0                                 (0x00)
  154.    #define  AP_LU1                                 (0x01)
  155.    #define  AP_LU2                                 (0x02)
  156.    #define  AP_LU3                                 (0x03)
  157.    #define  AP_LU62                                (0x06)
  158.    #define  AP_UNKNOWN                             (0xFF)
  159.    #define  AP_LEASED_LINE                         (0x00)
  160.    #define  AP_VX32                                (0x01)
  161.    #define  AP_DISCONNECT                          (0x00)
  162.    #define  AP_CONNECT                             (0x01)
  163.    #define  AP_AUTO_CONNECT                        (0x02)
  164.    #define  AP_FIXED                               (0x12)
  165.    #define  AP_ADAPTIVE                            (0x13)
  166.    #define  AP_NOT_BOUND                           (0x00)
  167.    #define  AP_BOUND                               (0x80)
  168.    #define  AP_BINDING                             (0x40)
  169.    #define  AP_UNBINDING                           (0x20)
  170. /*****************************************************************************/
  171. /* End Definitions from APPCDEF.H file (retired)                             */
  172. /*****************************************************************************/
  173. typedef struct cnos {
  174.     unsigned short opcode;              /* Verb operation code               */
  175.                                         /* AP_CNOS                           */
  176.     unsigned char  reserv2[2];          /* Reserved                          */
  177.     unsigned short primary_rc;          /* Primary RETURN_CODE               */
  178.     unsigned long  secondary_rc;        /* Secondary RETURN_CODE             */
  179.     unsigned char  key[8];              /* Key (ASCII)                       */
  180.     unsigned char  lu_alias[8];         /* LU Alias (ASCII)                  */
  181.                                         /* 0 or 1-8 bytes                    */
  182.     unsigned char  plu_alias[8];        /* Partner LU Alias (ASCII)          */
  183.                                         /* 0 or 1-8 bytes                    */
  184.     unsigned char  fqplu_name[17];      /* FQ Partner LU Name (EBCDIC type A */
  185.                                         /* 0-17 bytes                        */
  186.     unsigned char  reserv3;                    /* Reserved                          */
  187.     unsigned char  mode_name[8];        /* Mode Name (EBCDIC type A)         */
  188.                                         /* 0-8 bytes                         */
  189.     unsigned int   mode_name_select:1;  /* Bit 15                            */
  190.                                         /* Mode name select                  */
  191.                                         /* AP_ONE                            */
  192.                                         /* AP_ALL                            */
  193.     unsigned int   set_negotiable:1;    /* Bit 14                            */
  194.                                         /* Set negotiable?                   */
  195.                                         /* AP_NO                             */
  196.                                         /* AP_YES                            */
  197.     unsigned int   reserv4:6;           /* Bits 8-13                         */
  198.                                         /* Reserved                          */
  199.     unsigned int   reserv5:8;           /* Bits 0-7                          */
  200.                                         /* Reserved                          */
  201.     unsigned short plu_mode_sess_lim;   /* Partner LU mode session limit     */
  202.                                         /* 0-32767                           */
  203.     unsigned short min_conwinners_source;
  204.                                         /* Minimum contention winners source */
  205.                                         /* 0-32767                           */
  206.     unsigned short min_conwinners_target;
  207.                                         /* Minimum contention winners target */
  208.                                         /* 0-32767                           */
  209.     unsigned short auto_act;            /* Auto Activate                     */
  210.                                         /* 0-32767                           */
  211.     unsigned int   drain_target:1;      /* Bit 15                            */
  212.                                         /* Drain Target?                     */
  213.                                         /* AP_NO                             */
  214.                                         /* AP_YES                            */
  215.     unsigned int   drain_source:1;      /* Bit 14                            */
  216.                                         /* Drain Source?                     */
  217.                                         /* AP_NO                             */
  218.                                         /* AP_YES                            */
  219.     unsigned int   responsible:1;       /* Bit 13                            */
  220.                                         /* Responsible?                      */
  221.                                         /* AP_SOURCE                         */
  222.                                         /* AP_TARGET                         */
  223.     unsigned int   reserv6:5;           /* Bits 8-12                         */
  224.                                         /* Reserved                          */
  225.     unsigned int   reserv7:8;           /* Bit 0-7                           */
  226.                                         /* Reserved                          */
  227. } CNOS;
  228. typedef struct display {
  229.     unsigned short opcode;              /* Verb operation code               */
  230.                                         /*    AP_DISPLAY                     */
  231.     unsigned char  reserv2[2];          /* Reserved                          */
  232.     unsigned short primary_rc;          /* Primary RETURN_CODE               */
  233.     unsigned long  secondary_rc;        /* Secondary RETURN_CODE             */
  234.     unsigned long  init_sect_len;       /* Length of this section            */
  235.     unsigned long  buffer_len;          /* Length of passed buffer           */
  236.     unsigned char  far *buffer_ptr;     /* Passed address                    */
  237.     unsigned long  num_sections;        /* Number of sections                */
  238.     unsigned long  display_len;         /* Returned, length used             */
  239.     unsigned long  area_needed;         /* Returned, length required         */
  240.     unsigned char  sna_global_info;     /* SNA global info?                  */
  241.                                         /*    AP_NO                          */
  242.                                         /*    AP_YES                         */
  243.     unsigned char  lu62_info;           /* LU 6.2 info?                      */
  244.                                         /*    AP_NO                          */
  245.                                         /*    AP_YES                         */
  246.     unsigned char  am_info;             /* Attach Manager info?              */
  247.                                         /*    AP_NO                          */
  248.                                         /*    AP_YES                         */
  249.     unsigned char  tp_info;             /* TP info?                          */
  250.                                         /*    AP_NO                          */
  251.                                         /*    AP_YES                         */
  252.     unsigned char  sess_info;           /* Session info?                     */
  253.                                         /*    AP_NO                          */
  254.                                         /*    AP_YES                         */
  255.     unsigned char  link_info;           /* Link info?                        */
  256.                                         /*    AP_NO                          */
  257.                                         /*    AP_YES                         */
  258.     unsigned char  lu_0_3_info;         /* LU 0, 1, 2, & 3 info?             */
  259.                                         /*    AP_NO                          */
  260.                                         /*    AP_YES                         */
  261.     unsigned char  gw_info;             /* Gateway info?                     */
  262.                                         /*    AP_NO                          */
  263.                                         /*    AP_YES                         */
  264.     unsigned char  x25_physical_link_info; /* X.25 info?                     */
  265.                                         /*    AP_NO                          */
  266.                                         /*    AP_YES                         */
  267.     unsigned char  sys_def_info;        /* System Default info?              */
  268.                                         /*    AP_NO                          */
  269.                                         /*    AP_YES                         */
  270.     unsigned char  adapter_info;        /* Adapter info?                     */
  271.                                         /*    AP_NO                          */
  272.                                         /*    AP_YES                         */
  273.     unsigned char  lu_def_info;         /* LU definition info?               */
  274.                                         /*    AP_NO                          */
  275.                                         /*    AP_YES                         */
  276.     unsigned char  plu_def_info;        /* Remote LU def info?               */
  277.                                         /*    AP_NO                          */
  278.                                         /*    AP_YES                         */
  279.     unsigned char  mode_def_info;       /* Mode Definition info?             */
  280.                                         /*    AP_NO                          */
  281.                                         /*    AP_YES                         */
  282.     unsigned char  link_def_info;       /* Link Definition info?             */
  283.                                         /*    AP_NO                          */
  284.                                         /*    AP_YES                         */
  285.     unsigned char  ms_info;             /* Management Services info?         */
  286.                                         /*    AP_NO                          */
  287.                                         /*    AP_YES                         */
  288.     /* Returned Pointers */
  289.     /* Note that the address of the first of these pointers is */
  290.     /*    address of the verb control block + init_sect_len    */
  291.     struct sna_global_info_sect far          *sna_global_info_ptr;
  292.     struct lu62_info_sect far                *lu62_info_ptr;
  293.     struct am_info_sect far                  *am_info_ptr;
  294.     struct tp_info_sect far                  *tp_info_ptr;
  295.     struct sess_info_sect far                *sess_info_ptr;
  296.     struct link_info_sect far                *link_info_ptr;
  297.     struct lu_0_3_info_sect far              *lu_0_3_info_ptr;
  298.     struct gw_info_sect far                  *gw_info_ptr;
  299.     struct x25_physical_link_info_sect far   *x25_physical_link_info_ptr;
  300.     struct sys_def_info_sect far             *sys_def_info_ptr;
  301.     struct adapter_info_sect far             *adapter_info_ptr;
  302.     struct lu_def_info_sect far              *lu_def_info_ptr;
  303.     struct plu_def_info_sect far             *plu_def_info_ptr;
  304.     struct mode_def_info_sect far            *mode_def_info_ptr;
  305.     struct link_def_info_sect far            *link_def_info_ptr;
  306.     struct ms_info_sect far                  *ms_info_ptr;
  307. } DISPLAY;
  308. typedef struct psid_struct             /* Product set id structure */
  309. {
  310.     unsigned char  machine_type[4];     /* Machine type                      */
  311.     unsigned char  machine_mod_num[3];  /* Machine model number              */
  312.     unsigned char  plant_of_mfg[2];     /* IBM manufacturing plant           */
  313.     unsigned char  machine_seq_num[7];  /* Machine sequence number           */
  314. } type_product_set_id;
  315. typedef struct sna_global_info_sect {  /* One of these                      */
  316.   /**************************************************************************/
  317.   /* The address of this structure should be: sna_global_info_ptr           */
  318.   /**************************************************************************/
  319.     unsigned char  version;             /* Communications Manager version    */
  320.     unsigned char  release;             /* Communications Manager release    */
  321.     unsigned char  net_name[8];         /* NETID (EBCDIC type A)             */
  322.     unsigned char  pu_name[8];          /* PU name (EBCDIC type A)           */
  323.     unsigned char  node_id[4];          /* Node ID used in XID               */
  324.     type_product_set_id product_set_id; /* Product Set ID                    */
  325.     unsigned char  alias_cp_name[8];    /* Alias CP Name (ASCII)             */
  326.     unsigned char  node_type;           /* Node Type                         */
  327.                                         /*    AP_NN                          */
  328.                                         /*    AP_EN                          */
  329.                                         /*    AP_LEN                         */
  330.     unsigned char  cp_nau_addr;         /* CP NAU Address                    */
  331.                                         /*  0 (not used...independent LU) OR */
  332.                                         /*  1-254                            */
  333.     unsigned char  corr_serv_disk;      /* Reserved                          */
  334.     unsigned char  reserved;            /* Reserved                          */
  335.     unsigned char  appc_version;        /* APPC version                      */
  336.     unsigned char  appc_release;        /* APPC release                      */
  337.     unsigned short appc_fixlevel;       /* APPC fix level                    */
  338.     /************************************************************************/
  339.     /* Additional fields may be added here in future releases               */
  340.     /************************************************************************/
  341. } SNA_GLOBAL_INFO_SECT;
  342. typedef struct lu62_info_sect {        /* One of these                      */
  343.   /**************************************************************************/
  344.   /* The address of this structure should be: lu62_info_ptr                 */
  345.   /**************************************************************************/
  346.     unsigned long  lu62_init_sect_len;  /* Structure length                  */
  347.     unsigned short num_lu62s;           /* Number of configured LUs displaye */
  348.     unsigned short total_lu62s;         /* Total Number of configured LUs    */
  349.     /************************************************************************/
  350.     /* Additional fields may be added here in future releases               */
  351.     /************************************************************************/
  352. } LU62_INFO_SECT;
  353. typedef struct lu62_overlay {           /* One for each LU                   */
  354.   /**************************************************************************/
  355.   /* The address of the first of these structures should be: lu62_info_ptr +*/
  356.   /* lu62_info_ptr->lu62_init_sect_len to find the next LU, add:            */
  357.   /* lu62_entry_len                                                         */
  358.   /**************************************************************************/
  359.     unsigned long  lu62_entry_len;      /* Size of this LU entry             */
  360.     unsigned long  lu62_overlay_len;    /* This value contains               */
  361.                                         /*    sizeof(struct lu62_overlay) -  */
  362.                                         /*    sizeof(lu62_entry_len)         */
  363.     unsigned char  lu_name[8];          /* LU Name (EBCDIC type A)           */
  364.     unsigned char  lu_alias[8];         /* LU Alias (ASCII)                  */
  365.     unsigned short num_plus;            /* Number of partner LUs             */
  366.     unsigned char  fqlu_name[17];       /* Fully Qualified LU Name           */
  367.                                         /*    (EBCDIC type A)                */
  368.     unsigned char  default_lu;          /* Default LU?                       */
  369.                                         /*    AP_NO                          */
  370.                                         /*    AP_YES                         */
  371.     unsigned char  reserv3;             /* Reserved                          */
  372.     unsigned char  lu_local_addr;       /* NAU address 0-254                 */
  373.     unsigned short lu_sess_lim;         /* Configured session limit          */
  374.                                         /*    0-255                          */
  375.     unsigned char  max_tps;             /* Max number of TPs 1-255           */
  376.     unsigned char  lu_type;             /* Always LU type 6.2                */
  377.     /************************************************************************/
  378.     /* Additional fields may be added here in future releases               */
  379.     /************************************************************************/
  380. } LU62_OVERLAY;
  381. typedef struct plu62_overlay {         /* One for each partner LU           */
  382.   /**************************************************************************/
  383.   /* The address of the first of these structures should be: The address of */
  384.   /* the current lu62_overlay + lu62_overlay_len + sizeof(lu62_entry_len)   */
  385.   /* To find the next partner LU, add: plu62_entry_len.                     */
  386.   /**************************************************************************/
  387.     unsigned long  plu62_entry_len;     /* Size of this partner LU           */
  388.     unsigned long  plu62_overlay_len;   /* This value contains               */
  389.                                         /*    sizeof(struct plu62_overlay) - */
  390.                                         /*    sizeof(plu62_entry_len)        */
  391.     unsigned char  plu_alias[8];        /* Partner LU Alias (ASCII)          */
  392.     unsigned short num_modes;           /* Number of modes                   */
  393.     unsigned char  plu_un_name[8];      /* Partner LU Uninterpreted Name     */
  394.                                         /*    (EBCDIC)                       */
  395.     unsigned char  fqplu_name[17];      /* Fully Qualified Partner LU Name   */
  396.                                         /*    (EBCDIC type A)                */
  397.     unsigned char  reserv3;             /* Reserved                          */
  398.     unsigned short plu_sess_lim;        /* Partner LU session limit          */
  399.     unsigned char  dlc_name[8];         /* DLC name (ASCII)                  */
  400.     unsigned char  adapter_num;         /* DLC adapter number                */
  401.     unsigned char  dest_addr_len;       /* Length of adapter addr            */
  402.     unsigned char  dest_addr[32];       /* Destination adapter addr          */
  403.     unsigned int   par_sess_supp:1;     /* Bit 15  Parallel sessions?        */
  404.                                         /*    AP_NOT_SUPPORTED               */
  405.                                         /*    AP_SUPPORTED                   */
  406.     unsigned int   reserv4:7;           /* Bits 8-14  Reserved               */
  407.     unsigned int   def_already_ver:1;   /* Bit 7  Configured already verif?  */
  408.                                         /*    AP_NOT_SUPPORTED               */
  409.                                         /*    AP_SUPPORTED                   */
  410.     unsigned int   def_conv_sec:1;      /* Bit 6  Configured conv security?  */
  411.                                         /*    AP_NOT_SUPPORTED               */
  412.                                         /*    AP_SUPPORTED                   */
  413.     unsigned int   def_sess_sec:1;      /* Bit 5  Configured session securit */
  414.                                         /*    AP_NOT_SUPPORTED               */
  415.                                         /*    AP_SUPPORTED                   */
  416.     unsigned int   reserv5:5;           /* Bits 0-4  Reserved                */
  417.     unsigned int   act_already_ver:1;   /* Bit 15  Active already verified?  */
  418.                                         /*    AP_NOT_SUPPORTED               */
  419.                                         /*    AP_SUPPORTED                   */
  420.     unsigned int   act_conv_sec:1;      /* Bit 14  Active conversation sec?  */
  421.                                         /*    AP_NOT_SUPPORTED               */
  422.                                         /*    AP_SUPPORTED                   */
  423.     unsigned int   reserv6:6;           /* Bits 8-13  Reserved               */
  424.     unsigned int   implicit_part:1;     /* Bit 7  Implicit partner?          */
  425.                                         /*    AP_NO                          */
  426.                                         /*    AP_YES                         */
  427.     unsigned int   reserv7:7;           /* Bits 0-6  Reserved                */
  428.     /************************************************************************/
  429.     /* Additional fields may be added here in future releases               */
  430.     /************************************************************************/
  431. } PLU62_OVERLAY;
  432. typedef struct mode_overlay {           /* One for each mode                 */
  433.   /**************************************************************************/
  434.   /* The address of the first of these structures should be: The address of */
  435.   /* the current plu62_overlay + plu62_overlay_len + sizeof(plu62_entry_len)*/
  436.   /* To find the next mode, add: mode_entry_len.                            */
  437.   /**************************************************************************/
  438.     unsigned long  mode_entry_len;      /* Size of this mode                 */
  439.     unsigned char  mode_name[8];        /* Mode Name (EBCDIC type A)         */
  440.     unsigned short max_ru_size_upp;     /* Upper Limit on Max RU             */
  441.     unsigned short max_ru_size_low;     /* Lower Limit on Max RU             */
  442.     unsigned short max_neg_sess_lim;    /* Max Limit on Sessions             */
  443.     unsigned short curr_sess_lim;       /* Current Session Limit             */
  444.     unsigned short min_win_lim;         /* Min Negotiated Winners            */
  445.     unsigned short min_lose_lim;        /* Min Negotiated Losers             */
  446.     unsigned short act_sess_count;      /* Active Session Count              */
  447.     unsigned short pend_sess_count;     /* Pending Session Count             */
  448.     unsigned short auto_act_sess_count; /* Auto Activate Session Count       */
  449.     unsigned short act_win_lim;         /* Active Winner Sessions            */
  450.     unsigned short act_lose_lim;        /* Active Loser Sessions             */
  451.     unsigned short term_count;          /* Session Termination Count         */
  452.     unsigned int   drain_target:1;      /* Bit 15  Drain Target?             */
  453.                                         /*    AP_NO                          */
  454.                                         /*    AP_YES                         */
  455.     unsigned int   drain_source:1;      /* Bit 14  Drain Source?             */
  456.                                         /*    AP_NO                          */
  457.                                         /*    AP_YES                         */
  458.     unsigned int   reserv3:6;           /* Bits 8-13  Reserved               */
  459.     unsigned int   pacing_size:8;       /* Bits 0-7  Pacing size             */
  460.     /* The preceeding fields were previously defined as "unsigned char".    */
  461.     /* They have been integrated into a bitfield to eliminate warning       */
  462.     /* messages about 'bitfield types other than int'.                      */
  463.     unsigned int   implicit_mode:1;     /* Bit 15  Implicit Mode?            */
  464.                                         /*    AP_NO                          */
  465.                                         /*    AP_YES                         */
  466.     unsigned int   reserv4:7;           /* Bits 8-14  Reserved               */
  467.     unsigned int   reserv5:8;           /* Bits 0-7  Reserved                */
  468.     /************************************************************************/
  469.     /* Reserved Additional fields may be added here in future releases      */
  470.     /************************************************************************/
  471. } MODE_OVERLAY;
  472. typedef struct am_info_sect {           /* One of these                      */
  473.   /**************************************************************************/
  474.   /* The address of this structure should be: am_info_ptr                   */
  475.   /**************************************************************************/
  476.     unsigned long  am_init_sect_len;    /* Structure length                  */
  477.     unsigned char  am_active;           /* Attach Manager active?            */
  478.                                         /*    AP_NO                          */
  479.                                         /*    AP_YES                         */
  480.     unsigned char  reserv4;             /* Reserved                          */
  481.     unsigned short num_tps;             /* Number of configured TPs          */
  482.     /************************************************************************/
  483.     /* Additional fields may be added here in future releases               */
  484.     /************************************************************************/
  485. } AM_INFO_SECT;
  486. typedef struct am_overlay {             /* One for each configued TP         */
  487.   /**************************************************************************/
  488.   /* The address of the first of these structures should be: am_info_ptr +  */
  489.   /* am_info_ptr->am_init_sect_len. To find the next block of TP,           */
  490.   /* information, add: am_entry_len.                                        */
  491.   /**************************************************************************/
  492.     unsigned long  am_entry_len;        /* Size of this structure            */
  493.     unsigned char  tp_name[64];         /* TP name (EBCDIC type AE)          */
  494.     unsigned char  filespec[64];        /* TP filespec (ASCII)               */
  495.     unsigned int   reserv3:1;           /* Bit 15  Reserved                  */
  496.     unsigned int   sync_level_conf:1;   /* Bit 14  Sync Level (Confirm) ?    */
  497.                                         /*    AP_NOT_SUPPORTED               */
  498.                                         /*    AP_SUPPORTED                   */
  499.     unsigned int   sync_level_none:1;   /* Bit 13  Sync Level (None) ?       */
  500.                                         /*    AP_NOT_SUPPORTED               */
  501.                                         /*    AP_SUPPORTED                   */
  502.     unsigned int   reserv4:5;           /* Bits 8-12  Reserved               */
  503.     unsigned int   conv_type:8;         /* Bits 0-7  Conversation type       */
  504.                                         /*    AP_BASIC_CONVERSATION          */
  505.                                         /*    AP_MAPPED_CONVERSATION         */
  506.                                         /*    AP_EITHER                      */
  507.     /* The preceeding fields were previously defined as "unsigned char".    */
  508.     /* They have been integrated into a bitfield to eliminate warning       */
  509.     /* messages about 'bitfield types other than int'.                      */
  510.     unsigned short in_all_qdpth_lim;    /* Incoming Allocate queue depth lim */
  511.     unsigned short in_all_qdpth;        /* Incoming Allocate queue depth     */
  512.     short  in_all_timeout;              /* Incoming Allocate t/o             */
  513.                                         /*    AP_HOLD_FOREVER or time in sec */
  514.     unsigned short num_rcv_all_pend;    /* Number of pending                 */
  515.                                         /* RECEIVE_ALLOCATEs                 */
  516.     short  rcv_all_timeout;             /* RECEIVE_ALLOCATE t/o              */
  517.                                         /*    AP_HOLD_FOREVER or time in sec */
  518.     unsigned char  tp_type;             /* TP type                           */
  519.                                         /*    AP_QUEUED_OPERATOR_STARTED     */
  520.                                         /*    AP_QUEUED_AM_STARTED           */
  521.                                         /*    AP_NONQUEUED_AM_STARTED        */
  522.                                         /*    AP_QUEUED_OPERATOR_PRELOADED   */
  523.     unsigned char  pgm_state;           /* Program state                     */
  524.                                         /*    AP_INACTIVE                    */
  525.                                         /*    AP_LOADED                      */
  526.                                         /*    AP_LOADING                     */
  527.                                         /*    AP_RUNNING                     */
  528.     unsigned char  conv_sec;            /* Conversation security?            */
  529.                                         /*    AP_NO                          */
  530.                                         /*    AP_YES                         */
  531.     unsigned char  reserv5;             /* Reserved                          */
  532.     unsigned short process_id;          /* OS/2 process ID                   */
  533.     unsigned char  parm_string[32];     /* Pgm parameter string              */
  534.     unsigned char  program_type;        /* Program Type                      */
  535.                                         /*    AP_BACKGROUND                  */
  536.                                         /*    AP_FULL_SCREEN                 */
  537.                                         /*    AP_PRESENTATION_MANAGER        */
  538.                                         /*    AP_VIO_WINDOWABLE              */
  539.     unsigned char  reserv5a;            /* Reserved                          */
  540.     unsigned char  tp_initiated;        /* TP initiated                      */
  541.                                         /*    AP_LOCALLY                     */
  542.                                         /*    AP_REMOTELY                    */
  543.     unsigned char  reserv6;             /* Reserved                          */
  544.     unsigned char  icon_filespec[80];   /* Icon Filespec (ASCII)             */
  545.     /************************************************************************/
  546.     /* Additional fields may be added here in future releases               */
  547.     /************************************************************************/
  548. } AM_OVERLAY;
  549. typedef struct tp_info_sect {           /* One of these                      */
  550.   /**************************************************************************/
  551.   /* The address of this structure should be: tp_info_ptr                   */
  552.   /**************************************************************************/
  553.     unsigned long  tp_init_sect_len;    /* Structure length                  */
  554.     unsigned short num_tps;             /* Number of active TPs displayed    */
  555.     unsigned short total_tps;           /* Total Number of Active TPs        */
  556.     /************************************************************************/
  557.     /* Additional fields may be added here in future releases               */
  558.     /************************************************************************/
  559. } TP_INFO_SECT;
  560. typedef struct tp_overlay {             /* One for each active TP            */
  561.   /**************************************************************************/
  562.   /* The address of the first of these structures should be: tp_info_ptr +  */
  563.   /* tp_info_ptr->tp_init_sect_len.  To find the next block of active TP    */
  564.   /* information, add: tp_entry_len                                         */
  565.   /**************************************************************************/
  566.     unsigned long  tp_entry_len;        /* Size of this TP record            */
  567.     unsigned long  tp_overlay_len;      /* This value contains               */
  568.                                         /*    sizeof(struct tp_overlay) -    */
  569.                                         /*    sizeof(tp_entry_len)           */
  570.     unsigned short num_conv;            /* Number of conversations           */
  571.     unsigned char  tp_id[8];            /* TP ID                             */
  572.     unsigned char  tp_name[64];         /* TP name (EBCDIC type AE)          */
  573.     unsigned char  user_id[10];         /* User ID (EBCDIC type AE)          */
  574.     unsigned int   reserv3:7;           /* Bits 9-15 Reserved                */
  575.     unsigned int   loc_or_rem:1;        /* Bit 8  Initiated local or remote? */
  576.                                         /*    AP_LOCAL                       */
  577.                                         /*    AP_REMOTE                      */
  578.     unsigned int   reserv4:8;           /* Bits 0-7 Reserved                 */
  579.     unsigned char  lu_alias[8];         /* LU_ALIAS (ASCII)                  */
  580.     LUW_ID_OVERLAY luw_id;              /* Logical Unit of Work ID           */
  581.     /************************************************************************/
  582.     /* Additional fields may be added here in future releases               */
  583.     /************************************************************************/
  584. } TP_OVERLAY;
  585. typedef struct conv_overlay {          /* One for each active conv          */
  586.   /**************************************************************************/
  587.   /* The address of the first of these structures should be: The address of */
  588.   /* the current tp_overlay + tp_overlay_len + sizeof(tp_entry_len). To find*/
  589.   /* the next block of conversation information, add: conv_entry_len        */
  590.   /**************************************************************************/
  591.     unsigned long  conv_entry_len;      /* Size of conversation information  */
  592.     unsigned long  conv_id;             /* Conversation ID                   */
  593.     unsigned char  reserv3[9];          /* Reserved                          */
  594.     unsigned char  state;               /* Conversation state                */
  595.                                         /*    AP_SEND_STATE                  */
  596.                                         /*    AP_RECEIVE_STATE               */
  597.                                         /*    AP_CONFIRM_STATE               */
  598.                                         /*    AP_CONFIRM_SEND_STATE          */
  599.                                         /*    AP_CONFIRM_DEALL_STATE         */
  600.                                         /*    AP_PEND_POST_STATE             */
  601.     unsigned char  sess_id[8];          /* Session ID                        */
  602.     unsigned char  sync_level;          /* Sync level                        */
  603.                                         /*    AP_NONE                        */
  604.                                         /*    AP_CONFIRM                     */
  605.     unsigned char  conv_type;           /* Conversation type                 */
  606.                                         /*    AP_BASIC_CONVERSATION          */
  607.                                         /*    AP_MAPPED_CONVERSATION         */
  608.     unsigned long  conv_group_id;       /* Conversation Group ID             */
  609.     /************************************************************************/
  610.     /* Additional fields may be added here in future releases               */
  611.     /************************************************************************/
  612. } CONV_OVERLAY;
  613. typedef struct sess_info_sect {        /* One of these                      */
  614.   /**************************************************************************/
  615.   /* The address of this structure should be: sess_info_ptr                 */
  616.   /**************************************************************************/
  617.     unsigned long  sess_init_sect_len;  /* Structure length                  */
  618.     unsigned short num_sessions;        /* Number of Active Sessions         */
  619.     unsigned short total_sessions;      /* Total Number of Active Sessions   */
  620.     /************************************************************************/
  621.     /* Additional fields may be added here in future releases               */
  622.     /************************************************************************/
  623. } SESS_INFO_SECT;
  624. typedef struct sess_overlay {          /* One for each active sess          */
  625.   /**************************************************************************/
  626.   /* The address of the first of these structures should be: sess_info_ptr +*/
  627.   /* sess_info_ptr->sess_init_sect_len.  To find the next block of session  */
  628.   /* information, add: sess_entry_len                                       */
  629.   /**************************************************************************/
  630.     unsigned long  sess_entry_len;      /* Size of session info              */
  631.     unsigned long  reserv3;             /* Reserved                          */
  632.     unsigned char  sess_id[8];          /* Session ID                        */
  633.     unsigned long  conv_id;             /* Conversation ID                   */
  634.     unsigned char  lu_alias[8];         /* LU Alias (ASCII)                  */
  635.     unsigned char  plu_alias[8];        /* Partner LU Alias (ASCII)          */
  636.     unsigned char  mode_name[8];        /* Mode Name (EBCDIC type A)         */
  637.     unsigned short send_ru_size;        /* Max RU size for send              */
  638.     unsigned short rcv_ru_size;         /* Max RU size for receive           */
  639.     unsigned char  send_pacing_size;    /* Send pacing size                  */
  640.     unsigned char  rcv_pacing_size;     /* Receive pacing size               */
  641.     unsigned char  link_id[12];         /* Link ID (in APPC), or             */
  642.                                         /* First Hop Link Name (in APPN)     */
  643.     unsigned char  daf;                 /* Outbound DAF                      */
  644.     unsigned char  oaf;                 /* Outbound OAF                      */
  645.     unsigned char  odai;                /* ODAI                              */
  646.     unsigned char  sess_type;           /* Type of session                   */
  647.                                         /*    AP_SSCP_PU_SESSION             */
  648.                                         /*    AP_SSCP_LU_SESSION             */
  649.                                         /*    AP_LU_LU_SESSION               */
  650.     unsigned char  conn_type;           /* Type of connection                */
  651.                                         /*    AP_HOST_CONNECTION             */
  652.                                         /*    AP_PEER_CONNECTION             */
  653.                                         /*    AP_BOTH_CONNECTION             */
  654.     unsigned char  reserv4;             /* Reserved                          */
  655.     FQPCID_OVERLAY fqpcid;              /* Fully Qualified Procedure         */
  656.                                         /* Correlation Identifier            */
  657.     unsigned char  cgid[4];             /* Conversation Group ID             */
  658.     unsigned char  fqlu_name[17];       /* Local Fully Qualifed LU Name      */
  659.                                         /*        (EBCDIC)                   */
  660.     unsigned char  fqplu_name[17];      /* Partner Fully Qualifed LU Name    */
  661.                                         /*        (EBCDIC)                   */
  662.     unsigned char  pacing_type;         /* Type of Pacing                    */
  663.                                         /*    AP_FIXED                       */
  664.                                         /*    AP_ADAPTIVE                    */
  665.     unsigned char  reserv5;             /* Reserved                          */
  666.     /************************************************************************/
  667.     /* Additional fields may be added here in future releases               */
  668.     /************************************************************************/
  669. } SESS_OVERLAY;
  670. typedef struct link_info_sect {        /* One of these                      */
  671.   /**************************************************************************/
  672.   /* The address of this structure should be: link_info_ptr                 */
  673.   /**************************************************************************/
  674.     unsigned long  link_init_sect_len;  /* Structure length                  */
  675.     unsigned short num_links;           /* Number of active links            */
  676.     /*************************************************************************/
  677.     /* This field added to make link_info_sect in API match the Link info    */
  678.     /* section returned by the NS/2 management DLL.                          */
  679.     /*************************************************************************/
  680.     unsigned short total_links;         /* Total number of active links      */
  681.     /************************************************************************/
  682.     /* Additional fields may be added here in future releases               */
  683.     /************************************************************************/
  684. } LINK_INFO_SECT;
  685. typedef struct link_overlay {          /* One for each active link          */
  686.   /**************************************************************************/
  687.   /* The address of the first of these structures should be: link_info_ptr +*/
  688.   /* link_info_ptr->link_init_sect_len.  To find the next block of link     */
  689.   /* information, add: link_entry_len                                       */
  690.   /**************************************************************************/
  691.     unsigned long  link_entry_len;      /* Size of link info, incl link spec */
  692.     unsigned char  link_id[12];         /* Link ID (Link Name in EBCDIC A)   */
  693.     unsigned char  dlc_name[8];         /* DLC name (ASCII)                  */
  694.     unsigned char  adapter_num;         /* DLC adapter number                */
  695.     unsigned char  dest_addr_len;       /* Length of adapter addr            */
  696.     unsigned char  dest_addr[32];       /* Destination adapter addr          */
  697.     unsigned char  inbound_outbound;    /* Inbound or outbound?              */
  698.                                         /*    AP_OUTBOUND                    */
  699.                                         /*    AP_INBOUND                     */
  700.     unsigned char  state;               /* Link state                        */
  701.                                         /*    AP_CONALS_PND                  */
  702.                                         /*    AP_XID_PND                     */
  703.                                         /*    AP_CONTACT_PND                 */
  704.                                         /*    AP_CONTACTED                   */
  705.                                         /*    AP_DISC_PND                    */
  706.                                         /*    AP_DISC_RQ                     */
  707.     unsigned char  deact_link_flag;     /* Deactivate logical link           */
  708.                                         /*    AP_NOT_IN_PROGRESS             */
  709.                                         /*    AP_IN_PROGRESS                 */
  710.     unsigned char  reserv3;             /* Reserved                          */
  711.     unsigned short num_sessions;        /* Number of active sessions 0-65535 */
  712.     unsigned short ru_size;             /* RU size 99-32767 (BTU Size)       */
  713.     unsigned short reserv4;             /* Reserved                          */
  714.     unsigned char  adj_fq_cp_name[17];  /* Adjacent Fully Qualified CP Name  */
  715.     unsigned char  reserv5;             /* Reserved                          */
  716.     unsigned char  adj_node_type;       /* Adjacent Node Type                */
  717.                                         /*    AP_EN                          */
  718.                                         /*    AP_NN                          */
  719.                                         /*    AP_LEN                         */
  720.     unsigned char  cp_cp_sess_spt;      /* CP CP Session Support             */
  721.                                         /*    AP_NO                          */
  722.                                         /*    AP_YES                         */
  723.     unsigned char  conn_type;           /* Type of Connection                */
  724.                                         /*    AP_HOST_CONNECTION             */
  725.                                         /*    AP_PEER_CONNECTION             */
  726.                                         /*    AP_BOTH_CONNECTION             */
  727.     unsigned char  ls_role;             /* Link Station Role                 */
  728.                                         /*    AP_NEGOTIABLE                  */
  729.                                         /*    AP_PRIMARY                     */
  730.                                         /*    AP_SECONDARY                   */
  731.     unsigned char  line_type;           /* Line Type                         */
  732.                                         /*    AP_SWITCHED                    */
  733.                                         /*    AP_NONSWITCHED                 */
  734.     unsigned char  tg_number;           /* Transmission Group Number         */
  735.     unsigned long  eff_capacity;        /* Effective Capacity                */
  736.                                         /*    0 | 1200 | 2400 | ...          */
  737.                                         /*    ... | 16M | ...                */
  738.     unsigned char  conn_cost;           /* Cost Per Connect Time             */
  739.     unsigned char  byte_cost;           /* Cost Per Byte                     */
  740.     unsigned char  propagation_delay;   /* AP_PROP_DELAY_MINIMUM             */
  741.                                         /*    AP_PROP_DELAY_LAN              */
  742.                                         /*    AP_PROP_DELAY_TELEPHONE        */
  743.                                         /*    AP_PROP_DELAY_PKT_SWITCHED_NET */
  744.                                         /*    AP_PROP_DELAY_SATELLITE        */
  745.                                         /*    AP_PROP_DELAY_MAXIMUM          */
  746.     unsigned char  user_def_1;          /* User Defined 1                    */
  747.     unsigned char  user_def_2;          /* User Defined 2                    */
  748.     unsigned char  user_def_3;          /* User Defined 3                    */
  749.     unsigned char  security;            /* Security                          */
  750.                                         /*    AP_SEC_NONSECURE               */
  751.                                         /*    AP_SEC_PUBLIC_SWITCHED_NETWORK */
  752.                                         /*    AP_SEC_UNDERGROUND_CABLE       */
  753.                                         /*    AP_SEC_SECURE_CONDUIT          */
  754.                                         /*    AP_SEC_GUARDED_CONDUIT         */
  755.                                         /*    AP_SEC_ENCRYPTED               */
  756.                                         /*    AP_SEC_GUARDED_RADIATION       */
  757.     unsigned char  reserv6;             /* Reserved                          */
  758.     /************************************************************************/
  759.     /* Additional fields of unspecified length are located in this position.*/
  760.     /* Use link_entry_len to skip over them.                                */
  761.     /************************************************************************/
  762. } LINK_OVERLAY;
  763. typedef struct lu_0_3_info_sect {      /* One of these                      */
  764.   /**************************************************************************/
  765.   /* The address of this structure should be: lu_0_3_info_ptr               */
  766.   /**************************************************************************/
  767.     unsigned long  lu_0_3_init_sect_len; /* Structure length                 */
  768.     unsigned short num_lu_0_3s;         /* Number of configured LUs          */
  769.     /************************************************************************/
  770.     /* Additional fields may be added here in future releases               */
  771.     /************************************************************************/
  772. } LU_0_3_INFO_SECT;
  773. typedef struct lu_0_3_overlay {        /* One for each configured LU        */
  774.   /**************************************************************************/
  775.   /* The address of the first of these structures should be: lu_0_3_info_ptr*/
  776.   /* + lu_0_3_info_ptr->lu_0_3_init_sect_len.  To find the next one, add:   */
  777.   /* lu_0_3_entry_len.                                                      */
  778.   /**************************************************************************/
  779.     unsigned long  lu_0_3_entry_len;    /* Size of this LU info              */
  780.     unsigned char  access_type;         /* Access type                       */
  781.                                         /*    AP_3270_EMULATION              */
  782.                                         /*    AP_LUA                         */
  783.     unsigned char  lu_type;             /* LU type                           */
  784.                                         /*    AP_LU0                         */
  785.                                         /*    AP_LU1                         */
  786.                                         /*    AP_LU2                         */
  787.                                         /*    AP_LU3                         */
  788.     unsigned char  lu_daf;              /* NAU address                       */
  789.     unsigned char  lu_short_name;       /* LU Short Name (ASCII)             */
  790.     unsigned char  lu_long_name[8];     /* LU Long Name (ASCII)              */
  791.     unsigned char  sess_id[8];          /* Session ID                        */
  792.     unsigned char  dlc_name[8];         /* DLC Name (ASCII)                  */
  793.     unsigned char  adapter_num;         /* DLC Adapter number                */
  794.     unsigned char  dest_addr_len;       /* Length of Adapter Addr            */
  795.     unsigned char  dest_addr[32];       /* Destination Adapter Addr          */
  796.     unsigned char  sscp_lu_sess_state;  /* SSCP-LU Session State             */
  797.                                         /*    AP_DEACTIVATED                 */
  798.                                         /*    AP_ACTIVATED                   */
  799.                                         /*    AP_ACTIVATING                  */
  800.                                         /*    AP_DEACTIVATING                */
  801.                                         /*    any of these 4 states can be   */
  802.                                         /*    &'ed with: AP_DETACHING        */
  803.     unsigned char  lu_lu_sess_state;    /* LU-LU Session State               */
  804.                                         /*    AP_NOT_BOUND                   */
  805.                                         /*    AP_BOUND                       */
  806.                                         /*    AP_BINDING                     */
  807.                                         /*    AP_UNBINDING                   */
  808.     unsigned char  link_id[12];         /* Link ID                           */
  809.     /************************************************************************/
  810.     /* Additional fields may be added here in future releases               */
  811.     /************************************************************************/
  812. } LU_0_3_OVERLAY;
  813. typedef struct gw_info_sect {          /* One of these                      */
  814.   /**************************************************************************/
  815.   /* The address of this structure should be: gw_info_ptr                   */
  816.   /**************************************************************************/
  817.     unsigned long  gw_init_sect_len;    /* Structure length                  */
  818.     unsigned short num_gw_lus;          /* Number of configured              */
  819.     /************************************************************************/
  820.     /* gateway LUs Additional fields may be added here in future releases   */
  821.     /************************************************************************/
  822. } GW_INFO_SECT;
  823. typedef struct gw_overlay {            /* One for each gateway LU           */
  824.   /**************************************************************************/
  825.   /* The address of the first of these structures should be: gw_info_ptr +  */
  826.   /* gw_info_ptr->gw_init_sect_len. To find the next one, add: gw_entry_len.*/
  827.   /**************************************************************************/
  828.     unsigned long  gw_entry_len;        /* Size of the gateway info          */
  829.     unsigned char  ws_lu_name[8];       /* WS LU name (EBCDIC)               */
  830.     unsigned char  ws_pu_name[8];       /* WS PU name (EBCDIC)               */
  831.     unsigned char  ws_pool_class;       /* WS pool class                     */
  832.     unsigned char  ws_local_addr;       /* Workstation local address         */
  833.     unsigned char  host_local_addr;     /* Host local address                */
  834.     unsigned char  ws_lu_type;          /* Workstation LU type               */
  835.                                         /*    AP_LU0                         */
  836.                                         /*    AP_LU1                         */
  837.                                         /*    AP_LU2                         */
  838.                                         /*    AP_LU3                         */
  839.                                         /*    AP_LU62                        */
  840.                                         /*    AP_UNKNOWN                     */
  841.     unsigned char  host_lu_name[17];    /* Host LU name (EBCDIC)             */
  842.     unsigned char  reserv3;             /* Reserved                          */
  843.     unsigned char  ws_dlc_name[8];      /* WS DLC name (ASCII)               */
  844.     unsigned char  ws_adapter_num;      /* Workstation adapter num           */
  845.     unsigned char  ws_dest_addr_len;    /* WS dest addr length               */
  846.     unsigned char  ws_dest_addr[32];    /* WS destination addr               */
  847.     unsigned int   ws_link_act:1;       /* Bit  15 WS link active?           */
  848.                                         /*    AP_NO                          */
  849.                                         /*    AP_YES                         */
  850.     unsigned int   lu_lu_pend_term:1;   /* Bit 14 LU-LU pending termination? */
  851.                                         /*    AP_NO                          */
  852.                                         /*    AP_YES                         */
  853.     unsigned int   lu_lu_pend_init:1;   /* Bit 13  LU-LU pending initiation? */
  854.                                         /*    AP_NO                          */
  855.                                         /*    AP_YES                         */
  856.     unsigned int   lu_lu_act:1;         /* Bit 12  LU-LU Active?             */
  857.                                         /*    AP_NO                          */
  858.                                         /*    AP_YES                         */
  859.     unsigned int   lu_cp_pend_term:1;   /* Bit 11 LU-CP Pending Termination? */
  860.                                         /*    AP_NO                          */
  861.                                         /*    AP_YES                         */
  862.     unsigned int   lu_cp_pend_init:1;   /* Bit 10  LU-CP pending initiation? */
  863.                                         /*    AP_NO                          */
  864.                                         /* AP_YES                            */
  865.     unsigned int   lu_cp_act_offline:1; /* Bit 9  LU-CP active offline?      */
  866.                                         /*    AP_NO                          */
  867.                                         /*    AP_YES                         */
  868.     unsigned int   lu_cp_act_online:1;  /* Bit 8  LU-CP active online?       */
  869.                                         /*    AP_NO                          */
  870.                                         /*    AP_YES                         */
  871.     unsigned int   reserv4:8;           /* Bits 0-7  Reserved                */
  872.     /************************************************************************/
  873.     /* Reserved Additional fields may be added here in future releases      */
  874.     /************************************************************************/
  875. } GW_OVERLAY;
  876. typedef struct x25_physical_link_info_sect { /* One of these                */
  877.   /**************************************************************************/
  878.   /* The address of this structure should be: x25_info_ptr                  */
  879.   /**************************************************************************/
  880.     unsigned long  x25_init_sect_len;   /* Structure length                  */
  881.     unsigned short num_x25_links;       /* Number of X.25 physical links     */
  882.     unsigned short num_x25_link_entries;
  883.                                         /* Total Number of X.25 phys. links  */
  884.     /************************************************************************/
  885.     /* physical link entries Additional fields may be added here in future  */
  886.     /* releases                                                             */
  887.     /************************************************************************/
  888. } X25_PHYSICAL_LINK_INFO_SECT;
  889. typedef struct x25_overlay {           /* One for each X.25 link            */
  890.   /**************************************************************************/
  891.   /* The address of the first of these structures should be: x25_info_ptr + */
  892.   /* x25_info_ptr->x25_init_sect_len.  To find the next one, add:           */
  893.   /* x25_entry_len                                                          */
  894.   /**************************************************************************/
  895.     unsigned long  x25_entry_len;       /* Size of X.25 information          */
  896.     unsigned char  link_name[8];        /* X.25 Link Name (ASCII)            */
  897.     unsigned char  link_comments[60];   /* Comment Field (ASCII)             */
  898.     unsigned short adapter_slot_num;    /* Adapter Slot Number               */
  899.     unsigned char  link_type;           /* Link Type                         */
  900.                                         /*    AP_LEASED_LINE                 */
  901.                                         /*    AP_VX32                        */
  902.     unsigned char  link_mode;           /* Link Mode                         */
  903.                                         /*    AP_DISCONNECT                  */
  904.                                         /*    AP_CONNECT                     */
  905.                                         /*    AP_AUTO_CONNECT                */
  906.     unsigned char  link_state;          /* Link State                        */
  907.                                         /*    AP_CONNECTING                  */
  908.                                         /*    AP_CONNECTED                   */
  909.                                         /*    AP_ERROR_LEVEL_1               */
  910.                                         /*    AP_ERROR_LEVEL_2               */
  911.                                         /*    AP_DISCONNECTING               */
  912.                                         /*    AP_DISCONNECTED                */
  913.                                         /*    AP_ADAPTER_ERROR               */
  914.                                         /*    AP_ADAPTER_ACCESS_ERROR        */
  915.                                         /*    AP_INCOMING_WAIT               */
  916.     unsigned char  link_direction;      /* Link Direction                    */
  917.                                         /*    AP_INCOMING                    */
  918.                                         /*    AP_OUTGOING                    */
  919.                                         /*    AP_2_WAY                       */
  920.     unsigned short num_act_pvcs;        /* Number of Active PVCs             */
  921.     unsigned short total_num_pvcs;      /* Total Number of PVCs              */
  922.     unsigned short num_act_svcs;        /* Number of Active SVCs             */
  923.     unsigned short num_incoming_svcs;   /* Num of Incoming SVCs              */
  924.     unsigned short num_2_way_svcs;      /* Number of 2-way SVCs              */
  925.     unsigned short num_outgoing_svcs;   /* Num of Outgoing SVCs              */
  926.     /************************************************************************/
  927.     /* Additional fields may be added here in future releases               */
  928.     /************************************************************************/
  929. } X25_OVERLAY;
  930. typedef struct sys_def_info_sect {     /*                                   */
  931.   /**************************************************************************/
  932.   /* The address of this structure should be: sys_def_info_ptr              */
  933.   /**************************************************************************/
  934.     unsigned char  default_mode_name[8];
  935.                                         /* Default Mode Name (EBCDIC type A) */
  936.     unsigned char  default_local_lu_name[8];
  937.                                         /* Default Local LU Name (EBCDIC     */
  938.                                         /*    type A)                        */
  939.     unsigned char  implicit_inb_rlu_supp; /* Implicit Remote LU Support      */
  940.                                         /* AP_NO                             */
  941.                                         /*    AP_YES                         */
  942.     unsigned char  max_held_alerts;     /* Max Held Alerts 0-255             */
  943.     unsigned char  tp_conv_sec_rqd;     /* TP Conversation Security Requeste */
  944.                                         /*    AP_NO                          */
  945.                                         /*    AP_YES                         */
  946.     unsigned char  reserv3;             /* Reserved                          */
  947.     unsigned short max_mc_ll_send_size; /* Maximum Mapped Conversation       */
  948.                                         /* Logical Record Send Size          */
  949.                                         /*    0 or 2048 - 32767              */
  950.     unsigned char  dir_for_attaches[64]; /* Directory For Inbound Attaches   */
  951.     unsigned char  tp_operation;        /* Default TP Operation              */
  952.                                         /*    AP_QUEUED_OPERATOR_STARTED     */
  953.                                         /*    AP_QUEUED_AM_STARTED           */
  954.                                         /*    AP_NONQUEUED_AM_STARTED        */
  955.                                         /*    AP_QUEUED_OPERATOR_PRELOADED   */
  956.     unsigned char  tp_program_type;     /* Default TP Program Type           */
  957.                                         /*    AP_BACKGROUND                  */
  958.                                         /*    AP_FULL_SCREEN                 */
  959.                                         /*    AP_PRESENTATION_MANAGER        */
  960.                                         /*    AP_VIO_WINDOWABLE              */
  961.     /************************************************************************/
  962.     /* Additional fields may be added here in future releases               */
  963.     /************************************************************************/
  964. } SYS_DEF_INFO_SECT;
  965. typedef struct adapter_info_sect {     /* One of these                      */
  966.   /**************************************************************************/
  967.   /* The address of this structure should be: adapter_info_ptr              */
  968.   /**************************************************************************/
  969.     unsigned long  adapter_init_sect_len; /* Structure length                */
  970.     unsigned short num_adapters;        /* Number of Adapters Displayed      */
  971.     unsigned short total_adapters;      /* Total Number of Adapters          */
  972.     /************************************************************************/
  973.     /* Additional fields may be added here in future releases               */
  974.     /************************************************************************/
  975. } ADAPTER_INFO_SECT;
  976. typedef struct adapter_overlay {       /* One for each adapter Displayed    */
  977.   /**************************************************************************/
  978.   /* The address of the first of these structures should be:                */
  979.   /* adapter_info_ptr + adapter_info_ptr->adapter_init_sect_len.            */
  980.   /* To find the next one, add: adapter_entry_len                           */
  981.   /**************************************************************************/
  982.     unsigned long  adapter_entry_len;   /* Size of Adapter Info              */
  983.     unsigned char  dlc_name[8];         /* DLC Name (ASCII)                  */
  984.     unsigned char  adapter_number;      /* Adapter Number                    */
  985.                                         /*    0-255                          */
  986.     unsigned char  ls_role;             /* Link Station Role                 */
  987.                                         /*    AP_NEGOTIABLE                  */
  988.                                         /*    AP_PRIMARY                     */
  989.                                         /*    AP_SECONDARY                   */
  990.     unsigned long  eff_capacity;        /* Effective Capacity                */
  991.                                         /*    1200 | 2400 |...|16M|...       */
  992.     unsigned char  conn_cost;           /* Cost Per Connect Time             */
  993.     unsigned char  byte_cost;           /* Cost Per Byte                     */
  994.     unsigned char  propagation_delay;   /* AP_PROP_DELAY_MINIMUM             */
  995.                                         /*    AP_PROP_DELAY_LAN              */
  996.                                         /*    AP_PROP_DELAY_TELEPHONE        */
  997.                                         /*    AP_PROP_DELAY_PKT_SWITCHED_NET */
  998.                                         /*    AP_PROP_DELAY_SATELLITE        */
  999.                                         /*    AP_PROP_DELAY_MAXIMUM          */
  1000.     unsigned char  user_def_1;          /* User Defined 1                    */
  1001.     unsigned char  user_def_2;          /* User Defined 2                    */
  1002.     unsigned char  user_def_3;          /* User Defined 3                    */
  1003.     unsigned char  security;            /* Security                          */
  1004.                                         /*    AP_SEC_NONSECURE               */
  1005.                                         /*    AP_SEC_PUBLIC_SWITCHED_NETWORK */
  1006.                                         /*    AP_SEC_UNDERGROUND_CABLE       */
  1007.                                         /*    AP_SEC_SECURE_CONDUIT          */
  1008.                                         /*    AP_SEC_GUARDED_CONDUIT         */
  1009.                                         /*    AP_SEC_ENCRYPTED               */
  1010.                                         /*    AP_SEC_GUARDED_RADIATION       */
  1011.     unsigned char  reserv3;             /* Reserved                          */
  1012.     unsigned char  line_type;           /* Line Yype                         */
  1013.                                         /*    AP_SWITCHED                    */
  1014.                                         /*    AP_NONSWITCHED                 */
  1015.     unsigned char  lim_res;             /* Limited Resource ?                */
  1016.                                         /*    AP_NO                          */
  1017.                                         /*    AP_YES                         */
  1018.     unsigned short lim_res_timeout;     /* Limited Resource Timeout          */
  1019.                                         /*    0-127 ???                      */
  1020.     unsigned short max_btu_size;        /* Maximum BTU Size 99-32767         */
  1021.     unsigned char  rcv_window;          /* Receive Window 0-127              */
  1022.     unsigned char  send_window;         /* Send Window 0-127                 */
  1023.     unsigned short max_ls_used;         /* Max Link Stations                 */
  1024.     unsigned char  abm_support;         /* Asynchronous Balanced Mode Used?  */
  1025.                                         /* AP_NO                             */
  1026.                                         /*    AP_YES                         */
  1027.     unsigned char  reserv4;             /* Reserved                          */
  1028.     /************************************************************************/
  1029.     /* Additional fields may be added here in future releases               */
  1030.     /************************************************************************/
  1031. } ADAPTER_OVERLAY;
  1032. typedef struct lu_def_info_sect {      /* One of these                      */
  1033.   /**************************************************************************/
  1034.   /* The address of this structure should be: lu_def_info_ptr               */
  1035.   /**************************************************************************/
  1036.     unsigned long  lu_def_init_sect_len; /* Structure length                 */
  1037.     unsigned short num_lu_def;          /* Number of LU Definitions Displaye */
  1038.     unsigned short total_lu_def;        /* Total Number of LU Definitions    */
  1039.     /************************************************************************/
  1040.     /* Additional fields may be added here in future releases               */
  1041.     /************************************************************************/
  1042. } LU_DEF_INFO_SECT;
  1043. typedef struct lu_def_overlay {        /* One for each lu_def Displayed     */
  1044.   /**************************************************************************/
  1045.   /* The address of the first of these structures should be: lu_def_info_ptr*/
  1046.   /* + lu_def_info_ptr->lu_def_init_sect_len.  To find the next one, add:   */
  1047.   /* lu_def_entry_len                                                       */
  1048.   /**************************************************************************/
  1049.     unsigned long  lu_def_entry_len;    /* Size of lu def info               */
  1050.     unsigned char  lu_name[8];          /* LU_NAME (EBCDIC type A)           */
  1051.     unsigned char  lu_alias[8];         /* LU_ALIAS (ASCII)                  */
  1052.     unsigned char  lu_nau_addr;         /* NAU address 0-254                 */
  1053.     unsigned char  reserv3;             /* Reserved                          */
  1054.     /************************************************************************/
  1055.     /* Additional fields may be added here in future releases               */
  1056.     /************************************************************************/
  1057. } LU_DEF_OVERLAY;
  1058. typedef struct plu_def_info_sect {     /*   One of these                    */
  1059.   /**************************************************************************/
  1060.   /* The address of this structure should be: plu_def_info_ptr              */
  1061.   /**************************************************************************/
  1062.     unsigned long  plu_def_init_sect_len; /* Struct length                   */
  1063.     unsigned short num_plu_def;         /* Number of Partner LU defs Display */
  1064.     unsigned short total_plu_def;       /* Total Number of Partner LU defs   */
  1065.     /************************************************************************/
  1066.     /* Additional fields may be added here in future releases               */
  1067.     /************************************************************************/
  1068. } PLU_DEF_INFO_SECT;
  1069. typedef struct plu_def_overlay {       /* One for each plu_def displayed    */
  1070.   /**************************************************************************/
  1071.   /* The address of the first of these structures should be:                */
  1072.   /* plu_def_info_ptr + plu_def_info_ptr->plu_def_init_sect_len.  To find   */
  1073.   /* the next one, add: plu_def_entry_len.                                  */
  1074.   /**************************************************************************/
  1075.     unsigned long  plu_def_entry_len;   /* Size of plu def info              */
  1076.     unsigned char  fqplu_name[17];      /* PLU Name (EBCDIC)                 */
  1077.     unsigned char  reserv3;             /* Reserved                          */
  1078.     unsigned char  plu_alias[8];        /* Partner LU Alias                  */
  1079.     unsigned char  plu_uninterpreted_name[8];
  1080.                                         /* Partner LU Uninterpreted Name     */
  1081.                                         /*           (EBCDIC)                */
  1082.     unsigned short max_mc_ll_ssize;     /* Maximum Mapped Conversation       */
  1083.                                         /* Logical Record Send Size          */
  1084.                                         /*    0 or 2048 - 32767              */
  1085.     unsigned char  conv_security;       /* Conversation Security             */
  1086.                                         /*    AP_NO                          */
  1087.                                         /*    AP_YES                         */
  1088.     unsigned char  parallel_sess;       /* Parallel Session Support          */
  1089.                                         /*    AP_NO                          */
  1090.                                         /*    AP_YES                         */
  1091.     unsigned char  alt_alias_flag;      /* Alternate PLU aliases flag        */
  1092.                                         /*    0 = Alternate PLU aliases      */
  1093.                                         /*        appended to end of struct  */
  1094.     unsigned char  num_of_alt_aliases;  /* Number of alternate PLU aliases   */
  1095.                                         /* (not including the plu_alias).    */
  1096.                                         /*    0 or # of alt_alias_overlays   */
  1097.     /************************************************************************/
  1098.     /* The address of the first alternate partner LU alias is:              */
  1099.     /* plu_def_overlay + sizeof(struct plu_def_overlay).  To build the addr */
  1100.     /* of the next partner LU alias, add: sizeof(struct alt_alias_overlay). */
  1101.     /* See struct alt_alias_overlay in APPCDEF.H.                           */
  1102.     /************************************************************************/
  1103.     /************************************************************************/
  1104.     /* Additional fields may be added here in future releases               */
  1105.     /************************************************************************/
  1106. } PLU_DEF_OVERLAY;
  1107. typedef struct mode_def_info_sect {    /* One of these                      */
  1108.   /**************************************************************************/
  1109.   /* The address of this structure should be: mode_def_info_ptr             */
  1110.   /**************************************************************************/
  1111.     unsigned long  mode_def_init_sect_len; /* Struct length                  */
  1112.     unsigned short num_mode_def;        /* Number of Mode Definitions Dsplyd */
  1113.     unsigned short total_mode_def;      /* Total Number of Mode Definitions  */
  1114.     /************************************************************************/
  1115.     /* Additional fields may be added here in future releases               */
  1116.     /************************************************************************/
  1117. } MODE_DEF_INFO_SECT;
  1118. typedef struct mode_def_overlay {      /* One for each mode_def Displayed   */
  1119.   /**************************************************************************/
  1120.   /* The address of the first of these structures should be:                */
  1121.   /* mode_def_info_ptr + mode_def_info_ptr->mode_def_init_sect_len.  To find*/
  1122.   /* the next one, add: mode_def_entry_len                                  */
  1123.   /**************************************************************************/
  1124.     unsigned long  mode_def_entry_len;  /* Size of mode def info             */
  1125.     unsigned char  cos_name[8];         /* COS Name (EBCDIC)                 */
  1126.     unsigned char  mode_name[8];        /* Mode Name (EBCDIC)                */
  1127.     unsigned short reserv3;             /* reserved                          */
  1128.     unsigned short rusize_upper;        /* max RU size upper bound           */
  1129.                                         /*    256-65535                      */
  1130.     unsigned char  rcv_window;          /* receive pacing window             */
  1131.                                         /*    0 or 1-63                      */
  1132.     unsigned char  default_ru_size;     /* default ru size?                  */
  1133.                                         /*    AP_NO                          */
  1134.                                         /*    AP_YES                         */
  1135.     unsigned short  max_neg_sess_lim;   /* Max limit on sessions             */
  1136.     unsigned short  curr_sess_lim;      /* Current session limit             */
  1137.     unsigned short  min_win_lim;        /* Min negotiated winners            */
  1138.     /************************************************************************/
  1139.     /* Additional fields may be added here in future releases               */
  1140.     /************************************************************************/
  1141. } MODE_DEF_OVERLAY;
  1142. typedef struct link_def_info_sect {    /* One of these                      */
  1143.   /**************************************************************************/
  1144.   /* The address of this structure should be: link_def_info_ptr             */
  1145.   /**************************************************************************/
  1146.     unsigned long  link_def_init_sect_len; /* Structure length               */
  1147.     unsigned short num_link_def;        /* Number of Active Links Displayed  */
  1148.     unsigned short total_link_def;      /* Total Number of Active Links      */
  1149.     /************************************************************************/
  1150.     /* Additional fields may be added here in future releases               */
  1151.     /************************************************************************/
  1152. } LINK_DEF_INFO_SECT;
  1153. typedef struct link_def_overlay {      /* One for each active link Displayed*/
  1154.   /**************************************************************************/
  1155.   /* The address of the first of these structures should be:                */
  1156.   /* link_def_info_ptr + link_def_info_ptr->link_def_init_sect_len. To find */
  1157.   /* the next block of link information, add: link_def_entry_len            */
  1158.   /**************************************************************************/
  1159.     unsigned long  link_def_entry_len;  /* Size of link info,                */
  1160.                                         /* including link specific           */
  1161.     unsigned char  link_name[8];        /* Link Name (EBCDIC)                */
  1162.     unsigned char  adj_fq_cp_name[17];  /* Adjacent Fully Qualified CP Name  */
  1163.                                         /*           (EBCDIC)                */
  1164.     unsigned char  adj_node_type;       /* adjacent node type                */
  1165.                                         /*    AP_LEARN                       */
  1166.                                         /*    AP_LEN                         */
  1167.                                         /*    AP_ADJACENT_NN                 */
  1168.     unsigned char  dlc_name[8];         /* DLC name (ASCII)                  */
  1169.     unsigned char  adapter_num;         /* DLC adapter number                */
  1170.     unsigned char  dest_addr_len;       /* Length of adapter addr            */
  1171.     unsigned char  dest_addr[32];       /* Destination adapter addr          */
  1172.     unsigned char  cp_cp_sess_spt;      /* CP CP session support?            */
  1173.                                         /*    AP_NO                          */
  1174.                                         /*    AP_YES                         */
  1175.     unsigned char  preferred_nn_server; /* Is this the Pref. NN Server?      */
  1176.                                         /*    AP_NO                          */
  1177.                                         /*    AP_YES                         */
  1178.     unsigned char  auto_act_link;       /* Auto Activate Link?               */
  1179.                                         /*    AP_NO                          */
  1180.                                         /*    AP_YES                         */
  1181.     unsigned char  tg_number;           /* Transmission Group Number         */
  1182.     unsigned char  lim_res;             /* Limited Resource ?                */
  1183.                                         /*    AP_NO                          */
  1184.                                         /*    AP_YES                         */
  1185.                                         /*    AP_USE_ADAPTER_DEF_CHAR        */
  1186.     unsigned char  solicit_sscp_session; /* Solicit SSCP Session?            */
  1187.                                         /*    AP_NO                          */
  1188.                                         /*    AP_YES                         */
  1189.     unsigned char  initself;            /* Initself Indicator                */
  1190.                                         /*    AP_NO                          */
  1191.                                         /*    AP_YES                         */
  1192.     unsigned char  bind_support;        /* Bind Support?                     */
  1193.                                         /*    AP_NO                          */
  1194.                                         /*    AP_YES                         */
  1195.     unsigned char  ls_role;             /* link station role                 */
  1196.                                         /*    AP_NEGOTIABLE                  */
  1197.                                         /*    AP_PRIMARY                     */
  1198.                                         /*    AP_SECONDARY                   */
  1199.     unsigned char  line_type;           /* Line Type                         */
  1200.                                         /*    AP_SWITCHED                    */
  1201.                                         /*    AP_NONSWITCHED                 */
  1202.     unsigned long  eff_capacity;        /* Effective Capacity                */
  1203.                                         /*    0 | 1200 | 2400 | ...          */
  1204.                                         /*    ... | 16M | ...                */
  1205.     unsigned char  conn_cost;           /* Cost Per Connect Time             */
  1206.     unsigned char  byte_cost;           /* Cost Per Byte                     */
  1207.     unsigned char  propagation_delay;   /* AP_PROP_DELAY_MINIMUM             */
  1208.                                         /*    AP_PROP_DELAY_LAN              */
  1209.                                         /*    AP_PROP_DELAY_TELEPHONE        */
  1210.                                         /*    AP_PROP_DELAY_PKT_SWITCHED_NET */
  1211.                                         /*    AP_PROP_DELAY_SATELLITE        */
  1212.                                         /*    AP_PROP_DELAY_MAXIMUM          */
  1213.     unsigned char  user_def_1;          /* User Defined 1                    */
  1214.     unsigned char  user_def_2;          /* User Defined 2                    */
  1215.     unsigned char  user_def_3;          /* User Defined 3                    */
  1216.     unsigned char  security;            /* Security                          */
  1217.                                         /*    AP_SEC_NONSECURE               */
  1218.                                         /*    AP_SEC_PUBLIC_SWITCHED_NETWORK */
  1219.                                         /*    AP_SEC_UNDERGROUND_CABLE       */
  1220.                                         /*    AP_SEC_SECURE_CONDUIT          */
  1221.                                         /*    AP_SEC_GUARDED_CONDUIT         */
  1222.                                         /*    AP_SEC_ENCRYPTED               */
  1223.                                         /*    AP_SEC_GUARDED_RADIATION       */
  1224.     unsigned char  reserv;                     /* Reserved                          */
  1225.     /************************************************************************/
  1226.     /* Additional fields of unspecified length are located in this position.*/
  1227.     /* Use link_entry_len to skip over them.                                */
  1228.     /************************************************************************/
  1229. } LINK_DEF_OVERLAY;
  1230. typedef struct ms_info_sect  {          /* One of these                      */
  1231.   /**************************************************************************/
  1232.   /* The address of this structure should be: ms_info_ptr                   */
  1233.   /**************************************************************************/
  1234.     unsigned long  ms_init_sect_len;    /* Structure length                  */
  1235.     unsigned char  held_mds_mu_alerts;  /* Held mds alerts                   */
  1236.                                         /*    1-255                          */
  1237.     unsigned char  held_nmvt_alerts;    /* Held nmvt alerts                  */
  1238.                                         /*    1-255                          */
  1239.     unsigned short num_fps;             /* Number of Focal Points Displayed  */
  1240.     unsigned short total_fps;           /* Total Number of Focal Points      */
  1241.     unsigned short num_ms_appls;        /* Num. of MS Applications Displayed */
  1242.     unsigned short total_ms_appls;      /* Total Number of MS Applications   */
  1243.     unsigned short num_act_trans;       /* # of Active Transactions Displaye */
  1244.     unsigned short total_act_trans;     /* Total Num. of Active Transactions */
  1245.     /************************************************************************/
  1246.     /* Additional fields may be added here in future releases               */
  1247.     /************************************************************************/
  1248. } MS_INFO_SECT;
  1249. typedef struct ms_fp_overlay {         /* One each MS Focal Point Displayed */
  1250.   /**************************************************************************/
  1251.   /* The address of the first of these structures should be: ms_info_ptr +  */
  1252.   /* ms_info_ptr->ms_init_sect_len.  To find the next the next one, add:    */
  1253.   /* ms_fp_entry_len.                                                       */
  1254.   /**************************************************************************/
  1255.     unsigned long  ms_fp_entry_len;     /* Size of MS Focal point info       */
  1256.     unsigned char  ms_appl_name[8];     /* MS Application name               */
  1257.                                         /*    4 byte SNA Defined MS Appl Name*/
  1258.                                         /* or 1-8 byte (EBCDIC type A)       */
  1259.     unsigned char  ms_category[4];      /* MS Category                       */
  1260.                                         /* 0 or 4 byte SNA Defined Category  */
  1261.     unsigned char  fp_fq_cp_name[17];   /* Focal Point Fully Qual. CP Name   */
  1262.                                         /*    (EBCDIC type A)                */
  1263.     unsigned char  bkup_appl_name[8];   /* Backup MS Application Name        */
  1264.                                         /*    4 byte SNA Defined MS Appl Name*/
  1265.                                         /* or 1-8 byte (EBCDIC type A)       */
  1266.     unsigned char  bkup_fp_fq_cp_name[17]; /* Backup Focal Point Name        */
  1267.                                         /*    (EBCDIC type A)                */
  1268.     unsigned char  reserv1;             /* Reserved                          */
  1269.     unsigned char  fp_type;             /* focal point rank                  */
  1270.                                         /*    AP_EXPLICIT_PRIMARY_FP         */
  1271.                                         /*    AP_BACKUP_FP                   */
  1272.                                         /*    AP_DEFAULT_PRIMARY_FP          */
  1273.                                         /*    AP_DOMAIN_FP                   */
  1274.                                         /*    AP_HOST_FP                     */
  1275.                                         /*    AP_NO_FP                       */
  1276.     unsigned char  fp_status;           /* focal point status                */
  1277.                                         /*    AP_NOT_ACTIVE                  */
  1278.                                         /*    AP_ACTIVE                      */
  1279.                                         /*    AP_PENDING                     */
  1280.                                         /*    AP_NEVER_ACTIVE                */
  1281.     unsigned char  fp_routing;          /* focal point routing               */
  1282.                                         /*    AP_DEFAULT                     */
  1283.                                         /*    AP_DIRECT                      */
  1284.     /************************************************************************/
  1285.     /* Additional fields of unspecified length are located in this position.*/
  1286.     /* Use ms_fp_entry_len to skip over them.                               */
  1287.     /************************************************************************/
  1288. } MS_FP_OVERLAY;
  1289. typedef struct ms_appl_overlay {       /* One each MS application Displayed */
  1290.   /**************************************************************************/
  1291.   /* The first ms_appl_overlay follows immediately after the last ms_fp     */
  1292.   /* overlay.  Hence, the address of the first ms_appl_overlay should be:   */
  1293.   /* the address of the last ms_fp_overlay + ms_fp_entry length.            */
  1294.   /* To find the next ms_appl_overlay, add:  ms_appl_entry_length.          */
  1295.   /**************************************************************************/
  1296.     unsigned long  ms_appl_entry_len;   /* Size of MS application info       */
  1297.     unsigned char  ms_appl_name[8];     /* MS Application name               */
  1298.                                         /*    4 byte SNA Defined MS Appl Name*/
  1299.                                         /* or 1-8 byte (EBCDIC type A)       */
  1300.     unsigned char  ms_category[4];      /* MS Category                       */
  1301.                                         /* 0 or 4 byte SNA Defined Category  */
  1302.     unsigned char  q_name[81];          /* OS/2 Queue Name (ASCIIZ)          */
  1303.     unsigned char  reserv3;             /* Reserved                          */
  1304.     unsigned char  reserv4;             /* Reserved                          */
  1305.     unsigned char  reserv5;             /* Reserved                          */
  1306.     /************************************************************************/
  1307.     /* Additional fields of unspecified length are located in this position.*/
  1308.     /* Use ms_appl_entry_len to skip over them.                             */
  1309.     /************************************************************************/
  1310. } MS_APPL_OVERLAY;
  1311. typedef struct ms_act_trans_overlay  {  /* One each MS active trans Displayed*/
  1312.   /**************************************************************************/
  1313.   /* The first ms_act_trans_overlay follows immediately after the last      */
  1314.   /* ms_appl overlay.  Hence, the address of the first ms_act_trans_overlay */
  1315.   /* should be:                                                             */
  1316.   /*  the address of the last ms_appl_overlay + ms_appl_entry length.       */
  1317.   /* To find the next ms_act_trans_overlay, add:  ms_act_trans_entry_length.*/
  1318.   /**************************************************************************/
  1319.     unsigned long  ms_act_trans_entry_len; /* Size of info                   */
  1320.     unsigned char  fq_origin_cp_name[17];
  1321.                                         /* Fully Qualified Origin CP Name    */
  1322.                                         /*    (EBCDIC type A)                */
  1323.     unsigned char  origin_ms_appl_name[8]; /* Origin MS Application Name     */
  1324.                                         /*    4 byte SNA Defined MS Appl Name*/
  1325.                                         /* or 1-8 byte (EBCDIC type A)       */
  1326.     unsigned char  fq_dest_cp_name[17]; /* Fully Qualified Dest. CP Name     */
  1327.                                         /*    (EBCDIC type A)                */
  1328.     unsigned char  dest_ms_appl_name[8]; /* Dest. MS Application Name        */
  1329.                                         /*    4 byte SNA Defined MS Appl Name*/
  1330.                                         /* or 1-8 byte (EBCDIC type A)       */
  1331.     /************************************************************************/
  1332.     /* the following 3 fields are part of the Unit of Work (UOW)            */
  1333.     /************************************************************************/
  1334.     unsigned char  fq_req_loc_cp_name[17]; /* Requester Location             */
  1335.                                         /*    (EBCDIC type A)                */
  1336.     unsigned char  req_agent_appl_name[8]; /* Requester Application Name     */
  1337.                                         /*    4 byte SNA Defined MS Appl Name*/
  1338.                                         /* or 1-8 byte (EBCDIC type A)       */
  1339.     unsigned char  seq_num_dt[15];      /* Sequence Number / date - time     */
  1340.     /************************************************************************/
  1341.     /* Additional fields of unspecified length are located in this position.*/
  1342.     /* Use ms_act_trans_entry_len to skip over them.                        */
  1343.     /************************************************************************/
  1344. } MS_ACT_TRANS_OVERLAY;
  1345. #ifdef __cplusplus
  1346. }
  1347. #endif
  1348. /*****************************************************************************/
  1349. /* Restore to default packing of structures                                  */
  1350. /*****************************************************************************/
  1351. #ifdef WIN32
  1352.   #pragma pack()
  1353. #endif
  1354. #endif