# WM_SetMPData

## C Specification

      #include <nitro/wm.h>

      WMErrCode WM_SetMPData(
              WMCallbackFunc  callback ,
              const u16*      sendData ,
              u16             sendDataSize ,
              u16             tmptt ,
              u16             pollbmp );

## Description

Sets the data to be sent by the MP

This function is only executable when the WM is in either the `MP PARENT` or `MP CHILD` state.

If the return value is `WM_ERRCODE_OPERATING`, a callback is generated after the MP completes the data transmission process.

Do not rewrite the buffer identified by `sendData` until the callback is called. Unlike the asynchronous functions of other wireless APIs, calling `WM_SetMPData()` repeatedly without waiting for callbacks processes even if different function pointers are specified for callbacks.

This function was retained from previous versions to maintain backward-compatibility and is equivalent to specifying `WM_PORT_RAWDATA` for `port` and `WM_PRIORITY_NORMAL` for `prio` in `WM_SetMPDataToPort`.

## Arguments

`callback` | Pointer to the callback function to call when the asynchronous process completes.
`sendData` | Pointer to the data to be send-reserved. Notice that this data entity will be forcibly cached.
`sendDataSize` | Size of the send-reserved data.
`tmptt` | Kept to maintain backward-compatibility — now it is ignored.
`pollbmp` | Bitmap that indicates the AID of the send destination child. (enabled only for the parent).

## Return Values

Returns the process result as a `WMErrCode` enumerated type.

## See Also

`WM_StartMP`, `WM_EndMP`, `WM_ReadMPData`, `WM_SetMPDataToPort`, `WM_SetPortCallback`

## Revision History

10/22/2004 Changed return value type
09/25/2004 Added and revised descriptions
08/02/2004 Standardized structure names
07/29/2004 Added descriptions
07/23/2004 Initial version