# WM_SetMPDataToPortEx

## C Specification

      #include <nitro/wm.h>

      WMErrCode WM_SetMPDataToPortEx(
              WMCallbackFunc  callback ,
              void*           arg ,
              const u16*      sendData ,
              u16             sendDataSize ,
              u16             destBitmap ,
              u16             port ,
              u16             prio );

## Description

Sets the data to be sent to a specific port using 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 data send process completes.

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

The user definition data that is specified by `arg` is passed to the callback identified by `arg` in `WMPortSendCallback` structure.

## Arguments

callback | Pointer to the callback function to call when the asynchronous process completes.
arg | User definition data to be passed to the callback function.
sendData | Pointer to the data reserved for sending. Note that the entity for this data is forcibly cached.
sendDataSize | Size of the data reserved for sending.
destBitmap | Poll map that indicates the children that are send destinations. (Valid only for parent.)
port | Port number that sends data.
prio | Data send priority (0: Highest – 3 Lowest).

## Return Values

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

## See Also

`WM_StartMP`, `WM_EndMP`, `WM_SetMPDataToPort`, `WM_SetPortCallback`, `WMPort`

## Revision History

10/22/2004 Changed return value type
09/25/2004 Added and revised descriptions
09/09/2004 Initial version