DEFINE_LS

DEFINE_LS is used to define a new link station (LS) or modify an existing one. This verb provides the LS name, which is unique throughout the node, and the name of the port this LS should use. This port must already have been defined using a DEFINE_PORT verb. Link-specific data is concatenated to the basic structure. DEFINE_LS can only be used to modify one or more fields of an existing link station if the link station is in a reset state (after a STOP_LS has been issued), and the port_name specified on the DEFINE_LS has not changed since the previous definition of the LS.

See DLC Processes, Ports, and Link Stations for more information about the relationship between DLCs, ports, and link stations.

The setting of a large number of the fields in LS_DEF_DATA depends on the value of the adj_cp_type field. There are eight values that adj_cp_type can take (which are described further in def_data.adj_cp_type), four of which are used for links to adjacent Type 2.1 (APPN) nodes:
  • AP_NETWORK_NODE
  • AP_END_NODE
  • AP_APPN_NODE
  • AP_BACK_LEVEL_LEN_NODE
and four of which are used for links carrying PU Type 2.0 traffic only:
  • AP_HOST_XID3
  • AP_HOST_XID0
  • AP_DSPU_XID
  • AP_DSPU_NOXID.
There are four types of APPN nodes, which are distinguished as follows
  • An APPN network node includes the Network Name Control Vector (CV) in its XID3, supports parallel TGs, sets the networking capabilities bit in its XID3, and can support CP-CP sessions on a link.
  • An APPN end node includes the Network Name CV in its XID3, supports parallel TGs, does not set the networking capabilities bit in its XID3, and can support CP-CP sessions on a link.
  • An up-level node includes the Network Name CV in its XID3, can support parallel TGs, does not set the networking capabilities bit in its XID3, and does not support CP-CP sessions.
  • A back-level node does not include the Network Name CV in its XID3, does not support parallel TGs, does not set the networking capabilities bit in its XID3, and does not support CP-CP sessions.

The following fields must be set for all links:
  • port_name
  • adj_cp_type
  • dest_address
  • auto_act_supp
  • disable_remote_act
  • limited_resource
  • link_deact_timer
  • ls_attributes
  • adj_node_id
  • local_node_id
  • target_pacing_count
  • max_send_btu_size
  • link_spec_data_len
  • ls_role
Other fields must be set as follows:
  • If adj_cp_type is set to AP_NETWORK_NODE, AP_END_NODE, or AP_APPN_NODE the following fields must be set:
    • adj_cp_name
    • tg_number
    • solicit_sscp_sessions
    • dspu_services
    • hpr_supported
    • hpr_link_lvl_error
    • default_nn_server
    • cp_cp_sess_support
    • use_default_tg_chars
    • tg_chars
  • If adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE the following fields must be set:
    • adj_cp_name
    • solicit_sscp_sessions
    • dspu_services
    • use_default_tg_chars
    • tg_chars
  • If a local PU is to use the link (adj_cp_type is set to AP_HOST_XID3 or AP_HOST_XID0, or solicit_sscp_sessions is set to AP_YES on a link to an APPN node) the following field must be set:
    • pu_name
  • If a downstream PU is to use the link and will be served by PU Concentration (dspu_services is set to AP_PU_CONCENTRATION) the following field must be set:
    • dspu_name
  • If a downstream PU is to use the link and will be served by DLUR (dspu_services is set to AP_DLUR) the following fields must be set:
    • dspu_name
    • dlus_name
    • bkup_dlus_name

VCB Structure

