#ifndef _UNIXTimer_h_INCLUDED_ #define _UNIXTimer_h_INCLUDED_ /*****************************************************************************/ /* ここから */ /*****************************************************************************/ /*****************************************************************************/ /* クラスの定義 */ /*****************************************************************************/ typedef struct _UNIXTimer * UNIXTimer; typedef int (*UNIXTimerCallBack)(void *); /*****************************************************************************/ /* ヘッダファイルのインクルード */ /*****************************************************************************/ #include #include /*****************************************************************************/ /* メンバ関数の宣言 */ /*****************************************************************************/ /*---------------------------------------------------------------------------*/ /* タイマの ON, OFF */ /*---------------------------------------------------------------------------*/ int UNIXTimer_ON(UNIXTimer unix_timer); int UNIXTimer_OFF(UNIXTimer unix_timer); int UNIXTimer_IsON(UNIXTimer unix_timer); int UNIXTimer_IsOFF(UNIXTimer unix_timer); /*---------------------------------------------------------------------------*/ /* 一時停止 */ /*---------------------------------------------------------------------------*/ /* * 関数の先頭と末尾を Pause, Unpause でくくるばあいなどは, * 関数から関数を呼び出したときに,2重 Pause, Unpause が起きるので * 注意すること.(ただし,ポーズはネストできる) */ /* * ポーズはネストされるので,UNIXTimer_Unpause() を安易に繰り返し呼んだり * しないように注意すること. */ int UNIXTimer_Pause(UNIXTimer unix_timer); int UNIXTimer_Unpause(UNIXTimer unix_timer); int UNIXTimer_IsPause(UNIXTimer unix_timer); /*---------------------------------------------------------------------------*/ /* オートプリセット */ /*---------------------------------------------------------------------------*/ int UNIXTimer_SetAutoPreset(UNIXTimer unix_timer); int UNIXTimer_ResetAutoPreset(UNIXTimer unix_timer); int UNIXTimer_IsAutoPreset(UNIXTimer unix_timer); /*---------------------------------------------------------------------------*/ /* インターバル */ /*---------------------------------------------------------------------------*/ int UNIXTimer_GetInterval(UNIXTimer unix_timer); int UNIXTimer_SetInterval(UNIXTimer unix_timer, int interval); /*---------------------------------------------------------------------------*/ /* コールバック関数の呼び出し時のパラメータ */ /*---------------------------------------------------------------------------*/ void * UNIXTimer_GetParameter(UNIXTimer unix_timer); void * UNIXTimer_Setparameter(UNIXTimer unix_timer, void * parameter); /*---------------------------------------------------------------------------*/ /* コールバック関数の取得・登録 */ /*---------------------------------------------------------------------------*/ UNIXTimerCallBack UNIXTimer_GetCallBack(UNIXTimer unix_timer); UNIXTimerCallBack UNIXTimer_SetCallBack(UNIXTimer unix_timer, UNIXTimerCallBack callback); /*---------------------------------------------------------------------------*/ /* オブジェクトの作成 */ /*---------------------------------------------------------------------------*/ UNIXTimer UNIXTimer_Create(int auto_preset, int interval, void * parameter, UNIXTimerCallBack callback); /*---------------------------------------------------------------------------*/ /* オブジェクトの削除 */ /*---------------------------------------------------------------------------*/ UNIXTimer UNIXTimer_Destroy(UNIXTimer unix_timer); /*****************************************************************************/ /* ここまで */ /*****************************************************************************/ #endif /*****************************************************************************/ /* End of File. */ /*****************************************************************************/