/* 
	TOWNS囲碁棋譜記録プログラム KIFFILE.H
	                                      1992/04/06  久保田俊也
 */

typedef struct {
	char file_id[4];
	int  te_number;
	int  comment_lenth;
	char play_ymd[8];
	char play_time_b[4];
	char play_time_a[4];
	int  handy;
	int  komi;
	int  player_black;		/* コメントＮＯが入る　*/
	int  player_white;		/* コメントＮＯが入る　*/
	int  play_space;		/* コメントＮＯが入る　*/
	int  issue;				/* 勝敗 */
	int  moku_number;
	char dummy[24];
}	KIF_HEADER;

typedef struct {
	char file_id[4];
	int	 ver;
	int  te_number;
	int  comment_lenth;
	YMDHM play_start;
	YMDHM play_end;
	int  handy;
	int  komi_id;			/* 黒コミ出し 0 白コミ出し 1 コミなし 2 */
	int	 komi_number;		
	int  hanmoku_id;		/* 半目コミ有り 0 半目コミなし 1 */
	char player_black[21];		
	char player_white[21];		
	char play_space[21];
	int  vicdef_id;				/* 勝敗 */ /* 黒勝ち 0 白勝ち 1 引き分け 2 */
	int  vicdef_number;		/* 半目はコミでわかることを前提とする */
	char dummy[114];
}	KIF_HEADER_VER3;

typedef struct {
	char file_id[4];
	int	 ver;
	int  te_number;
	int  comment_lenth;
	YMDHM play_start;
	YMDHM play_end;
	int  handy;
	int  komi_id;			/* 黒コミ出し 0 白コミ出し 1 コミなし 2 */
	int	 komi_number;		
	int  hanmoku_id;		/* 半目コミ有り 0 半目コミなし 1 */
	char player_black[21];		
	char player_white[21];		
	char play_space[21];
	int  vicdef_id;				/* 勝敗 */ /* 黒勝ち 0 白勝ち 1 引き分け 2 */
	int  vicdef_number;		/* 半目はコミでわかることを前提とする */
	BAN_TYPE ban_type;
	char dummy[102];
}	KIF_HV33;/* KIF_HEADER_VER3.3 FILE_ID = 3 かつ　VER = 3 */

typedef struct {
	int  ver;
	int  te_number;
	int  comment_lenth;
	YMDHM play_start;
	YMDHM play_end;
	int  handy;
	int  komi_id;			/* 黒コミ出し 0 白コミ出し 1 コミなし 2 */
	int	 komi_number;		
	int  hanmoku_id;		/* 半目コミ有り 0 半目コミなし 1 */
	char player_black[21];		
	char player_white[21];		
	char play_space[21];
	int  vicdef_id;				/* 勝敗 */ /* 黒勝ち 0 白勝ち 1 引き分け 2 */
	int  vicdef_number;		/* 半目はコミでわかることを前提とする */
	BAN_TYPE ban_type;
}	KIF_TITLE;

typedef struct {
	short int  ichi;
	signed char iro;
	signed char end_flg;
	unsigned short int  comment_no;
	unsigned short int  change_no;
}   KIF_TE;

struct te {
	struct te *prev;
	struct te *next;
	struct te *brother;
	int ichi;
	signed char iro;
	char ban[MAX_BANSIZE2];
	int black_capture_number;	/* 黒が取った白石の数 */
	int white_capture_number;	/* 白が取った黒石の数 */
	short int comment;
};
typedef struct te TE;

struct te_arrangemnt {
	short int no;
	short int prev;
	short int next;
	short int brother;
	int ichi;
	signed char iro;
	short int comment;
};
typedef struct te_arrangemnt TE_ARG;
