//	ＡＩＧライブラリ　日付／時刻入力・表示関数
//		Copyright (C) 1989-1994 by AIG-SOFT

#ifndef	__AIG_DATETIME__
#define	__AIG_DATETIME__	2

#include "deftype.h"

#define	CLIM	(BIT0123-1)	/* 多重カウントリミット */
#define	SLIM	(BIT4567>>4)	/* シンボル数リミット */

#define	MONTHS	12	/* １年の月数 */
#define	DAYS	31	/* １月の最大日数 */
#define	WEEKS	7	/* １週間の日数 */

typedef struct {	/* 休日指定構造体 */
	unsint	cnt;	/* BIT3210=多重指定回数,BIT4567=シンボル,BIT15=振替 */
	unsint	col;	/* 色 */
	short	year;	/* シンボル有効年 */
	short	syear;	/* 開始年 */
	short	eyear;	/* 終了年 */
} HOLIDAY;


#ifdef	__cplusplus
// 95/11 : G++対応
extern	"C" {
#endif
#ifdef	__PROTO_TYPE
	int	date_input(unchar *,int *,int *,int *,int,int,int *,int (*)());
	int	time_input(unchar *,int *,int *,int *,int,int,int *,int (*)());
	
	void	SetHolidayWork(HOLIDAY (*)[],unsint *);
	int	SetHoliday(unchar *);
	void	SetDateSym(int,int,int,int);
	void	SetCalSym(unchar *);
	void	calen1(int,int,int,int,int,unchar *);
	int	DaySel(int *,int *,int *,int,int,unchar *,int,int (*)());
	int	MonthSel(int,int,int *,int *,int *,int,int,int,int (*)());
	
	void	SetClockDisp(void (*)(),void (*)());
	int	ClockSet(int ,int ,int *,int *,int (*)(),int );
	void	PrintTime1(int ,int ,int ,int ,int ,int );
	void	SelTime1(int ,int ,int ,int );
	void	PrintTime2(int ,int ,int ,int ,int ,int );
	void	SelTime2(int ,int ,int ,int );
	void	PrintTime3(int ,int ,int ,int ,int ,int );
	void	SelTime3(int ,int ,int ,int );
	void	PrintTime4(int ,int ,int ,int ,int ,int );
	void	SelTime4(int ,int ,int ,int );
#else
	int	date_input();
	int	time_input();
	
	void	SetHolidayWork();
	int	SetHoliday();
	void	SetDateSym();
	void	SetCalSym();
	void	calen1();
	
	int	DaySel();
	int	MonthSel();
	
	void	SetClockDisp();
	int	ClockSet();
	void	PrintTime1();
	void	SelTime1();
	void	PrintTime2();
	void	SelTime2();
	void	PrintTime3();
	void	SelTime3();
	void	PrintTime4();
	void	SelTime4();
#endif
#ifdef	__cplusplus
}
#endif

#endif
