This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/Borland/BCC55/Include/winmgt.h

1603 lines
99 KiB
C
Raw Permalink Normal View History

/**MOD+***********************************************************************/
/* Module: acsmgtc.c */
/* */
/* Purpose: header file for CNOS and DISPLAY API structures */
/* */
/* (C) COPYRIGHT DATA CONNECTION LIMITED 1991, 1992 */
/* */
/**MOD-***********************************************************************/
#ifndef ACSMGTCH_INCLUDED
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define ACSMGTCH_INCLUDED
/*****************************************************************************/
/* Change for ES1.0 which also defines luw_id_overlay */
/*****************************************************************************/
#include <winappc.h>
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************/
/* Ensure the correct packing of structures */
/*****************************************************************************/
#ifdef WIN32
#pragma pack(4)
#endif
/*****************************************************************************/
/* Definitions from APPCDEF.H file (retired) */
/*****************************************************************************/
typedef struct fqpcid_overlay {
unsigned char unique_proc_id[8]; /* Unique procedure identifier */
unsigned char fq_length; /* Length of Fully Qualified Name */
unsigned char fq_name[17]; /* Fully Qualified Name (EBCDIC) */
/* 1-17 bytes (EBCDIC type A) */
} FQPCID_OVERLAY;
typedef struct alt_alias_overlay {
unsigned char alt_plu_alias[8]; /* Alternate Partner LU Alias (ASCII */
/* 1-8 bytes */
} ALT_ALIAS_OVERLAY;
#define MGT_LO_UC(w) ((unsigned char)(((unsigned short)(w)) & 0xFF))
#define MGT_HI_UC(w) ((unsigned char)(((unsigned short)(w) >> 8) & 0xff))
#define MGT_MAKUS(l, h) (((unsigned short)(l)) | ((unsigned short)(h)) << 8)
#define MGT_MAKUL(l, h) ((unsigned long)(((unsigned short)(l))| \
((unsigned long)((unsigned short)(h))) << 16))
#define MGT_LO_US(l) ((unsigned short)(((unsigned long)(l)) & 0xFFFF))
#define MGT_HI_US(l) ((unsigned short)(((unsigned long)(l) >> 16) \
& 0xffff))
/*****************************************************************************/
/* CONSTFLIP macros. Ordinary flipping macros include function calls and so */
/* PFLIPI(constant) does not appear constant to the compiler */
/*****************************************************************************/
#ifdef NON_INTEL_BYTE_ORDER
#define CONSTFLIPI(X) (X)
#define CONSTFLIPL(X) (X)
/*****************************************************************************/
/* ELSE (Intel environment) */
/* define flipping macros */
/*****************************************************************************/
#else
#define CONSTFLIPI(X) MGT_MAKUS(MGT_HI_UC(X),MGT_LO_UC(X))
#define CONSTFLIPL(X) MGT_MAKUL(CONSTFLIPI(MGT_HI_US(X)), \
CONSTFLIPI(MGT_LO_US(X)))
#endif
/*****************************************************************************/
/* Primary Return Codes */
/*****************************************************************************/
#define AP_CNOS_LOCAL_RACE_REJECT CONSTFLIPI(0x0017) /* 0017 */
#define AP_CNOS_PARTNER_LU_REJECT CONSTFLIPI(0x0018) /* 0018 */
#define AP_INVALID_KEY CONSTFLIPI(0xF020) /* F020 */
/*****************************************************************************/
/* Secondary Return Codes */
/*****************************************************************************/
#define AP_ALL_MODE_MUST_RESET CONSTFLIPL(0x00000153L)
#define AP_AUTOACT_EXCEEDS_SESSLIM CONSTFLIPL(0x00000152L)
#define AP_BAD_MODE_NAME CONSTFLIPL(0x00000157L)
#define AP_BAD_SNASVCMG_LIMITS CONSTFLIPL(0x00000154L)
#define AP_CANT_RAISE_LIMITS CONSTFLIPL(0x00000151L)
#define AP_CHANGE_SRC_DRAINS CONSTFLIPL(0x0000015DL)
#define AP_CNOS_ACCEPTED CONSTFLIPL(0x00000000L)
#define AP_CNOS_COMMAND_RACE_REJECT CONSTFLIPL(0x0000015FL)
#define AP_CNOS_IMPLICIT_PARALLEL CONSTFLIPL(0x00000150L)
#define AP_CNOS_MODE_CLOSED CONSTFLIPL(0x00000156L)
#define AP_CNOS_MODE_NAME_REJECT CONSTFLIPL(0x00000157L)
#define AP_CNOS_NEGOTIATED CONSTFLIPL(0x00000007L)
#define AP_CPSVCMG_MODE_NOT_ALLOWED CONSTFLIPL(0x00000519L)
#define AP_EXCEEDS_MAX_ALLOWED CONSTFLIPL(0x0000015CL)
#define AP_LU_DETACHED CONSTFLIPL(0x0000015EL)
#define AP_MIN_GT_TOTAL CONSTFLIPL(0x00000155L)
#define AP_MODE_CLOSED CONSTFLIPL(0x00000156L)
#define AP_RESET_SNA_DRAINS CONSTFLIPL(0x00000159L)
#define AP_SINGLE_NOT_SRC_RESP CONSTFLIPL(0x0000015AL)
#define AP_SNASVCMG_RESET_NOT_ALLOWED CONSTFLIPL(0x00000167L)
#define AP_DISPLAY_INFO_EXCEEDS_LEN CONSTFLIPL(0x000001B4L)
#define AP_DISPLAY_INVALID_CONSTANT CONSTFLIPL(0x000001B5L)
/*****************************************************************************/
/* Parameter values */
/*****************************************************************************/
#define AP_SOURCE (0x00)
#define AP_TARGET (0x01)
#define AP_ONE (0x00)
#define AP_ALL (0x01)
#define AP_QUEUED_OPERATOR_STARTED (0x00)
#define AP_QUEUED_AM_STARTED (0x01)
#define AP_NONQUEUED_AM_STARTED (0x02)
#define AP_QUEUED_OPERATOR_PRELOADED (0x03)
#define AP_BACKGROUND (0x00)
#define AP_FULL_SCREEN (0x01)
#define AP_PRESENTATION_MANAGER (0x02)
#define AP_VIO_WINDOWABLE (0x03)
#define AP_LEARN (0x00)
#define AP_LEN (0x01)
#define AP_NN (0x02)
#define AP_EN (0x03)
#define AP_SEC_NONSECURE (0x01)
#define AP_SEC_PUBLIC_SWITCHED_NETWORK (0x20)
#define AP_SEC_UNDERGROUND_CABLE (0x40)
#define AP_SEC_SECURE_CONDUIT (0x60)
#define AP_SEC_GUARDED_CONDUIT (0x80)
#define AP_SEC_ENCRYPTED (0xA0)
#define AP_SEC_GUARDED_RADIATION (0xC0)
#define AP_SEC_MAXIMUM (0xFF)
#define AP_PROP_DELAY_MINIMUM (0x00)
#define AP_PROP_DELAY_LAN (0x4C)
#define AP_PROP_DELAY_TELEPHONE (0x71)
#define AP_PROP_DELAY_PKT_SWITCHED_NET (0x91)
#define AP_PROP_DELAY_SATELLITE (0x99)
#define AP_PROP_DELAY_MAXIMUM (0xFF)
#define AP_SWITCHED (0x01)
#define AP_NONSWITCHED (0x02)
#define AP_SECONDARY (0x00)
#define AP_PRIMARY (0x01)
#define AP_NEGOTIABLE (0x03)
#define AP_OUTBOUND (0x00)
#define AP_INBOUND (0x01)
#define AP_NOT_IN_PROGRESS (0x00)
#define AP_IN_PROGRESS (0x01)
#define AP_NOT_SUPPORTED (0x00)
#define AP_SUPPORTED (0x01)
#define AP_SSCP_PU_SESSION (0x00)
#define AP_SSCP_LU_SESSION (0x01)
#define AP_LU_LU_SESSION (0x02)
#define AP_DEACTIVATED (0x00)
#define AP_ACTIVATED (0x80)
#define AP_ACTIVATING (0x40)
#define AP_DEACTIVATING (0x20)
#define AP_DETACHING (0x10)
#define AP_HOST_CONNECTION (0x01)
#define AP_PEER_CONNECTION (0x02)
#define AP_BOTH_CONNECTION (0x03)
#define AP_CONALS_PND (0x02)
#define AP_XID_PND (0x03)
#define AP_CONTACT_PND (0x05)
#define AP_CONTACTED (0x06)
#define AP_DISC_PND (0x07)
#define AP_DISC_RQ (0x08)
#define AP_3270_EMULATION (0x00)
#define AP_LUA (0x01)
#define AP_LU0 (0x00)
#define AP_LU1 (0x01)
#define AP_LU2 (0x02)
#define AP_LU3 (0x03)
#define AP_LU62 (0x06)
#define AP_UNKNOWN (0xFF)
#define AP_LEASED_LINE (0x00)
#define AP_VX32 (0x01)
#define AP_DISCONNECT (0x00)
#define AP_CONNECT (0x01)
#define AP_AUTO_CONNECT (0x02)
#define AP_FIXED (0x12)
#define AP_ADAPTIVE (0x13)
#define AP_NOT_BOUND (0x00)
#define AP_BOUND (0x80)
#define AP_BINDING (0x40)
#define AP_UNBINDING (0x20)
/*****************************************************************************/
/* End Definitions from APPCDEF.H file (retired) */
/*****************************************************************************/
typedef struct cnos {
unsigned short opcode; /* Verb operation code */
/* AP_CNOS */
unsigned char reserv2[2]; /* Reserved */
unsigned short primary_rc; /* Primary RETURN_CODE */
unsigned long secondary_rc; /* Secondary RETURN_CODE */
unsigned char key[8]; /* Key (ASCII) */
unsigned char lu_alias[8]; /* LU Alias (ASCII) */
/* 0 or 1-8 bytes */
unsigned char plu_alias[8]; /* Partner LU Alias (ASCII) */
/* 0 or 1-8 bytes */
unsigned char fqplu_name[17]; /* FQ Partner LU Name (EBCDIC type A */
/* 0-17 bytes */
unsigned char reserv3; /* Reserved */
unsigned char mode_name[8]; /* Mode Name (EBCDIC type A) */
/* 0-8 bytes */
unsigned int mode_name_select:1; /* Bit 15 */
/* Mode name select */
/* AP_ONE */
/* AP_ALL */
unsigned int set_negotiable:1; /* Bit 14 */
/* Set negotiable? */
/* AP_NO */
/* AP_YES */
unsigned int reserv4:6; /* Bits 8-13 */
/* Reserved */
unsigned int reserv5:8; /* Bits 0-7 */
/* Reserved */
unsigned short plu_mode_sess_lim; /* Partner LU mode session limit */
/* 0-32767 */
unsigned short min_conwinners_source;
/* Minimum contention winners source */
/* 0-32767 */
unsigned short min_conwinners_target;
/* Minimum contention winners target */
/* 0-32767 */
unsigned short auto_act; /* Auto Activate */
/* 0-32767 */
unsigned int drain_target:1; /* Bit 15 */
/* Drain Target? */
/* AP_NO */
/* AP_YES */
unsigned int drain_source:1; /* Bit 14 */
/* Drain Source? */
/* AP_NO */
/* AP_YES */
unsigned int responsible:1; /* Bit 13 */
/* Responsible? */
/* AP_SOURCE */
/* AP_TARGET */
unsigned int reserv6:5; /* Bits 8-12 */
/* Reserved */
unsigned int reserv7:8; /* Bit 0-7 */
/* Reserved */
} CNOS;
typedef struct display {
unsigned short opcode; /* Verb operation code */
/* AP_DISPLAY */
unsigned char reserv2[2]; /* Reserved */
unsigned short primary_rc; /* Primary RETURN_CODE */
unsigned long secondary_rc; /* Secondary RETURN_CODE */
unsigned long init_sect_len; /* Length of this section */
unsigned long buffer_len; /* Length of passed buffer */
unsigned char far *buffer_ptr; /* Passed address */
unsigned long num_sections; /* Number of sections */
unsigned long display_len; /* Returned, length used */
unsigned long area_needed; /* Returned, length required */
unsigned char sna_global_info; /* SNA global info? */
/* AP_NO */
/* AP_YES */
unsigned char lu62_info; /* LU 6.2 info? */
/* AP_NO */
/* AP_YES */
unsigned char am_info; /* Attach Manager info? */
/* AP_NO */
/* AP_YES */
unsigned char tp_info; /* TP info? */
/* AP_NO */
/* AP_YES */
unsigned char sess_info; /* Session info? */
/* AP_NO */
/* AP_YES */
unsigned char link_info; /* Link info? */
/* AP_NO */
/* AP_YES */
unsigned char lu_0_3_info; /* LU 0, 1, 2, & 3 info? */
/* AP_NO */
/* AP_YES */
unsigned char gw_info; /* Gateway info? */
/* AP_NO */
/* AP_YES */
unsigned char x25_physical_link_info; /* X.25 info? */
/* AP_NO */
/* AP_YES */
unsigned char sys_def_info; /* System Default info? */
/* AP_NO */
/* AP_YES */
unsigned char adapter_info; /* Adapter info? */
/* AP_NO */
/* AP_YES */
unsigned char lu_def_info; /* LU definition info? */
/* AP_NO */
/* AP_YES */
unsigned char plu_def_info; /* Remote LU def info? */
/* AP_NO */
/* AP_YES */
unsigned char mode_def_info; /* Mode Definition info? */
/* AP_NO */
/* AP_YES */
unsigned char link_def_info; /* Link Definition info? */
/* AP_NO */
/* AP_YES */
unsigned char ms_info; /* Management Services info? */
/* AP_NO */
/* AP_YES */
/* Returned Pointers */
/* Note that the address of the first of these pointers is */
/* address of the verb control block + init_sect_len */
struct sna_global_info_sect far *sna_global_info_ptr;
struct lu62_info_sect far *lu62_info_ptr;
struct am_info_sect far *am_info_ptr;
struct tp_info_sect far *tp_info_ptr;
struct sess_info_sect far *sess_info_ptr;
struct link_info_sect far *link_info_ptr;
struct lu_0_3_info_sect far *lu_0_3_info_ptr;
struct gw_info_sect far *gw_info_ptr;
struct x25_physical_link_info_sect far *x25_physical_link_info_ptr;
struct sys_def_info_sect far *sys_def_info_ptr;
struct adapter_info_sect far *adapter_info_ptr;
struct lu_def_info_sect far *lu_def_info_ptr;
struct plu_def_info_sect far *plu_def_info_ptr;
struct mode_def_info_sect far *mode_def_info_ptr;
struct link_def_info_sect far *link_def_info_ptr;
struct ms_info_sect far *ms_info_ptr;
} DISPLAY;
typedef struct psid_struct /* Product set id structure */
{
unsigned char machine_type[4]; /* Machine type */
unsigned char machine_mod_num[3]; /* Machine model number */
unsigned char plant_of_mfg[2]; /* IBM manufacturing plant */
unsigned char machine_seq_num[7]; /* Machine sequence number */
} type_product_set_id;
typedef struct sna_global_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: sna_global_info_ptr */
/**************************************************************************/
unsigned char version; /* Communications Manager version */
unsigned char release; /* Communications Manager release */
unsigned char net_name[8]; /* NETID (EBCDIC type A) */
unsigned char pu_name[8]; /* PU name (EBCDIC type A) */
unsigned char node_id[4]; /* Node ID used in XID */
type_product_set_id product_set_id; /* Product Set ID */
unsigned char alias_cp_name[8]; /* Alias CP Name (ASCII) */
unsigned char node_type; /* Node Type */
/* AP_NN */
/* AP_EN */
/* AP_LEN */
unsigned char cp_nau_addr; /* CP NAU Address */
/* 0 (not used...independent LU) OR */
/* 1-254 */
unsigned char corr_serv_disk; /* Reserved */
unsigned char reserved; /* Reserved */
unsigned char appc_version; /* APPC version */
unsigned char appc_release; /* APPC release */
unsigned short appc_fixlevel; /* APPC fix level */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} SNA_GLOBAL_INFO_SECT;
typedef struct lu62_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: lu62_info_ptr */
/**************************************************************************/
unsigned long lu62_init_sect_len; /* Structure length */
unsigned short num_lu62s; /* Number of configured LUs displaye */
unsigned short total_lu62s; /* Total Number of configured LUs */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LU62_INFO_SECT;
typedef struct lu62_overlay { /* One for each LU */
/**************************************************************************/
/* The address of the first of these structures should be: lu62_info_ptr +*/
/* lu62_info_ptr->lu62_init_sect_len to find the next LU, add: */
/* lu62_entry_len */
/**************************************************************************/
unsigned long lu62_entry_len; /* Size of this LU entry */
unsigned long lu62_overlay_len; /* This value contains */
/* sizeof(struct lu62_overlay) - */
/* sizeof(lu62_entry_len) */
unsigned char lu_name[8]; /* LU Name (EBCDIC type A) */
unsigned char lu_alias[8]; /* LU Alias (ASCII) */
unsigned short num_plus; /* Number of partner LUs */
unsigned char fqlu_name[17]; /* Fully Qualified LU Name */
/* (EBCDIC type A) */
unsigned char default_lu; /* Default LU? */
/* AP_NO */
/* AP_YES */
unsigned char reserv3; /* Reserved */
unsigned char lu_local_addr; /* NAU address 0-254 */
unsigned short lu_sess_lim; /* Configured session limit */
/* 0-255 */
unsigned char max_tps; /* Max number of TPs 1-255 */
unsigned char lu_type; /* Always LU type 6.2 */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LU62_OVERLAY;
typedef struct plu62_overlay { /* One for each partner LU */
/**************************************************************************/
/* The address of the first of these structures should be: The address of */
/* the current lu62_overlay + lu62_overlay_len + sizeof(lu62_entry_len) */
/* To find the next partner LU, add: plu62_entry_len. */
/**************************************************************************/
unsigned long plu62_entry_len; /* Size of this partner LU */
unsigned long plu62_overlay_len; /* This value contains */
/* sizeof(struct plu62_overlay) - */
/* sizeof(plu62_entry_len) */
unsigned char plu_alias[8]; /* Partner LU Alias (ASCII) */
unsigned short num_modes; /* Number of modes */
unsigned char plu_un_name[8]; /* Partner LU Uninterpreted Name */
/* (EBCDIC) */
unsigned char fqplu_name[17]; /* Fully Qualified Partner LU Name */
/* (EBCDIC type A) */
unsigned char reserv3; /* Reserved */
unsigned short plu_sess_lim; /* Partner LU session limit */
unsigned char dlc_name[8]; /* DLC name (ASCII) */
unsigned char adapter_num; /* DLC adapter number */
unsigned char dest_addr_len; /* Length of adapter addr */
unsigned char dest_addr[32]; /* Destination adapter addr */
unsigned int par_sess_supp:1; /* Bit 15 Parallel sessions? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int reserv4:7; /* Bits 8-14 Reserved */
unsigned int def_already_ver:1; /* Bit 7 Configured already verif? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int def_conv_sec:1; /* Bit 6 Configured conv security? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int def_sess_sec:1; /* Bit 5 Configured session securit */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int reserv5:5; /* Bits 0-4 Reserved */
unsigned int act_already_ver:1; /* Bit 15 Active already verified? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int act_conv_sec:1; /* Bit 14 Active conversation sec? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int reserv6:6; /* Bits 8-13 Reserved */
unsigned int implicit_part:1; /* Bit 7 Implicit partner? */
/* AP_NO */
/* AP_YES */
unsigned int reserv7:7; /* Bits 0-6 Reserved */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} PLU62_OVERLAY;
typedef struct mode_overlay { /* One for each mode */
/**************************************************************************/
/* The address of the first of these structures should be: The address of */
/* the current plu62_overlay + plu62_overlay_len + sizeof(plu62_entry_len)*/
/* To find the next mode, add: mode_entry_len. */
/**************************************************************************/
unsigned long mode_entry_len; /* Size of this mode */
unsigned char mode_name[8]; /* Mode Name (EBCDIC type A) */
unsigned short max_ru_size_upp; /* Upper Limit on Max RU */
unsigned short max_ru_size_low; /* Lower Limit on Max RU */
unsigned short max_neg_sess_lim; /* Max Limit on Sessions */
unsigned short curr_sess_lim; /* Current Session Limit */
unsigned short min_win_lim; /* Min Negotiated Winners */
unsigned short min_lose_lim; /* Min Negotiated Losers */
unsigned short act_sess_count; /* Active Session Count */
unsigned short pend_sess_count; /* Pending Session Count */
unsigned short auto_act_sess_count; /* Auto Activate Session Count */
unsigned short act_win_lim; /* Active Winner Sessions */
unsigned short act_lose_lim; /* Active Loser Sessions */
unsigned short term_count; /* Session Termination Count */
unsigned int drain_target:1; /* Bit 15 Drain Target? */
/* AP_NO */
/* AP_YES */
unsigned int drain_source:1; /* Bit 14 Drain Source? */
/* AP_NO */
/* AP_YES */
unsigned int reserv3:6; /* Bits 8-13 Reserved */
unsigned int pacing_size:8; /* Bits 0-7 Pacing size */
/* The preceeding fields were previously defined as "unsigned char". */
/* They have been integrated into a bitfield to eliminate warning */
/* messages about 'bitfield types other than int'. */
unsigned int implicit_mode:1; /* Bit 15 Implicit Mode? */
/* AP_NO */
/* AP_YES */
unsigned int reserv4:7; /* Bits 8-14 Reserved */
unsigned int reserv5:8; /* Bits 0-7 Reserved */
/************************************************************************/
/* Reserved Additional fields may be added here in future releases */
/************************************************************************/
} MODE_OVERLAY;
typedef struct am_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: am_info_ptr */
/**************************************************************************/
unsigned long am_init_sect_len; /* Structure length */
unsigned char am_active; /* Attach Manager active? */
/* AP_NO */
/* AP_YES */
unsigned char reserv4; /* Reserved */
unsigned short num_tps; /* Number of configured TPs */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} AM_INFO_SECT;
typedef struct am_overlay { /* One for each configued TP */
/**************************************************************************/
/* The address of the first of these structures should be: am_info_ptr + */
/* am_info_ptr->am_init_sect_len. To find the next block of TP, */
/* information, add: am_entry_len. */
/**************************************************************************/
unsigned long am_entry_len; /* Size of this structure */
unsigned char tp_name[64]; /* TP name (EBCDIC type AE) */
unsigned char filespec[64]; /* TP filespec (ASCII) */
unsigned int reserv3:1; /* Bit 15 Reserved */
unsigned int sync_level_conf:1; /* Bit 14 Sync Level (Confirm) ? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int sync_level_none:1; /* Bit 13 Sync Level (None) ? */
/* AP_NOT_SUPPORTED */
/* AP_SUPPORTED */
unsigned int reserv4:5; /* Bits 8-12 Reserved */
unsigned int conv_type:8; /* Bits 0-7 Conversation type */
/* AP_BASIC_CONVERSATION */
/* AP_MAPPED_CONVERSATION */
/* AP_EITHER */
/* The preceeding fields were previously defined as "unsigned char". */
/* They have been integrated into a bitfield to eliminate warning */
/* messages about 'bitfield types other than int'. */
unsigned short in_all_qdpth_lim; /* Incoming Allocate queue depth lim */
unsigned short in_all_qdpth; /* Incoming Allocate queue depth */
short in_all_timeout; /* Incoming Allocate t/o */
/* AP_HOLD_FOREVER or time in sec */
unsigned short num_rcv_all_pend; /* Number of pending */
/* RECEIVE_ALLOCATEs */
short rcv_all_timeout; /* RECEIVE_ALLOCATE t/o */
/* AP_HOLD_FOREVER or time in sec */
unsigned char tp_type; /* TP type */
/* AP_QUEUED_OPERATOR_STARTED */
/* AP_QUEUED_AM_STARTED */
/* AP_NONQUEUED_AM_STARTED */
/* AP_QUEUED_OPERATOR_PRELOADED */
unsigned char pgm_state; /* Program state */
/* AP_INACTIVE */
/* AP_LOADED */
/* AP_LOADING */
/* AP_RUNNING */
unsigned char conv_sec; /* Conversation security? */
/* AP_NO */
/* AP_YES */
unsigned char reserv5; /* Reserved */
unsigned short process_id; /* OS/2 process ID */
unsigned char parm_string[32]; /* Pgm parameter string */
unsigned char program_type; /* Program Type */
/* AP_BACKGROUND */
/* AP_FULL_SCREEN */
/* AP_PRESENTATION_MANAGER */
/* AP_VIO_WINDOWABLE */
unsigned char reserv5a; /* Reserved */
unsigned char tp_initiated; /* TP initiated */
/* AP_LOCALLY */
/* AP_REMOTELY */
unsigned char reserv6; /* Reserved */
unsigned char icon_filespec[80]; /* Icon Filespec (ASCII) */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} AM_OVERLAY;
typedef struct tp_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: tp_info_ptr */
/**************************************************************************/
unsigned long tp_init_sect_len; /* Structure length */
unsigned short num_tps; /* Number of active TPs displayed */
unsigned short total_tps; /* Total Number of Active TPs */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} TP_INFO_SECT;
typedef struct tp_overlay { /* One for each active TP */
/**************************************************************************/
/* The address of the first of these structures should be: tp_info_ptr + */
/* tp_info_ptr->tp_init_sect_len. To find the next block of active TP */
/* information, add: tp_entry_len */
/**************************************************************************/
unsigned long tp_entry_len; /* Size of this TP record */
unsigned long tp_overlay_len; /* This value contains */
/* sizeof(struct tp_overlay) - */
/* sizeof(tp_entry_len) */
unsigned short num_conv; /* Number of conversations */
unsigned char tp_id[8]; /* TP ID */
unsigned char tp_name[64]; /* TP name (EBCDIC type AE) */
unsigned char user_id[10]; /* User ID (EBCDIC type AE) */
unsigned int reserv3:7; /* Bits 9-15 Reserved */
unsigned int loc_or_rem:1; /* Bit 8 Initiated local or remote? */
/* AP_LOCAL */
/* AP_REMOTE */
unsigned int reserv4:8; /* Bits 0-7 Reserved */
unsigned char lu_alias[8]; /* LU_ALIAS (ASCII) */
LUW_ID_OVERLAY luw_id; /* Logical Unit of Work ID */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} TP_OVERLAY;
typedef struct conv_overlay { /* One for each active conv */
/**************************************************************************/
/* The address of the first of these structures should be: The address of */
/* the current tp_overlay + tp_overlay_len + sizeof(tp_entry_len). To find*/
/* the next block of conversation information, add: conv_entry_len */
/**************************************************************************/
unsigned long conv_entry_len; /* Size of conversation information */
unsigned long conv_id; /* Conversation ID */
unsigned char reserv3[9]; /* Reserved */
unsigned char state; /* Conversation state */
/* AP_SEND_STATE */
/* AP_RECEIVE_STATE */
/* AP_CONFIRM_STATE */
/* AP_CONFIRM_SEND_STATE */
/* AP_CONFIRM_DEALL_STATE */
/* AP_PEND_POST_STATE */
unsigned char sess_id[8]; /* Session ID */
unsigned char sync_level; /* Sync level */
/* AP_NONE */
/* AP_CONFIRM */
unsigned char conv_type; /* Conversation type */
/* AP_BASIC_CONVERSATION */
/* AP_MAPPED_CONVERSATION */
unsigned long conv_group_id; /* Conversation Group ID */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} CONV_OVERLAY;
typedef struct sess_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: sess_info_ptr */
/**************************************************************************/
unsigned long sess_init_sect_len; /* Structure length */
unsigned short num_sessions; /* Number of Active Sessions */
unsigned short total_sessions; /* Total Number of Active Sessions */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} SESS_INFO_SECT;
typedef struct sess_overlay { /* One for each active sess */
/**************************************************************************/
/* The address of the first of these structures should be: sess_info_ptr +*/
/* sess_info_ptr->sess_init_sect_len. To find the next block of session */
/* information, add: sess_entry_len */
/**************************************************************************/
unsigned long sess_entry_len; /* Size of session info */
unsigned long reserv3; /* Reserved */
unsigned char sess_id[8]; /* Session ID */
unsigned long conv_id; /* Conversation ID */
unsigned char lu_alias[8]; /* LU Alias (ASCII) */
unsigned char plu_alias[8]; /* Partner LU Alias (ASCII) */
unsigned char mode_name[8]; /* Mode Name (EBCDIC type A) */
unsigned short send_ru_size; /* Max RU size for send */
unsigned short rcv_ru_size; /* Max RU size for receive */
unsigned char send_pacing_size; /* Send pacing size */
unsigned char rcv_pacing_size; /* Receive pacing size */
unsigned char link_id[12]; /* Link ID (in APPC), or */
/* First Hop Link Name (in APPN) */
unsigned char daf; /* Outbound DAF */
unsigned char oaf; /* Outbound OAF */
unsigned char odai; /* ODAI */
unsigned char sess_type; /* Type of session */
/* AP_SSCP_PU_SESSION */
/* AP_SSCP_LU_SESSION */
/* AP_LU_LU_SESSION */
unsigned char conn_type; /* Type of connection */
/* AP_HOST_CONNECTION */
/* AP_PEER_CONNECTION */
/* AP_BOTH_CONNECTION */
unsigned char reserv4; /* Reserved */
FQPCID_OVERLAY fqpcid; /* Fully Qualified Procedure */
/* Correlation Identifier */
unsigned char cgid[4]; /* Conversation Group ID */
unsigned char fqlu_name[17]; /* Local Fully Qualifed LU Name */
/* (EBCDIC) */
unsigned char fqplu_name[17]; /* Partner Fully Qualifed LU Name */
/* (EBCDIC) */
unsigned char pacing_type; /* Type of Pacing */
/* AP_FIXED */
/* AP_ADAPTIVE */
unsigned char reserv5; /* Reserved */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} SESS_OVERLAY;
typedef struct link_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: link_info_ptr */
/**************************************************************************/
unsigned long link_init_sect_len; /* Structure length */
unsigned short num_links; /* Number of active links */
/*************************************************************************/
/* This field added to make link_info_sect in API match the Link info */
/* section returned by the NS/2 management DLL. */
/*************************************************************************/
unsigned short total_links; /* Total number of active links */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LINK_INFO_SECT;
typedef struct link_overlay { /* One for each active link */
/**************************************************************************/
/* The address of the first of these structures should be: link_info_ptr +*/
/* link_info_ptr->link_init_sect_len. To find the next block of link */
/* information, add: link_entry_len */
/**************************************************************************/
unsigned long link_entry_len; /* Size of link info, incl link spec */
unsigned char link_id[12]; /* Link ID (Link Name in EBCDIC A) */
unsigned char dlc_name[8]; /* DLC name (ASCII) */
unsigned char adapter_num; /* DLC adapter number */
unsigned char dest_addr_len; /* Length of adapter addr */
unsigned char dest_addr[32]; /* Destination adapter addr */
unsigned char inbound_outbound; /* Inbound or outbound? */
/* AP_OUTBOUND */
/* AP_INBOUND */
unsigned char state; /* Link state */
/* AP_CONALS_PND */
/* AP_XID_PND */
/* AP_CONTACT_PND */
/* AP_CONTACTED */
/* AP_DISC_PND */
/* AP_DISC_RQ */
unsigned char deact_link_flag; /* Deactivate logical link */
/* AP_NOT_IN_PROGRESS */
/* AP_IN_PROGRESS */
unsigned char reserv3; /* Reserved */
unsigned short num_sessions; /* Number of active sessions 0-65535 */
unsigned short ru_size; /* RU size 99-32767 (BTU Size) */
unsigned short reserv4; /* Reserved */
unsigned char adj_fq_cp_name[17]; /* Adjacent Fully Qualified CP Name */
unsigned char reserv5; /* Reserved */
unsigned char adj_node_type; /* Adjacent Node Type */
/* AP_EN */
/* AP_NN */
/* AP_LEN */
unsigned char cp_cp_sess_spt; /* CP CP Session Support */
/* AP_NO */
/* AP_YES */
unsigned char conn_type; /* Type of Connection */
/* AP_HOST_CONNECTION */
/* AP_PEER_CONNECTION */
/* AP_BOTH_CONNECTION */
unsigned char ls_role; /* Link Station Role */
/* AP_NEGOTIABLE */
/* AP_PRIMARY */
/* AP_SECONDARY */
unsigned char line_type; /* Line Type */
/* AP_SWITCHED */
/* AP_NONSWITCHED */
unsigned char tg_number; /* Transmission Group Number */
unsigned long eff_capacity; /* Effective Capacity */
/* 0 | 1200 | 2400 | ... */
/* ... | 16M | ... */
unsigned char conn_cost; /* Cost Per Connect Time */
unsigned char byte_cost; /* Cost Per Byte */
unsigned char propagation_delay; /* AP_PROP_DELAY_MINIMUM */
/* AP_PROP_DELAY_LAN */
/* AP_PROP_DELAY_TELEPHONE */
/* AP_PROP_DELAY_PKT_SWITCHED_NET */
/* AP_PROP_DELAY_SATELLITE */
/* AP_PROP_DELAY_MAXIMUM */
unsigned char user_def_1; /* User Defined 1 */
unsigned char user_def_2; /* User Defined 2 */
unsigned char user_def_3; /* User Defined 3 */
unsigned char security; /* Security */
/* AP_SEC_NONSECURE */
/* AP_SEC_PUBLIC_SWITCHED_NETWORK */
/* AP_SEC_UNDERGROUND_CABLE */
/* AP_SEC_SECURE_CONDUIT */
/* AP_SEC_GUARDED_CONDUIT */
/* AP_SEC_ENCRYPTED */
/* AP_SEC_GUARDED_RADIATION */
unsigned char reserv6; /* Reserved */
/************************************************************************/
/* Additional fields of unspecified length are located in this position.*/
/* Use link_entry_len to skip over them. */
/************************************************************************/
} LINK_OVERLAY;
typedef struct lu_0_3_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: lu_0_3_info_ptr */
/**************************************************************************/
unsigned long lu_0_3_init_sect_len; /* Structure length */
unsigned short num_lu_0_3s; /* Number of configured LUs */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LU_0_3_INFO_SECT;
typedef struct lu_0_3_overlay { /* One for each configured LU */
/**************************************************************************/
/* The address of the first of these structures should be: lu_0_3_info_ptr*/
/* + lu_0_3_info_ptr->lu_0_3_init_sect_len. To find the next one, add: */
/* lu_0_3_entry_len. */
/**************************************************************************/
unsigned long lu_0_3_entry_len; /* Size of this LU info */
unsigned char access_type; /* Access type */
/* AP_3270_EMULATION */
/* AP_LUA */
unsigned char lu_type; /* LU type */
/* AP_LU0 */
/* AP_LU1 */
/* AP_LU2 */
/* AP_LU3 */
unsigned char lu_daf; /* NAU address */
unsigned char lu_short_name; /* LU Short Name (ASCII) */
unsigned char lu_long_name[8]; /* LU Long Name (ASCII) */
unsigned char sess_id[8]; /* Session ID */
unsigned char dlc_name[8]; /* DLC Name (ASCII) */
unsigned char adapter_num; /* DLC Adapter number */
unsigned char dest_addr_len; /* Length of Adapter Addr */
unsigned char dest_addr[32]; /* Destination Adapter Addr */
unsigned char sscp_lu_sess_state; /* SSCP-LU Session State */
/* AP_DEACTIVATED */
/* AP_ACTIVATED */
/* AP_ACTIVATING */
/* AP_DEACTIVATING */
/* any of these 4 states can be */
/* &'ed with: AP_DETACHING */
unsigned char lu_lu_sess_state; /* LU-LU Session State */
/* AP_NOT_BOUND */
/* AP_BOUND */
/* AP_BINDING */
/* AP_UNBINDING */
unsigned char link_id[12]; /* Link ID */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LU_0_3_OVERLAY;
typedef struct gw_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: gw_info_ptr */
/**************************************************************************/
unsigned long gw_init_sect_len; /* Structure length */
unsigned short num_gw_lus; /* Number of configured */
/************************************************************************/
/* gateway LUs Additional fields may be added here in future releases */
/************************************************************************/
} GW_INFO_SECT;
typedef struct gw_overlay { /* One for each gateway LU */
/**************************************************************************/
/* The address of the first of these structures should be: gw_info_ptr + */
/* gw_info_ptr->gw_init_sect_len. To find the next one, add: gw_entry_len.*/
/**************************************************************************/
unsigned long gw_entry_len; /* Size of the gateway info */
unsigned char ws_lu_name[8]; /* WS LU name (EBCDIC) */
unsigned char ws_pu_name[8]; /* WS PU name (EBCDIC) */
unsigned char ws_pool_class; /* WS pool class */
unsigned char ws_local_addr; /* Workstation local address */
unsigned char host_local_addr; /* Host local address */
unsigned char ws_lu_type; /* Workstation LU type */
/* AP_LU0 */
/* AP_LU1 */
/* AP_LU2 */
/* AP_LU3 */
/* AP_LU62 */
/* AP_UNKNOWN */
unsigned char host_lu_name[17]; /* Host LU name (EBCDIC) */
unsigned char reserv3; /* Reserved */
unsigned char ws_dlc_name[8]; /* WS DLC name (ASCII) */
unsigned char ws_adapter_num; /* Workstation adapter num */
unsigned char ws_dest_addr_len; /* WS dest addr length */
unsigned char ws_dest_addr[32]; /* WS destination addr */
unsigned int ws_link_act:1; /* Bit 15 WS link active? */
/* AP_NO */
/* AP_YES */
unsigned int lu_lu_pend_term:1; /* Bit 14 LU-LU pending termination? */
/* AP_NO */
/* AP_YES */
unsigned int lu_lu_pend_init:1; /* Bit 13 LU-LU pending initiation? */
/* AP_NO */
/* AP_YES */
unsigned int lu_lu_act:1; /* Bit 12 LU-LU Active? */
/* AP_NO */
/* AP_YES */
unsigned int lu_cp_pend_term:1; /* Bit 11 LU-CP Pending Termination? */
/* AP_NO */
/* AP_YES */
unsigned int lu_cp_pend_init:1; /* Bit 10 LU-CP pending initiation? */
/* AP_NO */
/* AP_YES */
unsigned int lu_cp_act_offline:1; /* Bit 9 LU-CP active offline? */
/* AP_NO */
/* AP_YES */
unsigned int lu_cp_act_online:1; /* Bit 8 LU-CP active online? */
/* AP_NO */
/* AP_YES */
unsigned int reserv4:8; /* Bits 0-7 Reserved */
/************************************************************************/
/* Reserved Additional fields may be added here in future releases */
/************************************************************************/
} GW_OVERLAY;
typedef struct x25_physical_link_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: x25_info_ptr */
/**************************************************************************/
unsigned long x25_init_sect_len; /* Structure length */
unsigned short num_x25_links; /* Number of X.25 physical links */
unsigned short num_x25_link_entries;
/* Total Number of X.25 phys. links */
/************************************************************************/
/* physical link entries Additional fields may be added here in future */
/* releases */
/************************************************************************/
} X25_PHYSICAL_LINK_INFO_SECT;
typedef struct x25_overlay { /* One for each X.25 link */
/**************************************************************************/
/* The address of the first of these structures should be: x25_info_ptr + */
/* x25_info_ptr->x25_init_sect_len. To find the next one, add: */
/* x25_entry_len */
/**************************************************************************/
unsigned long x25_entry_len; /* Size of X.25 information */
unsigned char link_name[8]; /* X.25 Link Name (ASCII) */
unsigned char link_comments[60]; /* Comment Field (ASCII) */
unsigned short adapter_slot_num; /* Adapter Slot Number */
unsigned char link_type; /* Link Type */
/* AP_LEASED_LINE */
/* AP_VX32 */
unsigned char link_mode; /* Link Mode */
/* AP_DISCONNECT */
/* AP_CONNECT */
/* AP_AUTO_CONNECT */
unsigned char link_state; /* Link State */
/* AP_CONNECTING */
/* AP_CONNECTED */
/* AP_ERROR_LEVEL_1 */
/* AP_ERROR_LEVEL_2 */
/* AP_DISCONNECTING */
/* AP_DISCONNECTED */
/* AP_ADAPTER_ERROR */
/* AP_ADAPTER_ACCESS_ERROR */
/* AP_INCOMING_WAIT */
unsigned char link_direction; /* Link Direction */
/* AP_INCOMING */
/* AP_OUTGOING */
/* AP_2_WAY */
unsigned short num_act_pvcs; /* Number of Active PVCs */
unsigned short total_num_pvcs; /* Total Number of PVCs */
unsigned short num_act_svcs; /* Number of Active SVCs */
unsigned short num_incoming_svcs; /* Num of Incoming SVCs */
unsigned short num_2_way_svcs; /* Number of 2-way SVCs */
unsigned short num_outgoing_svcs; /* Num of Outgoing SVCs */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} X25_OVERLAY;
typedef struct sys_def_info_sect { /* */
/**************************************************************************/
/* The address of this structure should be: sys_def_info_ptr */
/**************************************************************************/
unsigned char default_mode_name[8];
/* Default Mode Name (EBCDIC type A) */
unsigned char default_local_lu_name[8];
/* Default Local LU Name (EBCDIC */
/* type A) */
unsigned char implicit_inb_rlu_supp; /* Implicit Remote LU Support */
/* AP_NO */
/* AP_YES */
unsigned char max_held_alerts; /* Max Held Alerts 0-255 */
unsigned char tp_conv_sec_rqd; /* TP Conversation Security Requeste */
/* AP_NO */
/* AP_YES */
unsigned char reserv3; /* Reserved */
unsigned short max_mc_ll_send_size; /* Maximum Mapped Conversation */
/* Logical Record Send Size */
/* 0 or 2048 - 32767 */
unsigned char dir_for_attaches[64]; /* Directory For Inbound Attaches */
unsigned char tp_operation; /* Default TP Operation */
/* AP_QUEUED_OPERATOR_STARTED */
/* AP_QUEUED_AM_STARTED */
/* AP_NONQUEUED_AM_STARTED */
/* AP_QUEUED_OPERATOR_PRELOADED */
unsigned char tp_program_type; /* Default TP Program Type */
/* AP_BACKGROUND */
/* AP_FULL_SCREEN */
/* AP_PRESENTATION_MANAGER */
/* AP_VIO_WINDOWABLE */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} SYS_DEF_INFO_SECT;
typedef struct adapter_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: adapter_info_ptr */
/**************************************************************************/
unsigned long adapter_init_sect_len; /* Structure length */
unsigned short num_adapters; /* Number of Adapters Displayed */
unsigned short total_adapters; /* Total Number of Adapters */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} ADAPTER_INFO_SECT;
typedef struct adapter_overlay { /* One for each adapter Displayed */
/**************************************************************************/
/* The address of the first of these structures should be: */
/* adapter_info_ptr + adapter_info_ptr->adapter_init_sect_len. */
/* To find the next one, add: adapter_entry_len */
/**************************************************************************/
unsigned long adapter_entry_len; /* Size of Adapter Info */
unsigned char dlc_name[8]; /* DLC Name (ASCII) */
unsigned char adapter_number; /* Adapter Number */
/* 0-255 */
unsigned char ls_role; /* Link Station Role */
/* AP_NEGOTIABLE */
/* AP_PRIMARY */
/* AP_SECONDARY */
unsigned long eff_capacity; /* Effective Capacity */
/* 1200 | 2400 |...|16M|... */
unsigned char conn_cost; /* Cost Per Connect Time */
unsigned char byte_cost; /* Cost Per Byte */
unsigned char propagation_delay; /* AP_PROP_DELAY_MINIMUM */
/* AP_PROP_DELAY_LAN */
/* AP_PROP_DELAY_TELEPHONE */
/* AP_PROP_DELAY_PKT_SWITCHED_NET */
/* AP_PROP_DELAY_SATELLITE */
/* AP_PROP_DELAY_MAXIMUM */
unsigned char user_def_1; /* User Defined 1 */
unsigned char user_def_2; /* User Defined 2 */
unsigned char user_def_3; /* User Defined 3 */
unsigned char security; /* Security */
/* AP_SEC_NONSECURE */
/* AP_SEC_PUBLIC_SWITCHED_NETWORK */
/* AP_SEC_UNDERGROUND_CABLE */
/* AP_SEC_SECURE_CONDUIT */
/* AP_SEC_GUARDED_CONDUIT */
/* AP_SEC_ENCRYPTED */
/* AP_SEC_GUARDED_RADIATION */
unsigned char reserv3; /* Reserved */
unsigned char line_type; /* Line Yype */
/* AP_SWITCHED */
/* AP_NONSWITCHED */
unsigned char lim_res; /* Limited Resource ? */
/* AP_NO */
/* AP_YES */
unsigned short lim_res_timeout; /* Limited Resource Timeout */
/* 0-127 ??? */
unsigned short max_btu_size; /* Maximum BTU Size 99-32767 */
unsigned char rcv_window; /* Receive Window 0-127 */
unsigned char send_window; /* Send Window 0-127 */
unsigned short max_ls_used; /* Max Link Stations */
unsigned char abm_support; /* Asynchronous Balanced Mode Used? */
/* AP_NO */
/* AP_YES */
unsigned char reserv4; /* Reserved */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} ADAPTER_OVERLAY;
typedef struct lu_def_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: lu_def_info_ptr */
/**************************************************************************/
unsigned long lu_def_init_sect_len; /* Structure length */
unsigned short num_lu_def; /* Number of LU Definitions Displaye */
unsigned short total_lu_def; /* Total Number of LU Definitions */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LU_DEF_INFO_SECT;
typedef struct lu_def_overlay { /* One for each lu_def Displayed */
/**************************************************************************/
/* The address of the first of these structures should be: lu_def_info_ptr*/
/* + lu_def_info_ptr->lu_def_init_sect_len. To find the next one, add: */
/* lu_def_entry_len */
/**************************************************************************/
unsigned long lu_def_entry_len; /* Size of lu def info */
unsigned char lu_name[8]; /* LU_NAME (EBCDIC type A) */
unsigned char lu_alias[8]; /* LU_ALIAS (ASCII) */
unsigned char lu_nau_addr; /* NAU address 0-254 */
unsigned char reserv3; /* Reserved */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LU_DEF_OVERLAY;
typedef struct plu_def_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: plu_def_info_ptr */
/**************************************************************************/
unsigned long plu_def_init_sect_len; /* Struct length */
unsigned short num_plu_def; /* Number of Partner LU defs Display */
unsigned short total_plu_def; /* Total Number of Partner LU defs */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} PLU_DEF_INFO_SECT;
typedef struct plu_def_overlay { /* One for each plu_def displayed */
/**************************************************************************/
/* The address of the first of these structures should be: */
/* plu_def_info_ptr + plu_def_info_ptr->plu_def_init_sect_len. To find */
/* the next one, add: plu_def_entry_len. */
/**************************************************************************/
unsigned long plu_def_entry_len; /* Size of plu def info */
unsigned char fqplu_name[17]; /* PLU Name (EBCDIC) */
unsigned char reserv3; /* Reserved */
unsigned char plu_alias[8]; /* Partner LU Alias */
unsigned char plu_uninterpreted_name[8];
/* Partner LU Uninterpreted Name */
/* (EBCDIC) */
unsigned short max_mc_ll_ssize; /* Maximum Mapped Conversation */
/* Logical Record Send Size */
/* 0 or 2048 - 32767 */
unsigned char conv_security; /* Conversation Security */
/* AP_NO */
/* AP_YES */
unsigned char parallel_sess; /* Parallel Session Support */
/* AP_NO */
/* AP_YES */
unsigned char alt_alias_flag; /* Alternate PLU aliases flag */
/* 0 = Alternate PLU aliases */
/* appended to end of struct */
unsigned char num_of_alt_aliases; /* Number of alternate PLU aliases */
/* (not including the plu_alias). */
/* 0 or # of alt_alias_overlays */
/************************************************************************/
/* The address of the first alternate partner LU alias is: */
/* plu_def_overlay + sizeof(struct plu_def_overlay). To build the addr */
/* of the next partner LU alias, add: sizeof(struct alt_alias_overlay). */
/* See struct alt_alias_overlay in APPCDEF.H. */
/************************************************************************/
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} PLU_DEF_OVERLAY;
typedef struct mode_def_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: mode_def_info_ptr */
/**************************************************************************/
unsigned long mode_def_init_sect_len; /* Struct length */
unsigned short num_mode_def; /* Number of Mode Definitions Dsplyd */
unsigned short total_mode_def; /* Total Number of Mode Definitions */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} MODE_DEF_INFO_SECT;
typedef struct mode_def_overlay { /* One for each mode_def Displayed */
/**************************************************************************/
/* The address of the first of these structures should be: */
/* mode_def_info_ptr + mode_def_info_ptr->mode_def_init_sect_len. To find*/
/* the next one, add: mode_def_entry_len */
/**************************************************************************/
unsigned long mode_def_entry_len; /* Size of mode def info */
unsigned char cos_name[8]; /* COS Name (EBCDIC) */
unsigned char mode_name[8]; /* Mode Name (EBCDIC) */
unsigned short reserv3; /* reserved */
unsigned short rusize_upper; /* max RU size upper bound */
/* 256-65535 */
unsigned char rcv_window; /* receive pacing window */
/* 0 or 1-63 */
unsigned char default_ru_size; /* default ru size? */
/* AP_NO */
/* AP_YES */
unsigned short max_neg_sess_lim; /* Max limit on sessions */
unsigned short curr_sess_lim; /* Current session limit */
unsigned short min_win_lim; /* Min negotiated winners */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} MODE_DEF_OVERLAY;
typedef struct link_def_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: link_def_info_ptr */
/**************************************************************************/
unsigned long link_def_init_sect_len; /* Structure length */
unsigned short num_link_def; /* Number of Active Links Displayed */
unsigned short total_link_def; /* Total Number of Active Links */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} LINK_DEF_INFO_SECT;
typedef struct link_def_overlay { /* One for each active link Displayed*/
/**************************************************************************/
/* The address of the first of these structures should be: */
/* link_def_info_ptr + link_def_info_ptr->link_def_init_sect_len. To find */
/* the next block of link information, add: link_def_entry_len */
/**************************************************************************/
unsigned long link_def_entry_len; /* Size of link info, */
/* including link specific */
unsigned char link_name[8]; /* Link Name (EBCDIC) */
unsigned char adj_fq_cp_name[17]; /* Adjacent Fully Qualified CP Name */
/* (EBCDIC) */
unsigned char adj_node_type; /* adjacent node type */
/* AP_LEARN */
/* AP_LEN */
/* AP_ADJACENT_NN */
unsigned char dlc_name[8]; /* DLC name (ASCII) */
unsigned char adapter_num; /* DLC adapter number */
unsigned char dest_addr_len; /* Length of adapter addr */
unsigned char dest_addr[32]; /* Destination adapter addr */
unsigned char cp_cp_sess_spt; /* CP CP session support? */
/* AP_NO */
/* AP_YES */
unsigned char preferred_nn_server; /* Is this the Pref. NN Server? */
/* AP_NO */
/* AP_YES */
unsigned char auto_act_link; /* Auto Activate Link? */
/* AP_NO */
/* AP_YES */
unsigned char tg_number; /* Transmission Group Number */
unsigned char lim_res; /* Limited Resource ? */
/* AP_NO */
/* AP_YES */
/* AP_USE_ADAPTER_DEF_CHAR */
unsigned char solicit_sscp_session; /* Solicit SSCP Session? */
/* AP_NO */
/* AP_YES */
unsigned char initself; /* Initself Indicator */
/* AP_NO */
/* AP_YES */
unsigned char bind_support; /* Bind Support? */
/* AP_NO */
/* AP_YES */
unsigned char ls_role; /* link station role */
/* AP_NEGOTIABLE */
/* AP_PRIMARY */
/* AP_SECONDARY */
unsigned char line_type; /* Line Type */
/* AP_SWITCHED */
/* AP_NONSWITCHED */
unsigned long eff_capacity; /* Effective Capacity */
/* 0 | 1200 | 2400 | ... */
/* ... | 16M | ... */
unsigned char conn_cost; /* Cost Per Connect Time */
unsigned char byte_cost; /* Cost Per Byte */
unsigned char propagation_delay; /* AP_PROP_DELAY_MINIMUM */
/* AP_PROP_DELAY_LAN */
/* AP_PROP_DELAY_TELEPHONE */
/* AP_PROP_DELAY_PKT_SWITCHED_NET */
/* AP_PROP_DELAY_SATELLITE */
/* AP_PROP_DELAY_MAXIMUM */
unsigned char user_def_1; /* User Defined 1 */
unsigned char user_def_2; /* User Defined 2 */
unsigned char user_def_3; /* User Defined 3 */
unsigned char security; /* Security */
/* AP_SEC_NONSECURE */
/* AP_SEC_PUBLIC_SWITCHED_NETWORK */
/* AP_SEC_UNDERGROUND_CABLE */
/* AP_SEC_SECURE_CONDUIT */
/* AP_SEC_GUARDED_CONDUIT */
/* AP_SEC_ENCRYPTED */
/* AP_SEC_GUARDED_RADIATION */
unsigned char reserv; /* Reserved */
/************************************************************************/
/* Additional fields of unspecified length are located in this position.*/
/* Use link_entry_len to skip over them. */
/************************************************************************/
} LINK_DEF_OVERLAY;
typedef struct ms_info_sect { /* One of these */
/**************************************************************************/
/* The address of this structure should be: ms_info_ptr */
/**************************************************************************/
unsigned long ms_init_sect_len; /* Structure length */
unsigned char held_mds_mu_alerts; /* Held mds alerts */
/* 1-255 */
unsigned char held_nmvt_alerts; /* Held nmvt alerts */
/* 1-255 */
unsigned short num_fps; /* Number of Focal Points Displayed */
unsigned short total_fps; /* Total Number of Focal Points */
unsigned short num_ms_appls; /* Num. of MS Applications Displayed */
unsigned short total_ms_appls; /* Total Number of MS Applications */
unsigned short num_act_trans; /* # of Active Transactions Displaye */
unsigned short total_act_trans; /* Total Num. of Active Transactions */
/************************************************************************/
/* Additional fields may be added here in future releases */
/************************************************************************/
} MS_INFO_SECT;
typedef struct ms_fp_overlay { /* One each MS Focal Point Displayed */
/**************************************************************************/
/* The address of the first of these structures should be: ms_info_ptr + */
/* ms_info_ptr->ms_init_sect_len. To find the next the next one, add: */
/* ms_fp_entry_len. */
/**************************************************************************/
unsigned long ms_fp_entry_len; /* Size of MS Focal point info */
unsigned char ms_appl_name[8]; /* MS Application name */
/* 4 byte SNA Defined MS Appl Name*/
/* or 1-8 byte (EBCDIC type A) */
unsigned char ms_category[4]; /* MS Category */
/* 0 or 4 byte SNA Defined Category */
unsigned char fp_fq_cp_name[17]; /* Focal Point Fully Qual. CP Name */
/* (EBCDIC type A) */
unsigned char bkup_appl_name[8]; /* Backup MS Application Name */
/* 4 byte SNA Defined MS Appl Name*/
/* or 1-8 byte (EBCDIC type A) */
unsigned char bkup_fp_fq_cp_name[17]; /* Backup Focal Point Name */
/* (EBCDIC type A) */
unsigned char reserv1; /* Reserved */
unsigned char fp_type; /* focal point rank */
/* AP_EXPLICIT_PRIMARY_FP */
/* AP_BACKUP_FP */
/* AP_DEFAULT_PRIMARY_FP */
/* AP_DOMAIN_FP */
/* AP_HOST_FP */
/* AP_NO_FP */
unsigned char fp_status; /* focal point status */
/* AP_NOT_ACTIVE */
/* AP_ACTIVE */
/* AP_PENDING */
/* AP_NEVER_ACTIVE */
unsigned char fp_routing; /* focal point routing */
/* AP_DEFAULT */
/* AP_DIRECT */
/************************************************************************/
/* Additional fields of unspecified length are located in this position.*/
/* Use ms_fp_entry_len to skip over them. */
/************************************************************************/
} MS_FP_OVERLAY;
typedef struct ms_appl_overlay { /* One each MS application Displayed */
/**************************************************************************/
/* The first ms_appl_overlay follows immediately after the last ms_fp */
/* overlay. Hence, the address of the first ms_appl_overlay should be: */
/* the address of the last ms_fp_overlay + ms_fp_entry length. */
/* To find the next ms_appl_overlay, add: ms_appl_entry_length. */
/**************************************************************************/
unsigned long ms_appl_entry_len; /* Size of MS application info */
unsigned char ms_appl_name[8]; /* MS Application name */
/* 4 byte SNA Defined MS Appl Name*/
/* or 1-8 byte (EBCDIC type A) */
unsigned char ms_category[4]; /* MS Category */
/* 0 or 4 byte SNA Defined Category */
unsigned char q_name[81]; /* OS/2 Queue Name (ASCIIZ) */
unsigned char reserv3; /* Reserved */
unsigned char reserv4; /* Reserved */
unsigned char reserv5; /* Reserved */
/************************************************************************/
/* Additional fields of unspecified length are located in this position.*/
/* Use ms_appl_entry_len to skip over them. */
/************************************************************************/
} MS_APPL_OVERLAY;
typedef struct ms_act_trans_overlay { /* One each MS active trans Displayed*/
/**************************************************************************/
/* The first ms_act_trans_overlay follows immediately after the last */
/* ms_appl overlay. Hence, the address of the first ms_act_trans_overlay */
/* should be: */
/* the address of the last ms_appl_overlay + ms_appl_entry length. */
/* To find the next ms_act_trans_overlay, add: ms_act_trans_entry_length.*/
/**************************************************************************/
unsigned long ms_act_trans_entry_len; /* Size of info */
unsigned char fq_origin_cp_name[17];
/* Fully Qualified Origin CP Name */
/* (EBCDIC type A) */
unsigned char origin_ms_appl_name[8]; /* Origin MS Application Name */
/* 4 byte SNA Defined MS Appl Name*/
/* or 1-8 byte (EBCDIC type A) */
unsigned char fq_dest_cp_name[17]; /* Fully Qualified Dest. CP Name */
/* (EBCDIC type A) */
unsigned char dest_ms_appl_name[8]; /* Dest. MS Application Name */
/* 4 byte SNA Defined MS Appl Name*/
/* or 1-8 byte (EBCDIC type A) */
/************************************************************************/
/* the following 3 fields are part of the Unit of Work (UOW) */
/************************************************************************/
unsigned char fq_req_loc_cp_name[17]; /* Requester Location */
/* (EBCDIC type A) */
unsigned char req_agent_appl_name[8]; /* Requester Application Name */
/* 4 byte SNA Defined MS Appl Name*/
/* or 1-8 byte (EBCDIC type A) */
unsigned char seq_num_dt[15]; /* Sequence Number / date - time */
/************************************************************************/
/* Additional fields of unspecified length are located in this position.*/
/* Use ms_act_trans_entry_len to skip over them. */
/************************************************************************/
} MS_ACT_TRANS_OVERLAY;
#ifdef __cplusplus
}
#endif
/*****************************************************************************/
/* Restore to default packing of structures */
/*****************************************************************************/
#ifdef WIN32
#pragma pack()
#endif
#pragma option pop /*P_O_Pop*/
#endif