//	ＡＩＧライブラリ　１行入力関数
//		Copyright (C) 1989-1994 by AIG-SOFT

#ifndef	__AIG_GETLINE__
#define	__AIG_GETLINE__	2

#include "menu.h"

/* getline構造体 */
typedef struct GETLNDT {
	unsint	finit;		/* 初期化フラグ */
	unsint	lmax;		/* １行入力バイト数 */
	unsint	rp;		/* read point */
	unsint	wp;		/* write point */
	unsint	top;		/* top point */
	unsint	fhist;		/* ヒストリーモード */
	unsint	rhist;		/* 入力行変更フラグ */
	unsint	fcheck;		/* 多重入力チェックフラグ */
	unsint	f24;		/* 1/2,1/4角文字を使うかどうか */
	unchar	*history;	/* ヒストリーバッファー */
	unsint	*buffer;	/* 行バッファー */
	int	bsize;		/* ヒストリーバッファーサイズ */
} _GETLNDT;


#ifdef	__cplusplus
// 95/11 : G++対応
extern	"C" {
#endif
#ifdef	__PROTO_TYPE
	int	OpenGetline(_GETLNDT *,int,int,int);
	int	CloseGetline(_GETLNDT *);
	int	getline(_GETLNDT *,unchar *,int,int,unchar *,unchar *,int,int *);
	int	mini_getline(unchar *,int,int,unchar *,unchar *,int,int *,int (*)());
	int	mini_screen_edit(unchar *,int,int,int,unchar *,unchar *,int,int (*)());
	void	GetMSEStatus(int *,int *,int *);
	void	SetMSEStatus(int,int,int);
	int	waku_edit(unchar *,int ,int ,int ,unchar *,unchar *,int,int (*)());
	void	SetWKDisp(void (*)());
	void	GetWKStatus(int *,int *,int *);
	void	SetWKStatus(int ,int ,int );
	
	int	cgetline(_GETLNDT *,int *,int *,unchar *,unchar *,unchar *
			,_MENU_DATA *,MCOLORS *,unchar *(*),int *);
	int	cmgetline(int *,int *,unchar *,unchar *,unchar *
			,_MENU_DATA *,MCOLORS *,unchar *(*),int *,int (*)());
	
	/* OLD type interface */
	int	open_getline(int,int,int);
	int	close_getline(void);
	int	getline3(unchar *,int,int,int,int,unchar *,unchar *,int,int *);
	int	cgetline3(int *,int *,unchar *,int,int,unchar *,unchar *
				,_MENU_DATA *,MCOLORS *,unchar *(*),int *);
#else
	int	OpenGetline();
	int	CloseGetline();
	int	getline();
	int	mini_getline();
	int	mini_screen_edit();
	void	GetMSEStatus();
	void	SetMSEStatus();
	int	waku_edit();
	void	SetWKDisp();
	void	GetWKStatus();
	void	SetWKStatus();
	
	int	cgetline();
	int	cmgetline();
	
	/* OLD type interface */
	int	open_getline();
	int	close_getline();
	int	getline3();
	int	cgetline3();
#endif
#ifdef	__cplusplus
}
#endif

#endif
