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