|
|
|
|
NMVT-level applications to respond to previously received NMVT requests and to send unsolicited NMVTs
NMVT-level and MDS-level applications to send unsolicited NMVTs (such as alert information)
The application can supply a complete NMVT to be sent, or it can supply some of the required subvectors and request SNAP-IX to add header information or additional subvectors. For more information about the format of NMVTs, including the format of the headers and subvectors that SNAP-IX adds, refer to IBM Systems Network Architecture: Formats.
typedef struct transfer_ms_data
{
AP_UINT16 opcode; /* Verb operation code */
unsigned char data_type; /* Type of data supplied by appl */
unsigned char format; /* reserved */
AP_UINT16 primary_rc; /* Primary return code */
AP_UINT32 secondary_rc; /* Secondary return code */
unsigned char options; /* Verb options */
unsigned char reserv3; /* reserved */
unsigned char originator_id[8]; /* Originator ID */
unsigned char pu_name[8]; /* Physical unit name */
unsigned char reserv4[4]; /* reserved */
AP_UINT16 dlen; /* Length of data */
unsigned char *dptr; /* Data */
} TRANSFER_MS_DATA;
The application supplies the following parameters when it issues the TRANSFER_MS_DATA verb:
Specify one of the following values:
The data contains a complete NMVT. SNAP-IX converts the data to MDS_MU or CP_MSU format if the data contains an alert and the alert is to be sent to an MDS-level or migration-level focal point.
An application that is responding to an NMVT_RECEIVED indication must
supply a complete NMVT and must use the value
The data contains MS subvectors in the SNA-defined format for an alert major vector. SNAP-IX adds an NMVT header and an alert major vector header. SNAP-IX converts the data to MDS_MU or CP_MSU format if the alert is to be sent to an MDS-level or migration-level focal point.
The data contains a complete NMVT request unit. SNAP-IX always logs the data but does not send it to any focal point.
The data contains problem determination statistics. SNAP-IX always logs the data but does not send it to any focal point.
A one-byte value, with individual bits indicating the options selected.
Bit 0 is the most significant and bit 7 is the least significant bit. For
compatibility with other implementations, the bit values for bits 0-3
are defined so that a value of 1 indicates no action and
a value of 0 indicates an action. (Bits 1-3 are ignored
if the data_type parameter is set to
Add Date/Time subvector to the data. Set this bit to one of the following values:
Requests that SNAP-IX add the subvector
Requests that SNAP-IX not add the subvector
Add Product Set ID subvector to the data. Set this bit to one of the following:
Requests that SNAP-IX add the subvector. If the application supplies data that already contains a Product Set ID subvector, SNAP-IX adds its own Product Set ID subvector immediately preceding the existing one.
Requests that SNAP-IX not add the subvector.
Send the data to the focal point or the PU specified by the pu_name parameter if this verb is being used to send a reply to a previously received NMVT. Set this bit to one of the following:
Requests that SNAP-IX send the data
Requests that SNAP-IX not send the data
Log the data in the SNAP-IX error log file. Set this bit to one of the following:
Requests that SNAP-IX log the data.
Requests that SNAP-IX not log the data.
Reserved. Must be set to 0.
Name of the component that issued the verb. If the data is being logged in the SNAP-IX error log file, this name is used to identify the originator of the log message; otherwise, it is not used.
This optional parameter is an ASCII string of up to eight characters, using any locally displayable characters. Set the first character to 0x00 if you do not want to include it.
Destination physical unit for this NMVT. Set this to one of the following:
Specify an 8-byte type-A EBCDIC string, padded to the right with EBCDIC spaces (0x40).
Applications that use TRANSFER_MS_DATA to respond to NMVT_RECEIVED indications should specify the pu_name received in the NMVT_RECEIVED indication.
Applications that send unsolicited alerts normally should not specify a pu_name (they should set this parameter to all binary zeros) unless the application expressly wishes the alert data to be sent to a specific physical unit. In this case, the pu_name must match a pu_name specified on the definition of a link station (LS); the NMVT is sent over this link station. For more information about defining an LS, refer to SNAP-IX Administration Guide.
To specify no pu_name. The data contained in
TRANSFER_MS_DATA verbs that have the data_type parameter
set to
Length of the data supplied by the application.
The maximum length of an NMVT is 512 bytes. If the application is supplying a complete NMVT, the data length must not exceed 512 bytes. If the application is supplying alert subvectors, or requesting SNAP-IX to add one or more subvectors to the supplied data, the total length after addition of any required headers and subvectors must not exceed 512 bytes.
A pointer to the data string supplied by the application. The data must be in the valid format for an NMVT, alert subvectors, or problem determination statistics, as specified by the data_type parameter.
After the verb executes, SNAP-IX returns parameters to indicate whether the execution was successful and, if not, to indicate the reason the execution was not successful.
If the verb executes successfully, SNAP-IX returns the following parameters:
SV_OK
SNAP-IX does not return a secondary_rc when the verb executes successfully.
When a verb does not execute successfully, SNAP-IX returns a primary return code to indicate the type of error and a secondary return code to provide specific details about the reason for unsuccessful execution.
If the verb does not execute because of a parameter error, SNAP-IX returns the following parameters:
SV_PARAMETER_CHECK
One of the following:
The supplied data_type parameter is not one of the valid values.
One of the following occurred:
The application supplied a data string longer than the maximum NMVT size of 512 bytes.
The application supplied data as alert subvectors, or specified that SNAP-IX should add one or more subvectors to it, but the added headers and subvectors increased the data size beyond 512 bytes.
SNAP-IX could not find an active PU with the name specified by the supplied pu_name parameter.
If the verb fails to execute because of a state error, SNAP-IX returns the following parameters:
SV_STATE_CHECK
One of the following:
This verb was issued using the synchronous entry point, but another synchronous verb was in progress for this target handle. Only one synchronous verb can be in progress on a particular target handle at any time.
The application requested SNAP-IX to send data by setting bit 2 of the options parameter to 0, but the session to the appropriate PU was not active.
The application used the synchronous MS entry point to issue this verb within a callback routine. The application must use the asynchronous entry point to issue any verb from a callback routine.
If the verb does not execute successfully because the SNAP-IX software is not active, SNAP-IX returns one of the following parameters:
The SNAP-IX software has failed.
SNAP-IX does not return a secondary_rc when the SNAP-IX software is not active.
If the verb does not execute because of a system error, SNAP-IX returns the following parameters:
An operating system call failed during processing of the verb.
The return code from the operating system call. For the meaning of this return code, check the returned value in the file /usr/include/sys/errno.h .
|
|
|
|
|