typedef struct define_ls
{
        unsigned short  opcode;             /* verb operation code            */
        unsigned char   attributes;         /* verb attributes                */
        unsigned char   reserv2;            /* reserved                       */
        unsigned char   format;             /* current format is zero         */
        unsigned short  primary_rc;         /* primary return code            */
        unsigned long   secondary_rc;       /* secondary return code          */
        unsigned char   ls_name[8];         /* name of link station           */
        LS_DEF_DATA     def_data;           /* LS defined data                */
} DEFINE_LS;
typedef struct ls_def_data
{
        unsigned char   description[RD_LEN];
                                            /* resource description           */
        unsigned char   port_name[8];       /* name of associated port        */
        unsigned char   adj_cp_name[17];    /* adjacent CP name               */
        unsigned char   adj_cp_type;        /* adjacent node type             */
        LINK_ADDRESS    dest_address;       /* destination address            */
        unsigned char   auto_act_supp;      /* auto-activate supported        */
        unsigned char   tg_number;          /* Pre-assigned TG number         */
        unsigned char   limited_resource;   /* limited resource               */
        unsigned char   solicit_sscp_sessions;
                                            /* solicit SSCP sessions          */
        unsigned char   pu_name[8];         /* Local PU name (reserved if     */
                                            /* solicit_sscp_sessions is set   */
                                            /* to AP_NO)                      */
        unsigned char   disable_remote_act; /* disable remote activation flag */
        unsigned char   dspu_services;      /* Services provided for          */
                                            /* downstream PU                  */
        unsigned char   dspu_name[8];       /* Downstream PU name (reserved   */
                                            /* if dspu_services is set to     */
                                            /* AP_NONE or AP_DLUR)            */
        unsigned char   dlus_name[17];      /* DLUS name if dspu_services     */
                                            /* set to AP_DLUR                 */
        unsigned char   bkup_dlus_name[17]; /* Backup DLUS name if            */
                                            /* dspu_services set to AP_DLUR   */
        unsigned char   hpr_supported;      /* does the link support HPR?     */
        unsigned char   hpr_link_lvl_error; /* does link use link-level       */
                                            /* error recovery for HPR frms?   */
        unsigned short  link_deact_timer;   /* HPR link deactivation timer    */
        unsigned char   reserv1;            /* reserved                       */
        unsigned char   default_nn_server;  /* Use as deflt LS to NN server   */
        unsigned char   ls_attributes[4];   /* LS attributes                  */
        unsigned char   adj_node_id[4];     /* adjacent node ID               */
        unsigned char   local_node_id[4];   /* local node ID                  */
        unsigned char   cp_cp_sess_support; /* CP-CP session support          */
        unsigned char   use_default_tg_chars;
                                            /* Use the default tg_chars       */
        TG_DEFINED_CHARS tg_chars;          /* TG characteristics             */
        unsigned short  target_pacing_count;/* target pacing count            */
        unsigned short  max_send_btu_size;  /* max send BTU size              */
        unsigned char   ls_role;            /* link station role to use       */
                                            /*  on this link                  */
        unsigned char   max_ifrm_rcvd;      /* max number of I-frames rcvd    */
        unsigned short  dlus_retry_timeout; /* DLUS retry timeout             */
        unsigned short  dlus_retry_limit;   /* DLUS retry limit               */
        unsigned char   conventional_lu_compression;
                                            /* Data compression requested for */
                                            /* conventional LU sessions       */
        unsigned char   conventional_lu_cryptography;
                                            /* Cryptography required for      */
                                            /* conventional LU sessions       */
        unsigned char   reserv3;            /* reserved                       */
        unsigned char   retry_flags;        /* conditions LU sessions         */
        unsigned short  max_activation_attempts;
                                            /* how many automatic retries:    */
        unsigned short  activation_delay_timer;
                                            /* delay between automatic retries*/
        unsigned char   branch_link_type;   /* branch link type               */
        unsigned char   adj_brn_cp_support; /* adjacent BrNN CP support       */
        unsigned char   reserv4[20];        /* reserved                       */
        unsigned short  link_spec_data_len; /* length of link specific data   */
} LS_DEF_DATA;
typedef struct tg_defined_chars
{
        unsigned char   effect_cap;         /* effective capacity             */
        unsigned char   reserve1[5];        /* reserved                       */
        unsigned char   connect_cost;       /* connection cost                */
        unsigned char   byte_cost;          /* byte cost                      */
        unsigned char   reserve2;           /* reserved                       */
        unsigned char   security;           /* security                       */
        unsigned char   prop_delay;         /* propagation delay              */
        unsigned char   modem_class;        /* modem class                    */
        unsigned char   user_def_parm_1;    /* user-defined parameter 1       */
        unsigned char   user_def_parm_2;    /* user-defined parameter 2       */
        unsigned char   user_def_parm_3;    /* user-defined parameter 3       */
} TG_DEFINED_CHARS;
typedef struct link_address
{
        unsigned short  length;             /* length                         */
        unsigned short reserve1;            /* reserved                       */
        unsigned char   address[MAX_LINK_ADDR_LEN];
                                            /* address                        */
} LINK_ADDRESS;
typedef struct link_spec_data
{
       unsigned char  link_data[SIZEOF_LINK_SPEC_DATA];

}  LINK_SPEC_DATA;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_DEFINE_LS
attributes
The attributes of the verb. This field is a bit field. The first bit contains the visibility of the resource to be defined and corresponds to one of the following:

