#include <nitro/wm.h>
typedef struct WMPortSendCallback
{
u16 apiid;
u16 errcode;
u16 wlCmdID;
u16 wlResult;
u16 state;
u16 port;
u16 destBitmap;
u16 restBitmap;
u16 sentBitmap;
u16 rsv;
const u16 *data;
u16 length;
u16 seqNo;
WMCallbackFunc callback;
void* arg;
} WMPortSendCallback;
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. In this case, it is fixed in WM_APIID_PORT_SEND . |
errcode | This is the result of the asynchronous process. It is synonymous to the WMErrCode enumerated type. |
wlCmdID | If errcode is WM_ERRCODE_FAILED , this function will store the ID of the command that was in error in the wireless firmware. |
wlResult | If errcode is WM_ERRCODE_FAILED , this function will store the code was the source of the error in the wireless firmware. |
state | If errcode is WM_ERRCODE_SUCCESS , the WM Cause Code generated by the callback is stored. Currently, only WM_STATECODE_PORT_SEND is generated. |
port | The port that sends the data is stored here. |
destBitmap | The bitmap of the AID assigned to the send destination is stored here. |
restBitmap | The bitmap of the AID of the send destination that has to perform a retry is stored here. This bitmap is not included in an AID for which it is clear that the send was not a success due to disconnection or not yet being connected. |
sentBitmap | This is the bitmap of the AID for the communications partner which was actually able to send from among the send destinations designated by destBitmap . While it is guaranteed that the data will arrive at a communications partner that includes the sentBitmap , there is no such guarantee for a communications partner that does not include the sentBitmap . |
rsv | Reserved. |
data | The address of the buffer that sent the data is stored here. |
length | The data length that was sent is stored here. |
seqNo | Stores the sequence number. |
callback | This is a field that the library uses internally. The address of the called callback function is stored here. |
arg | The argument designated with the WM_SetMPDataToPortEx function is stored here. |
This is a structure passed to the callback function for each of the WM_SetMPDataToPort
, WM_SetMPDataToPortEx
, and WM_SetMPData
functions.
WM_ERRCODE_SUCCESS
goes in the errcode field if the send was a success, WM_ERRCODE_SEND_FAILED
goes in if the send failed, and WM_ERRCODE_SEND_QUEUE_FULL
goes in if the send queue is full. Even if an AID is included that is incapable of sending to the send destination designated with destBitmap due to a disconnect during the send or a connection not yet existing, be sure that WM_ERRCODE_SUCCESS
is returned in the event that everything is sent to the remaining communications partners that are capable of sending. Compare the destBitmap
and the sentBitmap
to confirm that everything was actually sent to the designated send destination.
03/04/2005 Initial version