# WM_SetMPDataToPort

## C Specification

      #include <nitro/wm.h>

      WMErrCode WM_SetMPDataToPort(
              WMCallbackFunc  callback ,
        const u16*            sendData ,
              u16             sendDataSize ,
              u16             destBitmap ,
              u16             port ,
              u16             prio );

## Description

Sets the data to be sent to the port that is specified by the MP.

This function is only executable when the WM is in the `MP_PARENT` state or `MP_CHILD` state. If the return value is `WM_ERRCODE_OPERATING`, a callback is generated after the data send process of the MP is complete.

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.

Calling this function is the same as calling `WM_SetMPDataToPortEx` with its argument specified as NULL.

## Arguments

`callback` | Pointer to the callback function to call when the asynchronous process finishes.
`sendData` | Pointer to the data to be sent. Note that this data is forcibly stored in the cache.
`sendDataSize` | Size of the data to be sent.
`destBitmap` | Poll map that shows the send destination child. (only available in MP PARENT state)
`port` | The 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_SetMPDataToPortEx`, `WM_SetPortCallback`, `WMPort`

## Revision History

10/22/2004 Changed return value type
09/25/2004 Added and revised descriptions
09/09/2004 Added description for `WM_SetMPDataToPortEx`
08/11/2004 Initial version