AP_EXTERNALLY_VISIBLE
AP_INTERNALLY_VISIBLE

format
Identifies the format of the VCB. Set this field to zero to specify the version of the VCB listed above.
ls_name
Name of link station. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set.

Setting the field ls_name to the special value “$ANYNET$” (an ASCII string) has the effect of informing the Node Operator Facility that this is the link station to which independent LU session traffic that is to be routed by the AnyNet® DLC should be sent. A link station of this name must be defined on a port over the AnyNet DLC if AnyNet routing is required.

def_data.description
Resource description (returned on QUERY_LS, QUERY_PU ). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.
def_data.port_name
Name of port associated with this link station. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set. This named port must have already been defined by a DEFINE_PORT verb.
def_data.adj_cp_name
Fully qualified 17-byte adjacent control point name, which is right-padded with EBCDIC spaces. It is composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot. (Each name can have a maximum length of 8 bytes with no embedded spaces.) This field is only relevant for links to APPN nodes and is otherwise ignored. For links to APPN nodes it can be set to all zeros unless the field tg_number is set to a number in the range one to 20 or the field adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE. If it is set to all zeros, it is not checked against the name received from the adjacent node during XID exchange.If it is not set to all zeros, it is checked against the name received from the adjacent node during XID exchange unless adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE (in which case it is used to identify the adjacent node).
def_data.adj_cp_type
Adjacent node type.
AP_NETWORK_NODE
Specifies that the node is an APPN network node.
AP_END_NODE
Specifies that the node is an APPN end node or an up-level node.
AP_APPN_NODE
Specifies that the node is an APPN network node, an APPN end node, or an up-level node. The node type will be learned during XID exchange.
AP_BACK_LEVEL_LEN_NODE
Specifies that the node is a back_level_len node; that is, it does not send the control point name in the XID. For a link using the AnyNet DLC supporting independent LU sessions, you must specify AP_BACK_LEVEL_LEN_NODE.
AP_HOST_XID3
Specifies that the node is a host and that Personal Communications or Communications Server responds to a polling XID from the node with a format 3 XID.
AP_HOST_XID0
Specifies that the node is a host and that Personal Communications or Communications Server responds to a polling XID from the node with a format 0 XID. For a link using the AnyNet DLC supporting dependent LU sessions, you must specify AP_HOST_XID0.
AP_DSPU_XID
Specifies that the node is a downstream PU and that Personal Communications or Communications Server includes XID exchange in link activation.
AP_DSPU_NOXID
Specifies that the node is a downstream PU and that Personal Communications or Communications Server does not include XID exchange in link activation.
Note: A link station to a VRN is always dynamic and is therefore not defined.
def_data.dest_address.length
Length of destination link station's address on adjacent node.

If def_data.dest_address.length is set to zero and this LS is associated with a port of type SATF, then the Program considers this link station to be a wild card link station. This will cause the Program to match LS to any incoming connection that is not matched by another defined link station.

