123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #ifndef _UNIXTimer_h_INCLUDED_
- #define _UNIXTimer_h_INCLUDED_
- /*****************************************************************************/
- /* ここから */
- /*****************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
- /*****************************************************************************/
- /* クラスの定義 */
- /*****************************************************************************/
- typedef struct _UNIXTimer * UNIXTimer;
- typedef int (*UNIXTimerCallBack)(void *);
- /*****************************************************************************/
- /* メンバ関数の宣言 */
- /*****************************************************************************/
- /*---------------------------------------------------------------------------*/
- /* タイマの 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. */
- /*****************************************************************************/
|