# WMStartMPCallback

## Definitions

  `#include <nitro/wm.h>`

      typedef struct WMStartMPCallback
      {
      u16         apiid;
      u16         errcode;
      u16         state;
      u8            reserved[2];
      WMMpRecvBuf*    recvBuf;
      u16             timeStamp;
      u16             rate_rssi;
      u16             destAdrs[3];
      u16             srcAdrs[3];
      u16 seqNum;
      u16             tmptt;
      u16             pollbmp;
      u16             reserved2;

      } WMStartMPCallback;

## Elements

apiid | This is the ID of the API that acts as the source for the callback generation. It is synonymous to the `WMApiid` enumerated type. Here, it is fixed as `WM_APIID_START_MP`.
errcode | This is the result of the asynchronous process. It is synonymous to the `WMErrCode` enumerated type.
state | If `errcode` is `WM_ERRCODE_SUCCESS`, the `WM Cause Code` generated by the callback is stored. There are four causes: `WM_STATECODE_MP_START, WM_STATECODE_MPEND_IND, WM_STATECODE_MP_IND, and WM_STATECODE_MPACK_IND`.
recvBuf | If `state` is `WM_STATECODE_MPEND_IND`, or `WM_STATECODE_MP_IND` a pointer to the receive data storage destination will be stored. The receive buffer specified in `WM_StartMP` is handled as a double buffer. This indicates which of the buffers will be the first data storage destination. Notice that when a machine accepts data as a parent, this will be a pointer to the `WMMpRecvHeader` type.

`timeStamp
rate_rssi
destAdrs
srcAdrs
seqNum
tmptt
pollbmp
`

When the state is `WM_STATECODE_MPACK_IND`, each of the arguments stores the information on the MP communication that was performed.

## Description

The structure that is passed to the callback function that is called by `WM_StartMP`.

## Revision History

08/11/2001 Added members to be stored at the time of MP completion callback.
08/02/2004 Standardized structure names
07/29/2004 Initial Version

CONFIDENTIAL