DEFINE_LU_0_TO_3
This verb defines an LU of type 0, 1, 2 or 3. It allows the LU to be added to an LU pool. If the pool does not already exist, it is added. This verb cannot be used to modify the lu_model, model_name, priority, description, and appc_spec_def_data of an existing definition, but no other fields may be modified.
Personal Communications or Communications Server supports implicit LU type 0, 1, 2 or 3 definition by ACTLU. Implicit definitions cannot be deleted, but are removed when the LU becomes inactive. To obtain information about implicit definitions, use QUERY_LU_0_TO_3 or register for LU_0_TO_3_INDICATIONs. An implicit LU definition can be redefined using DEFINE_LU_0_TO_3, provided lu_name, pu_name, and nau_address are correct, and pool_name is all zeros (the LU is then treated as if it had been configured by the operator in the first place).
VCB Structure
typedef struct define_lu_0_to_3
{
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 lu_name[8]; /* LU name */
LU_0_TO_3_DEF_DATA
def_data; /* defined data */
} DEFINE_LU_0_TO_3;
typedef struct lu_0_to_3_def_data
{
unsigned char description /* resource description */
unsigned char nau_address; /* LU 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 reserv3[17]; /* reserved */
} LU_0_TO_3_DEF_DATA;
VCB Structure
typedef struct define_lu_0_to_3
{
unsigned short opcode; /* verb operation code */
unsigned char attributes; /* attributes */
unsigned char format; /* format */
unsigned short primary_rc; /* primary return code */
unsigned long secondary_rc; /* secondary return code */
unsigned char lu_name[8]; /* LU name */
LU_0_TO_3_DEF_DATA
def_data; /* defined data */
} DEFINE_LU_0_TO_3;
typedef struct lu_0_to_3_def_data
{
unsigned char description /* resource description */
unsigned char nau_address; /* LU 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 */
} LU_0_TO_3_DEF_DATA;
Supplied Parameters
- opcode
- AP_DEFINE_LU_0_TO_3
- 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.
- lu_name
- Name of the local LU that is being defined. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
- def_data.description
- Resource description (returned on QUERY_LU_0_TO_3). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.
- def_data.nau_address
- Network addressable unit address of the LU, which must be in the range 1–255.
- def_data.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. If the pool does not currently exist, it is created.
- def_data.pu_name
- Name of the PU (as specified on the DEFINE_LS verb) that this LU will use. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
- def_data.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 - def_data.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_UNKNOWNFormat 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.
- def_data.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.
- def_data.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.
- def_data.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.
- def_data.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 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. The PSID subvector will contain the name supplied in this field. This field may be changed dynamically by reissuing the verb. Changes will not come into effect until the LU is closed and deactivated.
Returned Parameters
- primary_rc
- AP_OK
- primary_rc
- AP_PARAMETER_CHECK
- secondary_rc
- AP_INVALID_LU_NAME
AP_INVALID_PU_NAME
AP_INVALID_PU_TYPE
AP_PU_NOT_DEFINED
AP_LU_ALREADY_DEFINED
AP_LU_NAU_ADDR_ALREADY_DEFD
AP_CANT_MODIFY_VISIBILITY
- primary_rc
- AP_STATE_CHECK
- secondary_rc
- AP_INVALID_PU_NAME
AP_INVALID_PU_TYPE
AP_PU_NOT_DEFINED
AP_LU_NAME_POOL_NAME_CLASH
AP_LU_ALREADY_DEFINED
AP_LU_NAU_ADDR_ALREADY_DEFD
- primary_rc
- AP_INVALID_VERB
- primary_rc
- AP_NODE_NOT_STARTED
- primary_rc
- AP_NODE_STOPPING
- primary_rc
- AP_UNEXPECTED_SYSTEM_ERROR