def_data.dest_address.address
Link station's destination address on adjacent node. For a link using the AnyNet DLC, the <b>dest_address</b> specifies the adjacent node ID or adjacent control point name. If an adjacent node ID is specified, the length must be 4 and the address must contain the 4-byte hexadecimal node ID (1-byte block ID, 3-byte PU ID). If an adjacent control point name is specified, the length must be 17 and the address must contain the control point name in EBCDIC, padded with EBCDIC blanks.
def_data.auto_act_supp
Specifies whether the link can be activated automatically when required by a session. (AP_YES or AP_NO). If the link is not to an APPN node then this field can always be set to AP_YES and has no requirements on other parameters. If the link is to an APPN node, then this field cannot be set to AP_YES if the link also supports CP-CP sessions; and can only be set to AP_YES if a preassigned TG number is also defined for the link tg_number and is set to a value between one and 20). These requirements will always be met if adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE because cp_cp_sess_support and tg_number are ignored in this case).
def_data.tg_number
Preassigned TG number. This field is only relevant if the link is to an adjacent APPN node and is otherwise ignored. If adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE then it is also ignored and is assumed to be set to one. For links to adjacent APPN nodes this must be set in the range one to 20. This number is used to represent the link when the link is activated. Personal Communications or Communications Server will not accept any other number from the adjacent node during activation of this link. To avoid link-activation failure because of a mismatch of preassigned TG numbers, the same TG number must be defined by the adjacent node on the adjacent link station (if using preassigned TG numbers). If a preassigned TG number is defined then the adj_cp_name must also be defined (and cannot be set to all zeros) and the adj_cp_type must be set to AP_NETWORK_NODE or AP_END_NODE. If zero is entered the TG number is not preassigned and is negotiated when the link is activated.
def_data.limited_resource
Specifies whether this link station is to be deactivated when there are no sessions using the link. This is set to one of the following values:
AP_NO
The link is not a limited resource and will not be deactivated automatically.
AP_YES or AP_NO_SESSIONS
The link is a limited resource and will be deactivated automatically when no active sessions are using it. A limited resource link station can be configured for CP-CP session support. (This is done by setting this field to AP_YES and cp_cp_sess_support to AP_YES.) In this case, if CP-CP sessions are brought up over the link, Personal Communications or Communications Server will not treat the link as a limited resource (and will not bring the link down).
AP_INACTIVITY
The link is a limited resource and will be deactivated automatically when no active sessions are using it, or when no data has flowed on the link for the time period specified by the link_deact_timer field. Note that link stations on a nonswitched port cannot be configured as limited resource.

Note that link stations on a nonswitched port cannot be configured as limited resource.

A limited resource link station may be configured for CP-CP session support. (This is done by setting this field to AP_YES and cp_cp_sess_support to AP_YES.) In this case, if CP-CP sessions are brought up over the link, Personal Communications or Communications Server will not retreat the link as a limited resource (and will not bring the link down). Note, this does not apply if this field is set to AP_INACTIVITY.

def_data.solicit_sscp_sessions
AP_YES requests the adjacent node to initiate sessions between the SSCP and the local control point and dependent LUs. (In this case the pu_name must be set.) AP_NO requests no sessions with the SSCP on this link. This field is only relevant if the link is to an APPN node and is otherwise ignored. If the adjacent node is defined to be a host (adj_cp_type is set to AP_HOST_XID3 or AP_HOST_XID0), then Personal Communications or Communications Server always requests the host to initiate sessions between the SSCP and the local control point and dependent LUs (and again the pu_name must be set).

This field can only be set to AP_YES on a link to an adjacent APPN node if dspu_services is set to AP_NONE. If this field is set to AP_YES and the DCL used by this LS is defined as hpr_only, then the DEFINE_LS is rejected with a parameter check and secondary return code of AP_INVALID_SOLICIT_SSCP_SESS.

