WMPortRecvCallback

定義

#include <nitro/wm.h>
typedef struct WMPortRecvCallback
{ 
    u16             apiid;
    u16             errcode;
    u16             state;
    u16             port;
    WMMpRecvBuf*    recvBuf;
    u16*            data;
    u16             length;
    u16             aid;
    u8              macAddress[6];
    u16             seqNo;
    void*           arg;
    u16             myAid;
    u16             connectedAidBitmap;
    u8              ssid[24];
    u16             reason;
    u16             rssi;
    u16             maxSendDataSize;
    u16             maxRecvDataSize;

}WMPortRecvCallback;

要素

apiid コールバック発生の元となったAPIのIDです。WMApiid列挙型と同義です。
ここではWM_APIID_PORT_RECVに固定となります。
errcode 非同期処理の結果です。WMErrCode列挙型と同義です。
state errcodeがWM_ERRCODE_SUCCESSの場合、コールバックの発生した要因種別が格納されます。発生しうる要因は以下の5つです。
WM_STATECODE_PORT_INIT、WM_STATECODE_PORT_RECV、WM_STATECODE_CONNECTED、WM_STATECODE_DISCONNECTED、WM_STATECODE_DISCONNECTED_FROM_MYSELF。
port データを受信したポートが格納されます。
recvBuf WMStartMPCallbackとの互換性のために用意されたメンバです。
data データを受信したバッファのアドレスが格納されます。
length 受信したデータの長さが格納されます。
aid 受信したデータの送信元のAIDが格納されます。
WM_STATECODE_CONNECTEDの通知でも相手の端末のAIDが入っていることに注意してください。
子機ならば0(親機のAID)で固定です。
macAddress stateがWM_STATECODE_CONNECTED、WM_STATECODE_DISCONNECTED、WM_STATECODE_DISCONNECTED_FROM_MYSELFの場合、 接続もしくは切断された子機のMACアドレスが格納されます。
seqNo シーケンス番号が格納されます。
arg WM_SetPortCallback( )で指定した引数が格納されます。
myAid 自分のAIDが格納されます。
connectedAidBitmap 接続中のAIDのビットマップが格納されます。
ssid 子機がWM_StartConnect( ) で指定したssidが格納されます。
親機における、WM_STATECODE_CONNECTEDの通知の際にだけ有効です。
reason stateがWM_STATECODE_DISCONNECTED、WM_STATECODE_DISCONNECTED_FROM_MYSELFの場合、切断された理由を示すコードが格納されます。
ライブラリ内部で使用されるデバッグ目的のメンバです。
rssi データを受信した際の受信感度が格納されます。
maxSendDataSize 現在の送信可能なデータサイズです。
親機として動作している場合には親機送信容量が、子機として動作している場合には子機送信容量が格納されます。
maxRecvDataSize 現在の受信可能なデータサイズです。
親機として動作している場合には子機送信容量が、子機として動作している場合には親機送信容量が格納されます。

説明

WM_SetPortCallback( ) で設定したコールバック関数に渡される構造体です。

履歴

2009/01/27 rsv メンバの削除、rssi, maxSendDataSize, maxSendDataSize メンバの追加
2006/02/17 stateに返るコードに関する記述を修正
2005/11/14 誤って削除していた rsv メンバに関する記述を復元
2005/10/31 connectedAidBitmap, reason メンバの追加
2005/02/01 myAid と ssid メンバの説明を追加
2004/10/05 MACアドレスをu8型配列に統一
2004/09/13 WM_STATECODE_CHILD_CONNECTED を WM_STATECODE_CONNECTED に変更
2004/08/11 初版