/*
 *  Shinobi Library
 *  Copyright (c) 1998 SEGA
 *  
 *       SH4 Timer 
 *
 *  Module  : Library Header File
 *  File    : sg_tmr.h
 *  Create  : 1998-03-03
 *  Modify  : 1998-05-12
 *  Version : 0.43
 *  Note    :
 */


#ifndef _SG_TMU_H_
#define _SG_TMU_H_


#include <sg_sytmr.h>


/******* カウンタクロック指定番号定義 **************************************/
#define SYD_TMR_CLOCK_P4        (0)         /* Pφ/4                       */
#define SYD_TMR_CLOCK_P16       (1)         /* Pφ/16                      */
#define SYD_TMR_CLOCK_P64       (2)         /* Pφ/64                      */
#define SYD_TMR_CLOCK_P256      (3)         /* Pφ/256                     */
#define SYD_TMR_CLOCK_P1024     (4)         /* Pφ/1024                    */
typedef Uint16 SY_TMR_CLOCK;

/******* エラーコード ******************************************************/
#define SYD_TMR_ERR_OK          (0)         /* エラーなし                  */
#define SYD_TMR_ERR_EXIST       (-1)        /* 既に登録されている          */

/******* 関数プロトタイプ **************************************************/
/*------- フリーランタイマ関数 -------*/
void syTmrSetClock(SY_TMR_CLOCK);

/*------- タイマ1関数 -------*/
Sint32 syTmrInt1Set(Uint32, void(*)(void *), void *);
void syTmrInt1Cancel(void);
Sint32 syTmrInt1SetEx(Uint32, void(*)(void *), void *, SY_TMR_CLOCK);

/*------- タイマ2関数 -------*/
Sint32 syTmrInt2Set(Uint32, void(*)(void *), void *);
void syTmrInt2Cancel(void);
Sint32 syTmrInt2SetEx(Uint32, void(*)(void *), void *, SY_TMR_CLOCK);


#endif /* _SG_TMU_H_ */

/******************************* end of file *******************************/