def_data.pu_name
Name of local PU that will use this link if the adjacent node is defined to be a host or solicit_sscp_sessions is set to AP_YES on a link to an APPN node. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. If the adjacent node is not defined to be a host, and is not defined as an APPN node with solicit_sscp_sessions set to AP_YES, this field is ignored.
def_data.disable_remote_act
Specifies whether remote activation of this link is supported (AP_YES or AP_NO).
def_data.dspu_services
Specifies the services that the local node provides to the downstream PU across this link. This is set to one of the following:
AP_PU_CONCENTRATION
Local node will provide PU concentration for the downstream PU.
AP_DLUR
Local node will provide DLUR services for the downstream PU. This setting is only valid if the local node is a Network Node.
AP_NONE
Local node will provide no services for this downstream PU.

The dspu_name must also be set if this field is set to AP_PU_CONCENTRATION or AP_DLUR.

This field must be set to AP_PU_CONCENTRATION or AP_DLUR if the adjacent node is defined as a downstream PU (that is, adj_cp_type is set to AP_DSPU_XID or AP_DSPU_NOXID). It can be set to AP_PU_CONCENTRATION or AP_DLUR on a link to an APPN node if solicit_sscp_sessions is set to AP_NO. This field is ignored if the adjacent node is defined as a host.

If this field is not set to AP_NONE and the DLC used by this LS is defined as hpr_only, then the DEFINE_LS is rejected with a parameter check and secondary return code of SP_INVALID_DSPU_SERVICES.

def_data.dspu_name
Name of the downstream PU. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

This field must be set if dspu_services is set to AP_PU_CONCENTRATION or AP_DLUR and is otherwise ignored.

def_data.dlus_name
Name of DLUS node which DLUR solicits SSCP services from when the link to the downstream node is activated. This should be set to all zeros or a 17-byte string composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot, which is right-padded with EBCDIC spaces. (Each name can have a maximum length of 8 bytes with no embedded spaces.) If the field is set to all zeros, then the global default DLUS (if it has been defined using the DEFINE_DLUR_DEFAULTS verb) is solicited when the link is activated. If the dlus_name is set to zeros and there is no global default DLUS, then DLUR will not initiate SSCP contact when the link is activated. This field is ignored if dspu_services is not set to AP_DLUR.
def_data.bkup_dlus_name
Name of DLUS node which serves as the backup for the downstream PU. This should be set to all zeros or a 17-byte string composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot, which is right-padded with EBCDIC spaces. (Each name can have a maximum length of 8 bytes with no embedded spaces.) If the field is set to all zeros, then the global backup default DLUS (if it has been defined by the DEFINE_DLUR_DEFAULTS verb) is used as the backup for this PU. This field is ignored if dspu_services is not set to AP_DLUR.
def_data.hpr_supported
Specifies whether HPR is supported on this link (AP_YES or AP_NO). This field is only relevant if the link is to an APPN node and is otherwise ignored. If it is not, setting this field to AP_YES results in the verb being rejected with a parameter check and a secondary return code of INVALID_NODE_TYPE_FOR_HPR.
def_data.hpr_link_lvl_error
Specifies whether HPR traffic should be sent on this link using link-level error recovery (AP_YES or AP_NO). This parameter is ignored if hpr_supported is set to AP_NO.
def_data.link_deact_timer
Limited resource link deactivation timer (in seconds).

If limited_resource is set to AP_INACTIVITY, then a link is automatically deactivated if no data traverses the link for the duration of this timer.

If zero is specified, the default value of 30 is used. Otherwise, the minimum value is 5. (If it is set any lower, the specified value will be ignored and 5 will be used.) This parameter is reserved if limited_resource is set to AP_NO.

