home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / winmgt.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  103KB  |  1,603 lines

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