##### Shinobi Library - ファイバ関数

# syFbrSetCallback

ファイバ切り替え時に呼び出されるコールバック関数を登録

### 書式

> `Void syFbrSetCallback( callback )
> Void (*callback)(SYFBR,SYFBR)
> `

### 引数

> callback | ファイバ切り替え時に呼ばれるコールバック関数のアドレス

### 戻り値

> なし

### 解説

> ファイバ切り替え時に呼ばれるコールバック関数を登録します。

> コールバック関数の形式は以下のとおりです。
> Void callback( SYFBR oldFiber, SYFBR newFiber ){
> ...
> }

> ここで引数 oldFiberには現在のファイバのハンドル、引数newFiberには切り替える先のファイバのハンドルがセットされます。

> この関数は、割り込み禁止状態(SR.IMASK=15)で呼ばれますが、 関数が終了するまで割り込みを許可してはいけません。

> コールバックの呼び出しを止めるためには、syFbrSetCallback()関数に引数NULLを渡します。

### 用例

>     extern Void func(SYFBR,SYFBR) ;
>     	...
>     syFbrSetCallback( func ) ;
>     	...
>     Void func( SYFBR old, SYFBR new )
>     {
>     	 ...
>     }

### 備考

> コールバック関数の呼び出されるきっかけは、現在のファイバのコンテキストを保存後、次のファイバのコンテキストの復帰前です。

> コールバック関数が使用するスタックは、現在のファイバのスタックです。

> コールバック関数内での処理は極めて制限されます。フラグの更新を行うなどの処理のとどめて下さい。

syFbrSetCallback

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000