def_data.default_nn_server
Specifies whether a link can be automatically activated by an end node to support CP-CP sessions to a network node server. (AP_YES or AP_NO). Note that the link must be defined to support CP-CP sessions for this field to take effect.
def_data.ls_attributes
Specifies further information about the adjacent node.
def_data.ls_attributes[0]
Host type.
AP_SNA
Standard SNA host.
AP_FNA
FNA (VTAM-F) host.
AP_HNA
HNA host.
def_data.ls_attributes[1]
This is a bit field. It may take the value AP_NO, or any of the following values bit-wise ORed together.
AP_SUPPRESS_CP_NAME
Network Name CV suppression option for a link to a back-level LEN node. If this bit is set, no Network Name CV is included in XID exchanges with the adjacent node. (This bit is ignored unless adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE or AP_HOST_XID3.)
AP_REACTIVATE_ON_FAILURE
If the link is active and then fails, Personal Communications or Communications Server will attempt to reactivate the link. If the reactivation attempt fails, the link will remain inactive.
AP_USE_PU_NAME_IN_XID_CVS
If the adjacent node is defined to be a host or solicit_sscp_sessions is set to AP_YES on a link to an APPN node, and the AP_SUPPRESS_CP_NAME bit is not set, then the fully qualified CP name in Network Name CVs sent on Format 3 XIDs is replaced by the name supplied in def_data.pu_name, fully qualified with the network ID of the CP.
def_data.adj_node_id
Node ID of adjacent node. This a 4-byte hexadecimal string. If adj_cp_type indicates the adjacent node is a T2.1 node, this field is ignored unless it is nonzero, and either the adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE or the adjacent node does not send a Network Name CV in its XID3. If adj_cp_type is set to AP_HOST_XID3 or AP_HOST_XID0, this field is always ignored. If adj_cp_type is set to AP_DSPU_XID and this field is nonzero, it is used to check the identity of the downstream PU. If adj_cp_type is set to AP_DSPU_NOXID, this field is either ignored (if dspu_services is AP_PU_CONCENTRATION) or used to identify the downstream PU to DLUS (if dspu_services is AP_DLUR).
def_data.local_node_id
Node ID sent in XIDs on this link station. This a 4-byte hexadecimal string. If this field is set to zero, the node_id will be used in XID exchanges. If this field is nonzero, it replaces the value for XID exchanges on this LS.
def_data.cp_cp_sess_support
Specifies whether CP-CP sessions are supported (AP_YES or AP_NO). This field is only relevant if the link is to an APPN node and is otherwise ignored. If adj_cp_type is set to AP_BACK_LEVEL_LEN_NODE then it is also ignored and is assumed to be set to AP_NO.
def_data.use_default_tg_chars
Specifies whether the default TG characteristics supplied on the DEFINE_PORT verb should be used (AP_YES or AP_NO). If this is set to AP_YES then the tg_chars field will be ignored. This field is only relevant if the link is to an APPN node and is otherwise ignored.
def_data.tg_chars
TG characteristics (See DEFINE_CN). This field is only relevant if the link is to an APPN node and is otherwise ignored.
def_data.target_pacing_count
Numeric value between 1 and 32␠767, inclusive, indicating the desired pacing window size for BINDs on this TG. The number is only significant when fixed bind pacing is being performed. Personal Communications or Communications Server does not currently use this value.
def_data.max_send_btu_size
Maximum BTU size that can be sent from this link station. This value is used to negotiate the maximum BTU size than can be transmitted between a link station pair. If the link is not HPR-capable then this must be set to a value greater than or equal to 99. If the link is HPR-capable then this must be set to a value greater than or equal to 768.
def_data.ls_role
The link station role that this link station should assume. This can be any one of AP_LS_NEG, AP_LS_PRI or AP_LS_SEC to select a role of negotiable, primary or secondary. The field can also be set to AP_USE_PORT_DEFAULTS to select the value configured on the DEFINE_PORT verb. If dlc_type is AP_ANYNET (and ls_name is "$ANYNET$"), then AP_LS_PRI is not supported.
def_data.max_ifrm_rcvd
The maximum number of I-frames that can be received by the XID sender before acknowledgment.

Range: 0–127

If zero is specified, the value of max_ifrm_rcvd from

