Previous Page Contents Page Next Page

4.2 MDS_MU_RECEIVED

SNAP-IX uses this data indication to route an MDS_MU to an MDS-level application in the following cases:

To return the MDS_MU_RECEIVED indication, SNAP-IX uses the callback routine that the application supplied on the REGISTER_MS_APPLICATION or REGISTER_NMVT_APPLICATION verb. For more information about the requirements for this callback routine, see The Callback Routine Specified on the ms_async Entry Point.

4.2.1 VCB Structure

typedef struct mds_mu_received
{
   AP_UINT16       opcode;         /* Verb operation code                  */
   unsigned char   reserv2;        /* reserved                             */
   unsigned char   format;         /* reserved                             */
   AP_UINT16       primary_rc;     /* Primary return code                  */
   AP_UINT32       secondary_rc;   /* Secondary return code                */
   unsigned char   first_message;  /* First message for current MDS_MU     */
   unsigned char   last_message;   /* Last message for current MDS_MU      */
   unsigned char   pu_name[8];     /* Physical unit name                   */
   unsigned char   reserv3[8];     /* reserved                             */
   AP_UINT16       mds_mu_length;  /* Length of incoming MDS_MU            */
   unsigned char   *mds_mu;        /* MDS_MU data                          */
} MDS_MU_RECEIVED; 

4.2.2 Parameters

SNAP-IX includes the following parameters when it sends the MDS_MU_RECEIVED indication to the MS application:

opcode

AP_MDS_MU_RECEIVED

first_message

Indicates whether this message is the first, or only, message for this MDS_MU. The MDS_MU is normally sent to the application as a single message (both first_message and last_message are AP_YES). However, if the MDS_MU is larger than the max_rcv_size specified when the application issued REGISTER_MS_APPLICATION, SNAP-IX segments the MDS_MU and sends it to the application as multiple messages. Possible values are:

AP_YES

First or only message for this MDS_MU.

AP_NO

Second or subsequent message for this MDS_MU.

last_message

Indicates whether this message is the last, or only, message for this MDS_MU. The MDS_MU is normally sent to the application as a single message (both first_message and last_message are AP_YES). However, if the MDS_MU is larger than the max_rcv_size specified when the application issued REGISTER_MS_APPLICATION, SNAP-IX segments the MDS_MU and sends it to the application as multiple messages. Possible values are:

AP_YES

Last or only message for this MDS_MU.

AP_NO

First or subsequent message for a segmented MDS_MU. At least one more message follows.

pu_name

If the MDS_MU was converted from an incoming NMVT, this parameter is the name of the physical unit from which the NMVT was received. If the NMVT requires a response, the application must send the response using the SEND_MDS_MU verb, and must set the pu_name parameter of the SEND_MDS_MU to this name.

The MDS_MU was converted from an incoming NMVT only if the application used the REGISTER_NMVT_APPLICATION verb to register itself as an MDS-level application that accepts NMVTs after conversion to MDS_MUs. If the MDS_MU was received from the MDS-level transport mechanism, this parameter is set to binary zeros.

mds_mu_length

Length of MDS_MU data included on this message. This can be a complete MDS_MU or a segment of complete MDS_MU, depending on the first_message and last_message parameters.

mds_mu

A pointer to the MDS_MU data string.

Previous Page Contents Page Top of Page Next page