WDSの更新

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1835 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-07-10 02:26:02 +00:00
parent ec7f664403
commit 55dcc9029a
21 changed files with 108 additions and 110 deletions

View File

@ -41,7 +41,6 @@ typedef struct WDSWrapperWork
{
u8 *stack; //!< WDSラッパーが使用するスタック
OSThread thread; //!< WDSラッパーが使用するスレッド構造体
OSMutex mutex; //!< WDSラッパーが使用するmutex
u8 *wdswork; //!< WDSが使用するワークエリア
@ -57,6 +56,8 @@ typedef struct WDSWrapperWork
BOOL restart; //!< 間欠スキャン再開フラグ
OSDeliverArgInfo deliverinfo; //!< TWL用アプリ間引数ワークエリア
BOOL callingback; //!< コールバック関数呼び出し中はTRUE
} WDSWrapperWork;
//-----------------------------------------------------
@ -71,6 +72,19 @@ static void WDS_WrapperInitialize_CB( void *arg );
static void WDS_WrapperStartScan_CB( void *arg );
static void WDS_WrapperEndScan_CB(void *arg);
static void WDS_WrapperEnd_CB( void *arg );
static void WDS_WrapperCallUserCallback( void *arg );
//--------------------------------------------------------------------------------
/** ユーザー指定のコールバック関数を呼び出すユーティリティ関数
@param arg
@return
*///------------------------------------------------------------------------------
static void WDS_WrapperCallUserCallback( void *arg )
{
g_wdswrapperwork->callingback = TRUE;
g_wdswrapperwork->initparam.callback( arg );
g_wdswrapperwork->callingback = FALSE;
}
//--------------------------------------------------------------------------------
/** アクセスポイント情報のデバッグ用表示関数
@ -111,6 +125,10 @@ static void DumpWDSApInfo( WDSApInfo *apinfo )
/** スキャン開始前ウェイトステート関数
@param
@return
@note
@LI WMからのコールバックが発生する可能性はない
@LI IF関数からのフラグ変化がイレギュラーな存在としてあるが
@LI Mutexのロックを行わなくても
*///------------------------------------------------------------------------------
static void WDS_WrapperBeforeInitState( void )
{
@ -181,6 +199,8 @@ static void WDS_WrapperInitState( void )
@param arg WMCallback型変数へのポインタ
@return
@note
@LI WDSWRAPPER_STATE_WAITINIT
@LI
@LI
@LI WDSラッパー解放ステートへ
*///------------------------------------------------------------------------------
@ -189,9 +209,6 @@ static void WDS_WrapperInitialize_CB( void *arg )
WMCallback *callback = (WMCallback *)arg;
WDSWrapperCallbackParam param;
// ステート処理と重複処理しないため
OS_LockMutex( &g_wdswrapperwork->mutex );
#ifdef WDSWRAPPER_DEBUGPRINT
OS_TPrintf("WDS_Initialize_CB\n");
#endif
@ -204,7 +221,7 @@ static void WDS_WrapperInitialize_CB( void *arg )
param.errcode = WDSWRAPPER_ERRCODE_SUCCESS;
// コールバック関数の呼び出し
g_wdswrapperwork->initparam.callback( &param );
WDS_WrapperCallUserCallback( &param );
// 返り値に基づいてステートを変更
if( callback->errcode != WM_ERRCODE_SUCCESS )
@ -216,15 +233,14 @@ static void WDS_WrapperInitialize_CB( void *arg )
// 連続スキャン開始時間の記録
g_wdswrapperwork->tickstart = OS_GetTick();
}
// ステート処理と重複処理しないため
OS_UnlockMutex( &g_wdswrapperwork->mutex );
}
//--------------------------------------------------------------------------------
/** スキャン開始ステート関数
@param
@return
@note
@LI WDSは初期化済みだがWDS_StartScan要因以外でコールバック関数は呼ばれない
*///------------------------------------------------------------------------------
static void WDS_WrapperScanState( void )
{
@ -256,6 +272,9 @@ static void WDS_WrapperScanState( void )
/** スキャン完了待ちステート関数
@param
@return
@note
@LI IFからのキャンセルを受け付ける
@LI Mutexロックはしない
*///------------------------------------------------------------------------------
static void WDS_WrapperWaitScanState( void )
{
@ -272,6 +291,7 @@ static void WDS_WrapperWaitScanState( void )
@param arg WMCallback型変数へのポインタ
@return
@note
@LI WDSWRAPPER_STATE_WAITSCANではない場合がある
@LI IDLEかスキャン前ウェイトステートへ
@LI WDSラッパー解放ステートへ
*///------------------------------------------------------------------------------
@ -283,19 +303,19 @@ static void WDS_WrapperStartScan_CB( void *arg )
#endif
WDSWrapperCallbackParam param;
// ステート処理と重複処理しないため
OS_LockMutex( &g_wdswrapperwork->mutex );
#ifdef WDSWRAPPER_DEBUGPRINT
OS_Printf("*** WDS_WrapperStartScan_CB\n");
#endif
// ライブラリがすでに解放済みである場合に備える
if( g_wdswrapperwork == NULL )
return;
// 外部からの停止等の理由でコールバック待ちステートでない場合には何もしない
if( g_wdswrapperwork->state != WDSWRAPPER_STATE_WAITSCAN ) {
#ifdef WDSWRAPPER_DEBUGPRINT
OS_Printf("state != WDSWRAPPER_STATE_WAITSCAN\n");
#endif
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return;
}
@ -309,7 +329,7 @@ static void WDS_WrapperStartScan_CB( void *arg )
param.errcode = WDSWRAPPER_ERRCODE_FAILURE;
// コールバック関数の呼び出し
g_wdswrapperwork->initparam.callback( &param );
WDS_WrapperCallUserCallback( &param );
// ただちにスキャン停止ステートへ
g_wdswrapperwork->state = WDSWRAPPER_STATE_ENDSCAN;
@ -317,9 +337,6 @@ static void WDS_WrapperStartScan_CB( void *arg )
// 最終的にTERMINATEステートに入るよう設定
g_wdswrapperwork->terminate = TRUE;
// ステート処理と重複処理しないため
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return;
}
else {
@ -349,7 +366,7 @@ static void WDS_WrapperStartScan_CB( void *arg )
param.errcode = WDSWRAPPER_ERRCODE_SUCCESS;
// コールバック関数の呼び出し
g_wdswrapperwork->initparam.callback( &param );
WDS_WrapperCallUserCallback( &param );
// 十分長い時間スキャンしたのでスキャン中断ステートへ
g_wdswrapperwork->state = WDSWRAPPER_STATE_ENDSCAN;
@ -360,14 +377,11 @@ static void WDS_WrapperStartScan_CB( void *arg )
param.errcode = WDSWRAPPER_ERRCODE_SUCCESS;
// コールバック関数の呼び出し
g_wdswrapperwork->initparam.callback( &param );
WDS_WrapperCallUserCallback( &param );
// ただちにスキャン開始ステートへ
g_wdswrapperwork->state = WDSWRAPPER_STATE_SCAN;
}
// ステート処理と重複処理しないため
OS_UnlockMutex( &g_wdswrapperwork->mutex );
}
//--------------------------------------------------------------------------------
@ -414,6 +428,7 @@ static void WDS_WrapperEndScanState( void )
@param arg WMCallback型変数へのポインタ
@return
@note
@LI WDSWRAPPER_STATE_WAITENDSCAN
@LI WDS解放ステートへ
@LI
*///------------------------------------------------------------------------------
@ -421,9 +436,6 @@ static void WDS_WrapperEndScan_CB(void *arg)
{
WMCallback *callback = (WMCallback *)arg;
// ステート処理と重複処理しないため
OS_LockMutex( &g_wdswrapperwork->mutex );
#ifdef WDSWRAPPER_DEBUGPRINT
OS_TPrintf("WDS_WrapperEndScan_CB\n");
#endif
@ -443,9 +455,6 @@ static void WDS_WrapperEndScan_CB(void *arg)
// スキャン停止完了したら自動的にWDS解放ステートへ
g_wdswrapperwork->state = WDSWRAPPER_STATE_END;
}
// ステート処理と重複処理しないため
OS_UnlockMutex( &g_wdswrapperwork->mutex );
}
//--------------------------------------------------------------------------------
@ -497,9 +506,6 @@ static void WDS_WrapperEnd_CB( void *arg )
#pragma unused(arg)
WDSWrapperCallbackParam param;
// ステート処理と重複処理しないため
OS_LockMutex( &g_wdswrapperwork->mutex );
#ifdef WDSWRAPPER_DEBUGPRINT
OS_TPrintf("WDS_WrapperEnd_CB\n");
#endif
@ -519,21 +525,19 @@ static void WDS_WrapperEnd_CB( void *arg )
param.errcode = WDSWRAPPER_ERRCODE_SUCCESS;
// コールバック関数の呼び出し
g_wdswrapperwork->initparam.callback( &param );
WDS_WrapperCallUserCallback( &param );
}
else {
g_wdswrapperwork->state = WDSWRAPPER_STATE_BEFOREINIT;
}
// ステート処理と重複処理しないため
OS_UnlockMutex( &g_wdswrapperwork->mutex );
}
//--------------------------------------------------------------------------------
/** アイドルステート関数
@param
@return
@LI IFからのスキャン開始とライブラリ解放を受け付ける
@LI Mutexロックはしない
*///------------------------------------------------------------------------------
static void WDS_WrapperIdleState( void )
{
@ -562,12 +566,12 @@ static void WDS_WrapperThreadFunc( void *arg )
g_wdswrapperwork->state = WDSWRAPPER_STATE_INIT;
while( 1 ) {
OS_Sleep(20);
OS_Sleep( 20 );
// ステートにより処理を分岐(ステート処理中はmutexによりlockが行われる)
OS_LockMutex( &g_wdswrapperwork->mutex );
if( g_wdswrapperwork->state == WDSWRAPPER_STATE_TERMINATE )
break;
OS_Sleep( 20 );
switch( g_wdswrapperwork->state ) {
case WDSWRAPPER_STATE_BEFOREINIT: WDS_WrapperBeforeInitState(); break;
@ -582,7 +586,6 @@ static void WDS_WrapperThreadFunc( void *arg )
case WDSWRAPPER_STATE_IDLE: WDS_WrapperIdleState(); break;
case WDSWRAPPER_STATE_TERMINATE: break;
}
OS_UnlockMutex( &g_wdswrapperwork->mutex );
}
// コールバックパラメータの設定
@ -590,7 +593,7 @@ static void WDS_WrapperThreadFunc( void *arg )
param.errcode = WDSWRAPPER_ERRCODE_SUCCESS;
// コールバック関数の呼び出し
g_wdswrapperwork->initparam.callback( &param );
WDS_WrapperCallUserCallback( &param );
}
//--------------------------------------------------------------------------------
@ -658,9 +661,6 @@ WDSWrapperErrCode WDS_WrapperInitialize( WDSWrapperInitializeParam param )
// パラメータのコピー
g_wdswrapperwork->initparam = param;
// mutexの初期化
OS_InitMutex( &g_wdswrapperwork->mutex );
// スレッドの生成
OS_CreateThread( &g_wdswrapperwork->thread,
WDS_WrapperThreadFunc,
@ -711,18 +711,13 @@ WDSWrapperErrCode WDS_WrapperCleanup( void )
if( g_wdswrapperwork == NULL )
return WDSWRAPPER_ERRCODE_UNINITIALIZED;
OS_LockMutex( &g_wdswrapperwork->mutex );
// 解放処理実行中をチェック
if( g_wdswrapperwork->terminate == TRUE ) {
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_OPERATING;
}
g_wdswrapperwork->terminate = TRUE;
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_SUCCESS;
}
@ -742,24 +737,18 @@ WDSWrapperErrCode WDS_WrapperStartScan( void )
if( g_wdswrapperwork == NULL )
return WDSWRAPPER_ERRCODE_UNINITIALIZED;
OS_LockMutex( &g_wdswrapperwork->mutex );
// ステートがIDLEかBEFOREINITであることを確認
if( g_wdswrapperwork->state != WDSWRAPPER_STATE_IDLE && g_wdswrapperwork->state != WDSWRAPPER_STATE_BEFOREINIT ) {
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_FAILURE;
}
// 再スタート処理実行中をチェック
if( g_wdswrapperwork->restart == TRUE ) {
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_OPERATING;
}
g_wdswrapperwork->restart = TRUE;
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_SUCCESS;
}
@ -780,18 +769,13 @@ WDSWrapperErrCode WDS_WrapperStopScan( void )
if( g_wdswrapperwork == NULL )
return WDSWRAPPER_ERRCODE_UNINITIALIZED;
OS_LockMutex( &g_wdswrapperwork->mutex );
// 間欠受信停止処理実行中をチェック
if( g_wdswrapperwork->idle == TRUE ) {
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_OPERATING;
}
g_wdswrapperwork->idle = TRUE;
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return WDSWRAPPER_ERRCODE_SUCCESS;
}
@ -802,6 +786,7 @@ WDSWrapperErrCode WDS_WrapperStopScan( void )
@return WDSWRAPPER_ERRCODE_SUCCESS:
@return WDSWRAPPER_ERRCODE_FAILURE:
@return WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化されていない
@note
*///------------------------------------------------------------------------------
WDSWrapperErrCode WDS_WrapperCheckValidBeacon( void )
{
@ -812,7 +797,9 @@ WDSWrapperErrCode WDS_WrapperCheckValidBeacon( void )
if( g_wdswrapperwork == NULL )
return WDSWRAPPER_ERRCODE_UNINITIALIZED;
OS_LockMutex( &g_wdswrapperwork->mutex );
// コールバック関数からの呼び出しかを確認
if( g_wdswrapperwork->callingback != TRUE )
return WDSWRAPPER_ERRCODE_FAILURE;
if( g_wdswrapperwork->briefapinfonum > 0 ) {
for( i = 0; i < g_wdswrapperwork->briefapinfonum; i++ ) {
@ -824,7 +811,6 @@ WDSWrapperErrCode WDS_WrapperCheckValidBeacon( void )
}
}
}
OS_UnlockMutex( &g_wdswrapperwork->mutex );
return ret;
}