DEFINE_PORT is used as the default.
def_data.dlus_retry_timeout
Interval in seconds between second and subsequent attempts to contact the DLUS specified in the def_data.dlus_name and def_data.bkup_dlus_name fields. The interval between the initial attempt and the first retry is always one second. If zero is specified, the default value configured through DEFINE_DLUR_DEFAULTS is used. This field is ignored if def_data.dspu_services is not set to AP_DLUR.
def_data.dlus_retry_limit
Maximum number of retries after an initial failure to contact the DLUS specified in the def_data.dlus_name and def_data.bkup_dlus_name fields. If zero is specified, the default value configured through DEFINE_DLUR_DEFAULTS is used. If X'FFFF' is specified, APPN retries indefinitely. This field is ignored if def_data.dspu_services is not set to AP_DLUR.
def_data.conventional_lu_compression
Specifies whether data compression is requested for conventional LU sessions dependent on this PU. Note that this field is only valid for links carrying LU 0 to 3 traffic.
AP_NO
The local node should not be compressing or decompressing data flowing on conventional LU sessions using this PU.
AP_YES
Data compression should be enabled for conventional LU sessions dependent on this PU if the host requests compression. If this value is set, but the node does not support compression (defined on the START_NODE verb) then the link station is successfully defined but without compression support.
def_data.conventional_lu_cryptography
Specifies whether session level encryption is required for conventional LU sessions. This field only applies to links carrying conventional LU traffic.
AP_NONE
Session level encryption is not performed by the Program.
AP_MANDATORY
Mandatory session level encryption is performed by the Program if an import key is available to the LU. Otherwise, it must be performed by the application that uses the LU (if this is PU Concentration, then it is performed by a downstream LU).
AP_OPTIONAL
This value allows the cryptography used to be driven by the host application on a per session basis. If the host requests cryptography for a session on this LS, then the behavior of the Program is the same as AP_MANDATORY. If the host does not request cryptography, then the behaviour is as for AP_NONE.
def_data.retry_flags
This field specifies the conditions under which activation of this link station is subject to automatic retry. It is a bit field, and may take any of the following values bit-wise ORed together.
AP_RETRY_ON_START
Link activation will be retried if no response is received from the remote node when activation is attempted. If the underlying port is inactive when activation is attempted, the Program will attempt to activate it.
AP_RETRY_ON_FAILURE
Link activation will be retried if the link fails while active or pending active. If the underlying port has failed when activation is attempted, the Program attempts to activate it.
AP_RETRY_ON_DISCONNECT
Link activation will be retried if the link is stopped normally by the remote node.
AP_DELAY_APPLICATION_RETRIES
Link activation retries, initiated by applications (using START_LS or on-demand link activation) will be paced using the activation_delay_timer.
AP_INHERIT_RETRY
In addition to the retry conditions specified by flags in this field, those specified in the retry_flags field of the underlying port definition will also be used.
def_data.max_activation_attempts
This field has no effect unless at least one flag is set in retry_flags.

This field specifies the number of retry attempts the Program allows when the remote node is not responding, or the underlying port is inactive. This includes both automatic retries and application-driven activation attempts.

If this limit is ever reached, no further attempts are made to automatically retry. This condition is reset by STOP_LS, STOP_PORT, STOP_DLC or a successful activation. START_LS or OPEN_LU_SSCP_SEC_RQ results in a single activation attempt, with no retry if activation fails.

Zero means no limit. The value AP_USE_DEFAULTS results in the use of max_activiation_attempts supplied on DEFINE_PORT.

def_data.activation_delay_timer
This field has no effect unless at least one flag is set in retry_flags.

This field specifies the number of seconds that the Program waits between automatic retry attempts, and between application-driven activation attempts if the AP_DELAY_APPLICATION_RETRIES bit is set in def_data.retry_flags.

The value AP_USE_DEFAULTS results in the use of activiation_delay_timer supplied on DEFINE_PORT.

If zero is specified, the Program uses a default timer duration of thirty seconds.

def_data.branch_link_type
BrNN only. This specifies whether a link is an uplink or a downlink. This field only applies if the def_data.adj_cp_type is set to AP_NETWORK_NODE, AP_END_NODE, AP_APPN_NODE, or AP_BACK_LEVEL_LEN_NODE.
AP_UPLINK
This link is an uplink.
AP_DOWNLINK
The link is a downlink.

