/*	
 *	clipfibr.h
 *
 *	ファイバ関数(Win32 API互換)
 *
 *	CLiP - Common Library for P/ECE
 *	Copyright (C) 2001-2015 Naoyuki Sawa
 *
 *	* Sat May 16 13:07:41 JST 2015 Naoyuki Sawa
 *	- 1st リリース。
 *	- 関数仕様は、Win32 APIのファイバ関数群とほぼ同じです。
 *	  使用方法の詳細は、Win32 APIの説明を参照してください。
 *	- 当モジュールの機能は、既存のcliptask.cの関数を使用しても、ほぼ同じ事が実現出来ます。
 *	  ただし、もしアプリケーションの要件が、複雑な同期制御が不要で、単純なコルーチンの動作だけが必要な場合は、
 *	  cliptask.cよりも当モジュールの関数を使う方が、アプリケーションの構造を単純に出来るという利点が有ります。
 *	* Wed Nov 18 21:37:53 JST 2015 Naoyuki Sawa
 *	- 'extern "C" {'〜'}'で囲みました。.cppを含むWin32プロジェクトからもインクルード出来るようにするためです。
 */
#ifndef __CLIP_FIBR_H__
#define __CLIP_FIBR_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
/*****************************************************************************
 *	
 *****************************************************************************/
void* ConvertThreadToFiber(void* data);
void* CreateFiber(size_t stackSize, void (*fiberProc)(void*), void* data);
void DeleteFiber(void* fiber);
void SwitchToFiber(void* fiber);
void* GetCurrentFiber();
void* GetFiberData();
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__CLIP_FIBR_H__