View File

@ -1,6 +1,6 @@
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■ ■
■ TWLWDSライブラリ 2008/6/26版 ■
■ TWLWDSライブラリ 2008/7/ 3版 ■
■ ■
■ ネットワーク開発部からのお知らせ ■
■ ■
@ -27,6 +27,9 @@
●変更履歴
2008/06/26 20080703版
・WDSラッパー内部で行っていた排他制御に関連して発生していたフリーズ問題を修正しました。
2008/06/26 20080626版
・WDSライブラリを簡易に使用するためのWDSWrapperが追加されました。
@ -46,3 +49,6 @@ infoflag
infoflagのWDS_INFOFLAG_NOTIFYビットが1にセットされたビーコンを
受信した場合のみ行ってください。
・なお、WDSWrapperはWDS_INFOFLAG_NOTIFYに関連した処理を内部で自動的に行います。
WDS_WrapperCheckValidBeacon関数について
・20080703バージョン以降は、WDS_WrapperCheckValidBeacon関数は初期化時に指定した
 コールバック関数の中からのみ呼び出すことができます。

View File

@ -128,7 +128,7 @@ void NitroMain(void)
WDS_WrapperStopScan();
if( ( lastpad ^ nowpad ) & PAD_BUTTON_X && !( nowpad & PAD_BUTTON_X ) ) {
// WDSWrapper初期化と動作開始
param.threadprio = 10;
param.threadprio = 20;
param.dmano = 1;
param.callback = Callback_WDSWrapper;

View File

@ -23,6 +23,11 @@ extern "C" {
//-----------------------------------------------------
// Macros
//-----------------------------------------------------
/**
@brief
*/
//#define WDS_DEBUGPRINT
/**
@brief
*/
@ -48,7 +53,7 @@ extern "C" {
/**
@brief AP情報保持最大数
*/
#define WDS_APINFO_MAX 16
#define WDS_APINFO_MAX 4
/**
@brief
@ -68,12 +73,12 @@ typedef void (*WDSCallbackFunc)(void *arg);
// Structs
//-----------------------------------------------------
/**
@brief APビーコンの内容
@brief APビーコン
*/
typedef struct WDSApInfo
{
u8 ssid[ WDS_SSID_BUF_SIZE ]; ///< 親機が接続するAPのSSID
u8 apnum[ WDS_APNUM_BUF_SIZE ]; ///< 本来はAPのSSIDに埋め込まれているAP識別番号
u8 apnum[ WDS_APNUM_BUF_SIZE ]; ///< Wi-FiステーションのAPのSSIDに埋め込まれているAP識別番号と同等の文字列
u16 hotspotid; ///< ホットスポットの認証方式を示すフラグ+hotspotnameのエンコード情報
u8 hotspotname[ WDS_HOTSPOTNAME_BUF_SIZE ]; ///< UTF-8あるいはUTF-16で記述されたホットスポットの名前
u8 wepkey[ WDS_WEPKEY_BUF_SIZE ]; ///< 親機が接続するAPのWEP キー
@ -86,16 +91,15 @@ typedef struct WDSApInfo
} WDSApInfo;
/**
@brief APビーコンの内容
@brief APビーコン構造体
*/
typedef struct WDSBriefApInfo
{
// WDSライブラリによって生成される値
BOOL isvalid;
BOOL isvalid; ///< apinfoに有効な値が代入されていればTRUE
u16 rssi; ///< 電波強度
// AP情報ビーコンそのもの
WDSApInfo apinfo;
WDSApInfo apinfo; ///< 親機から送られてくるAPビーコン
} WDSBriefApInfo;
//-----------------------------------------------------

View File

@ -102,6 +102,7 @@ WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化さ
<dl class="return" compact><dt><b>戻り値:</b></dt><dd>WDSWRAPPER_ERRCODE_SUCCESS: 直前に完了した間欠受信で有効な親機ビーコンを受け取った <p>
WDSWRAPPER_ERRCODE_FAILURE: 直前に完了した間欠受信で有効な親機ビーコンを受け取っていない <p>
WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化されていない </dd></dl>
<dl class="note" compact><dt><b>覚え書き:</b></dt><dd>ライブラリ初期化時に指定したコールバック関数の中でのみ呼び出して下さい </dd></dl>
</div>
</div><p>
@ -274,7 +275,7 @@ WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化さ
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -383,6 +383,7 @@ WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化さ
<dl class="return" compact><dt><b>戻り値:</b></dt><dd>WDSWRAPPER_ERRCODE_SUCCESS: 直前に完了した間欠受信で有効な親機ビーコンを受け取った <p>
WDSWRAPPER_ERRCODE_FAILURE: 直前に完了した間欠受信で有効な親機ビーコンを受け取っていない <p>
WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化されていない </dd></dl>
<dl class="note" compact><dt><b>覚え書き:</b></dt><dd>ライブラリ初期化時に指定したコールバック関数の中でのみ呼び出して下さい </dd></dl>
</div>
</div><p>
@ -555,7 +556,7 @@ WDSWRAPPER_ERRCODE_UNINITIALIZED: WDSラッパーライブラリが初期化さ
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -28,7 +28,7 @@
<tr><td class="indexkey"><a class="el" href="struct_w_d_s_wrapper_work.html">WDSWrapperWork</a></td><td class="indexvalue">WDSラッパーのワーク領域 </td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -27,7 +27,7 @@
<tr><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="struct_w_d_s_wrapper_callback_param.html">WDSWrapperCallbackParam</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_w_d_s_wrapper_initialize_param.html">WDSWrapperInitializeParam</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_w_d_s_wrapper_work.html">WDSWrapperWork</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_W">W</a></div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -26,7 +26,7 @@
<tr><td class="indexkey">src/<a class="el" href="_w_d_s_wrapper_8c.html">WDSWrapper.c</a></td><td class="indexvalue">WDSライブラリのラッパー </td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -40,6 +40,8 @@
<li>callback
: <a class="el" href="struct_w_d_s_wrapper_initialize_param.html#c2f0a08327bbba12e43f785a19d78176">WDSWrapperInitializeParam</a>
, <a class="el" href="struct_w_d_s_wrapper_callback_param.html#1b13b0035e008efd18b463f68e899ec9">WDSWrapperCallbackParam</a>
<li>callingback
: <a class="el" href="struct_w_d_s_wrapper_work.html#755d91d393b30b81530e78204b07f8de">WDSWrapperWork</a>
<li>deliverinfo
: <a class="el" href="struct_w_d_s_wrapper_work.html#1c0a7bef19fdb61fffd9f131643db80c">WDSWrapperWork</a>
<li>dmano
@ -52,8 +54,6 @@
: <a class="el" href="struct_w_d_s_wrapper_work.html#f28139846ae4022186db2e234457fdb7">WDSWrapperWork</a>
<li>initparam
: <a class="el" href="struct_w_d_s_wrapper_work.html#e364e4c0e0ed9daac52a7bf6cd5df7f1">WDSWrapperWork</a>
<li>mutex
: <a class="el" href="struct_w_d_s_wrapper_work.html#4684ed4a9191d29d6cd767d8f2149eeb">WDSWrapperWork</a>
<li>restart
: <a class="el" href="struct_w_d_s_wrapper_work.html#653600ec89df9559f389ebb75d55059e">WDSWrapperWork</a>
<li>stack
@ -72,7 +72,7 @@
: <a class="el" href="struct_w_d_s_wrapper_work.html#8f2f0f56b345fd070bf3bcacab9ae53e">WDSWrapperWork</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -40,6 +40,8 @@
<li>callback
: <a class="el" href="struct_w_d_s_wrapper_initialize_param.html#c2f0a08327bbba12e43f785a19d78176">WDSWrapperInitializeParam</a>
, <a class="el" href="struct_w_d_s_wrapper_callback_param.html#1b13b0035e008efd18b463f68e899ec9">WDSWrapperCallbackParam</a>
<li>callingback
: <a class="el" href="struct_w_d_s_wrapper_work.html#755d91d393b30b81530e78204b07f8de">WDSWrapperWork</a>
<li>deliverinfo
: <a class="el" href="struct_w_d_s_wrapper_work.html#1c0a7bef19fdb61fffd9f131643db80c">WDSWrapperWork</a>
<li>dmano
@ -52,8 +54,6 @@
: <a class="el" href="struct_w_d_s_wrapper_work.html#f28139846ae4022186db2e234457fdb7">WDSWrapperWork</a>
<li>initparam
: <a class="el" href="struct_w_d_s_wrapper_work.html#e364e4c0e0ed9daac52a7bf6cd5df7f1">WDSWrapperWork</a>
<li>mutex
: <a class="el" href="struct_w_d_s_wrapper_work.html#4684ed4a9191d29d6cd767d8f2149eeb">WDSWrapperWork</a>
<li>restart
: <a class="el" href="struct_w_d_s_wrapper_work.html#653600ec89df9559f389ebb75d55059e">WDSWrapperWork</a>
<li>stack
@ -72,7 +72,7 @@
: <a class="el" href="struct_w_d_s_wrapper_work.html#8f2f0f56b345fd070bf3bcacab9ae53e">WDSWrapperWork</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -125,7 +125,7 @@
: <a class="el" href="_w_d_s_wrapper_8h.html#0c6effbec49c715127e2b674ec3a59ff">WDSWrapper.h</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -42,7 +42,7 @@
: <a class="el" href="_w_d_s_wrapper_8h.html#79088e3207784ca6f790938a0da75140">WDSWrapper.h</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -42,7 +42,7 @@
: <a class="el" href="_w_d_s_wrapper_8h.html#0c6effbec49c715127e2b674ec3a59ff">WDSWrapper.h</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -78,7 +78,7 @@
: <a class="el" href="_w_d_s_wrapper_8h.html#0c6effbec49c715127e2b674ec3a59ffd9635041daca249d0b9172843d4bc5f0">WDSWrapper.h</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -60,7 +60,7 @@
, <a class="el" href="_w_d_s_wrapper_8h.html#dddf9ad0118cd79040f8cd77ad3f47ab">WDSWrapper.h</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -42,7 +42,7 @@
: <a class="el" href="_w_d_s_wrapper_8h.html#c372630f28c9599a6df9e686e5f0af38">WDSWrapper.h</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -18,7 +18,7 @@
<h1>WDSWrapper ドキュメント</h1>
<p>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -76,7 +76,7 @@ WDSラッパーが呼び出すコールバック関数に与えられる引数
<hr>この構造体の説明は次のファイルから生成されました:<ul>
<li>include/<a class="el" href="_w_d_s_wrapper_8h.html">WDSWrapper.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -136,7 +136,7 @@ WDSラッパーが使用するアロケータ
<hr>この構造体の説明は次のファイルから生成されました:<ul>
<li>include/<a class="el" href="_w_d_s_wrapper_8h.html">WDSWrapper.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>

View File

@ -34,9 +34,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">OSThread&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_w_d_s_wrapper_work.html#e70b0ba1a9b9c0ccc84865cd7efa827d">thread</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">WDSラッパーが使用するスレッド構造体 <a href="#e70b0ba1a9b9c0ccc84865cd7efa827d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">OSMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_w_d_s_wrapper_work.html#4684ed4a9191d29d6cd767d8f2149eeb">mutex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">WDSラッパーが使用するmutex <a href="#4684ed4a9191d29d6cd767d8f2149eeb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u8 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_w_d_s_wrapper_work.html#8f2f0f56b345fd070bf3bcacab9ae53e">wdswork</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">WDSが使用するワークエリア <a href="#8f2f0f56b345fd070bf3bcacab9ae53e"></a><br></td></tr>
@ -67,6 +64,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">OSDeliverArgInfo&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_w_d_s_wrapper_work.html#1c0a7bef19fdb61fffd9f131643db80c">deliverinfo</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TWL用アプリ間引数ワークエリア <a href="#1c0a7bef19fdb61fffd9f131643db80c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_w_d_s_wrapper_work.html#755d91d393b30b81530e78204b07f8de">callingback</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">コールバック関数呼び出し中はTRUE <a href="#755d91d393b30b81530e78204b07f8de"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>説明</h2>
WDSラッパーのワーク領域 <hr><h2>構造体</h2>
@ -102,23 +102,6 @@ WDSラッパーが使用するスタック
WDSラッパーが使用するスレッド構造体
<p>
</div>
</div><p>
<a class="anchor" name="4684ed4a9191d29d6cd767d8f2149eeb"></a><!-- doxytag: member="WDSWrapperWork::mutex" ref="4684ed4a9191d29d6cd767d8f2149eeb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">OSMutex <a class="el" href="struct_w_d_s_wrapper_work.html#4684ed4a9191d29d6cd767d8f2149eeb">WDSWrapperWork::mutex</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
WDSラッパーが使用するmutex
<p>
</div>
</div><p>
<a class="anchor" name="8f2f0f56b345fd070bf3bcacab9ae53e"></a><!-- doxytag: member="WDSWrapperWork::wdswork" ref="8f2f0f56b345fd070bf3bcacab9ae53e" args="" -->
@ -289,12 +272,29 @@ WDSラッパーのステート
TWL用アプリ間引数ワークエリア
<p>
</div>
</div><p>
<a class="anchor" name="755d91d393b30b81530e78204b07f8de"></a><!-- doxytag: member="WDSWrapperWork::callingback" ref="755d91d393b30b81530e78204b07f8de" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL <a class="el" href="struct_w_d_s_wrapper_work.html#755d91d393b30b81530e78204b07f8de">WDSWrapperWork::callingback</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
コールバック関数呼び出し中はTRUE
<p>
</div>
</div><p>
<hr>この構造体の説明は次のファイルから生成されました:<ul>
<li>src/<a class="el" href="_w_d_s_wrapper_8c.html">WDSWrapper.c</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jun 26 22:00:52 2008に生成されました。&nbsp;
<hr size="1"><address style="text-align: right;"><small>WDSWrapperに対してThu Jul 3 18:05:09 2008に生成されました。&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>