If the field adj_cp_type is set to AP_NETWORK_NODE, then this field must be set to AP_UPLINK.

Other node types: This field is ignored.

def_data.adj_brnn_cp_support
BrNN only. This specifies whether the adjacent CP is allowable, is a requirement, or prohibited from being an NN(BrNN); for example, a BrNN showing an NN face. This field only applies if the field adj_cp_type is set to AP_NETWORK_NODE or AP_APPN_NODE (and the node type learned during XID exchange is network node).
AP_BRNN_ALLOWED
The adjacent CP is allowed (but not required) to be an NN(BrNN).
AP_BRNN_REQUIRED
The adjacent CP is required to be an NN(BrNN).
AP_BRNN_PROHIBITED
The adjacent CP is not allowed to be an NN(BrNN).

If the field adj_cp_type is set to AP_NETWORK_NODE and the field auto_act_supp is set to AP_YES, then this field must be set to AP_BRNN_REQUIRED or AP_BRNN_PROHIBITED.

Other node types: This field is ignored.

def_data.link_spec_data_len
This field should always be set to zero.

Returned Parameters

If the verb executes successfully, the Program returns the following parameter:
primary_rc
AP_OK
If the verb does not execute because of a parameter error, the Program returns the following parameters:
primary_rc
AP_PARAMETER_CHECK
secondary_rc
AP_DEF_LINK_INVALID_SECURITY

AP_INVALID_CP_NAME
AP_INVALID_LIMITED_RESOURCE
AP_INVALID_LINK_NAME
AP_INVALID_LS_ROLE
AP_INVALID_NODE_TYPE
AP_INVALID_PORT_NAME
AP_INVALID_AUTO_ACT_SUPP
AP_INVALID_PU_NAME
AP_INVALID_SOLICIT_SSCP_SESS
AP_INVALID_DLUS_NAME
AP_INVALID_BKUP_DLUS_NAME
AP_INVALID_NODE_TYPE_FOR_HPR
AP_INVALID_TARGET_PACING_COUNT
AP_INVALID_BTU_SIZE
AP_HPR_NOT_SUPPORTED
AP_INVALID_TG_NUMBER
AP_MISSING_CP_NAME
AP_MISSING_CP_TYPE
AP_MISSING_TG_NUMBER
AP_PARALLEL_TGS_NOT_SUPPORTED
AP_INVALID_DLUS_RETRY_TIMEOUT
AP_INVALID_DLUS_RETRY_LIMIT
AP_INVALID_CLU_CRYPTOGRAPHY
AP_INVALID_RETRY_FLAGS
AP_BRNN_SUPPORT_MISSING
AP_INVALID_BRANCH_LINK_TYPE
AP_INVALID_BRNN_SUPPORT

If the verb does not execute because of a state error, the Program returns the following parameters:
primary_rc
AP_STATE_CHECK
secondary_rc
AP_LOCAL_CP_NAME

AP_DEPENDENT_LU_SUPPORTED
AP_DUPLICATE_DEST_ADDR
AP_INVALID_NUM_LS_SPECIFIED
AP_LS_ACTIVE
AP_PU_ALREADY_DEFINED
AP_DSPU_SERVICES_NOT_SUPPORTED
AP_DUPLICATE_TG_NUMBER
AP_TG_NUMBER_IN_USE
AP_CANT_MODIFY_VISIBILITY
AP_INVALID_UPLINK
AP_INVALID_DPWNLINK

If the verb does not execute because the node has not yet been started, the Program returns the following parameter:
primary_rc
AP_NODE_NOT_STARTED
If the verb does not execute because the node is stopping, the Program returns the following parameter:
primary_rc
AP_NODE_STOPPING
If the verb does not execute because of a system error, the Program returns the following parameter:
primary_rc
AP_UNEXPECTED_SYSTEM_ERROR