DEFINE_LU_0_TO_3_RANGE

This verb allows the definition of multiple LUs within a specified NAU range. The node operator provides a base name and an NAU range. The LU names are generated by combining the base name with the NAU addresses. This verb cannot be used to modify existing definitions.

For example, a base name of LUNME combined with an NAU range of 1 to 4 would define the LUs LUNME001, LUNME002, LUNME003, and LUNME004. A base name of less than five non-pad characters results in LU names of less than eight non-pad characters. Personal Communications or Communications Server then right-pads these to eight characters.

VCB Structure

Format 1
typedef struct define_lu_0_to_3_range
{
        unsigned short  opcode;                /* verb operation code        */
        unsigned char   attributes;            /* verb attributes            */
        unsigned char   format;                /* format                     */
        unsigned short  primary_rc;            /* primary return code        */
        unsigned long   secondary_rc;          /* secondary return code      */
        unsigned char   base_name[5];          /* base name                  */
        unsigned char   reserv3;               /* reserved                   */
        unsigned char   description;           /* resource description       */
        unsigned char   min_nau;               /* minimum NAU address        */
        unsigned char   max_nau;               /* maximum NAU address        */
        unsigned char   pool_name[8];          /* LU pool name               */
        unsigned char   pu_name[8];            /* PU name                    */
        unsigned char   priority;              /* LU priority                */
        unsigned char   lu_model;              /* LU model                   */
        unsigned char   sscp_id[6];           /* SSCP ID                    */
        unsigned short  timeout;               /* Timeout                    */
        unsigned char   app_spec_def_data[16]; /* application specified data */
        unsigned char   model_name[7];         /* LU model name for DDDLU    */
        unsigned char   name_attributes;      /* Attributes of base name     */
        unsigned char   base_number;          /* Base number for LU names    */
        unsigned char   reserv3[15];           /* reserved                   */
} DEFINE_LU_0_TO_3_RANGE;

VCB Structure

Format 0
typedef struct define_lu_0_to_3_range
{
        unsigned short  opcode;                /* verb operation code        */
        unsigned char   attributes;            /* verb attributes            */
        unsigned char   format;                /* format                     */
        unsigned short  primary_rc;            /* primary return code        */
        unsigned long   secondary_rc;          /* secondary return code      */
        unsigned char   base_name[5];          /* base name                  */
        unsigned char   reserv3;               /* reserved                   */
        unsigned char   description;           /* resource description       */
        unsigned char   min_nau;               /* minimum NAU address        */
        unsigned char   max_nau;               /* maximum NAU address        */
        unsigned char   pool_name[8];          /* LU pool name               */
        unsigned char   pu_name[8];            /* PU name                    */
        unsigned char   priority;              /* LU priority                */
        unsigned char   lu_model;              /* LU model                   */
        unsigned char   sscp_id[6];           /* SSCP ID                    */
        unsigned short  timeout;               /* Timeout                    */
        unsigned char   app_spec_def_data;     /* application specified data */
} DEFINE_LU_0_TO_3_RANGE;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_DEFINE_LU_0_TO_3_RANGE
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 or one to specify one of the versions of the VCB listed above.
base_name
Base LU name. This is an 5-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. This base name is appended with three type-A EBCDIC numeric characters, representing the decimal value of the NAU address, for each LU in the NAU range.

This is the field with no bits set in the field name_attributes. Setting bits changes the meaning of this field.

description
Resource description (returned on QUERY_LU_0_TO_3). The length of this field should be a multiple of four bytes, and not zero.
min_nau
Minimum NAU address in the range. This can be from 1 to 255 inclusive.
max_nau
Maximum NAU address in the range. This can be from 1 to 255 inclusive.
pool_name
Name of LU pool to which this LU belongs. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. If the LU does not belong to a pool, this field is set to all binary zeros.
pu_name
Name of the PU (as specified on the DEFINE_LS verb) that this LU uses. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
priority
LU priority when sending to the host. This is set to one of the following values:

AP_NETWORK
AP_HIGH
AP_MEDIUM
AP_LOW

lu_model
Model type and number of the LU. This is set to one of the following values:

AP_3270_DISPLAY_MODEL_2
AP_3270_DISPLAY_MODEL_3
AP_3270_DISPLAY_MODEL_4
AP_3270_DISPLAY_MODEL_5
AP_RJE_WKSTN
AP_PRINTER
AP_SCS_PRINTER
AP_UNKNOWN

Format 1 only, if model_name is not set to all binary zeros, then this field is ignored.

If a value other than AP_UNKNOWN is specified and the host system supports DDDLU (Dynamic Definition of Dependent LUs), the node will generate an unsolicited PSID NMVT reply in order to dynamically define the local LU at the host. For format 1 only, the PSID subvector contains the machine type and model number corresponding to the value of this field. This field may be changed dynamically by reissuing the verb. Changes will not come into effect until the LU is next closed and deactivated.

sscp_id
This field specifies the ID of the SSCP permitted to activate this LU. It is a 6-byte binary field. If the field is set to binary zeros, then the LU may be activated by any SSCP.
timeout
Timeout for LU specified in seconds. If a timeout is supplied and the user of the LU specified allow_timeout on the OPEN_LU_SSCP_SEC_RQ (or, in the case of PU concentration, on the Downstream LU definition), then the LU will be deactivated after the PLU-SLU session is left inactive for this period and one of the following conditions holds:
  • The session passes over a limited resource link
  • Another application wishes to use the LU before the session is used again

If the timeout is set to zero, the LU will not be deactivated.

model_name
Personal Communications or Communications Server checks that this field consists of the EBCDIC characters A–Z, 0–9 and @, #, and $. If this field is not set to all binary zeros and the host system supports SDDLU (Self-Defining Dependent LU), the node will generate an unsolicited PSID NMVT reply in order to dynamically define the local LU at the host. The PSID subvector will contain the name supplied in this field.
name_attributes
This bit field modifies the interpretation and usage of the supplied base_name. This field may take the value of zero, or any or all of the following values bit-wise ORed together.
AP_USE_HEX_IN_NAME
If this bit is set, the interpretation of the base_name is modified as follows:

This is an 6-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. The base name is appended with two EBCDIC characters, representing the hexadecimal value of the NAU address, for each LU in the NAU range.

AP_USE_BASE_NUMBER
If this bit is set, the interpretation base_name is modified as follows:

This is an 5-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. This base name is appended with three EBCDIC numeric characters, representing the decimal index of the LU in the range, starting with base_number and ending with (base_name + max_nau — min_nau).

base_number
If the AP_USE_BASE_NUMBER bit is not set in name_attributes, this field is ignored. Otherwise, this field modifies the interpretation of base_name described previously. Legal values are from zero to (255 – max_nau + min_nau).
app_spec_def_data
Application specified defined data. This field is not interpreted by Personal Communications or Communications Server, but is stored and subsequently returned on the QUERY_LU_0_TO_3 verb (the same data is returned for each LU in the range).

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_INVALID_BASE_NUMBER

AP_INVALID_LU_MODEL
AP_INVALID_LU_NAME
AP_INVALID_NAME_ATTRIBUTES
AP_INVALID_NAU_ADDRESS
AP_INVALID_PRIORITY

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_PU_NOT_DEFINED

AP_INVALID_PU_NAME
AP_INVALID_PU_TYPE
AP_LU_NAME_POOL_NAME_CLASH
AP_LU_ALREADY_DEFINED
AP_LU_NAU_ADDR_ALREADY_DEFD
AP_IMPLICIT_LU_DEFINED
AP_CANT_MODIFY_VISIBILITY

If the verb does not execute because the system has not been built with dependent LU support, the Program returns the following parameter:
primary_rc
AP_INVALID_VERB
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