#ifndef NFLDSTRx
/* 2. clare           Fri Sep 24 13:06:56 1993 bit 6 of fldmay*/
/* 1/22/92  Replaced fldmacro with fldoverflow */

typedef struct	fldstr	{
0		char	fldrow;	/*row with top row = 1*/
1		char	fldcol;	/*column with left edge = 1*/
2		char	fldlength;	/*actual data length */
3		char	fldmay;	/*no bits set can't enter.
				bit 0 set=may enter.	1
				bit 1 set=must enter.	2
				bit 2 set=must fill.	4
				bit 3 set=must tab.	8
				bit 4 set=locked	16
				bit 5 set=field has been entered	32
				bit 6 set=inhibit display of field contents 64
				*********************/
4		char	fldjust;/*LEFT, RIGHT, CENTER, NOJUST */
5		char	fldfill;/*fill character*/
6		char	fldtype;/*INTEGER,NUMERIC,ALPHA,ANY,HIDDEN*/
7		char	fldkase;/*UPPER,LOWER,NOCASE*/
8		int	fldoffset;/*offset into buffer fbuf*/
9		int	fldnum;/*the number of this field*/
10		int	(*fldproc)();/*the function to execute upon exit*/
11		int	(*fldinit)(); /* init function */
#if 0
		char	*fldmacro;	/* key stroke macros */
#endif
12		int	fldoverflow;	/* 1/22/92 */
		} FLD;

typedef	struct	scrstr	{
	FLD	*fld;
	char	*fbf;
	int	(*fky)();
	int	(*cks)();
	int	(*erx)();
	void	(*bg)();
	int	mxf;
	int	acf;
	int	ulr;
	int	ulc;
	int	lrr;
	int	lrc;
	}	SCR;
int keyin(FLD *);
void strpad(char *,int ,int );
int instr(char *,char *);
int get_fields(SCR *);
int next_field(int ,int ,int );
int first(int );
int left(int );
int up(int );
int down(int ,int );
int right(int ,int );
void nojust(char *,int ,int );
char *rjust(char *,int ,int );
char *rjust_1(char *,int );
char *center(char *,int ,int );
char *ljust(char *,int ,int );
char *ljust_1(char *,int ,int );
void print_field(char *);
void print_all(int ,int );
void display_field(char *,char ,char );
void clear(char *,int ,int ,int ,int );
void clear_field(FLD *);
void init_field(FLD *);
void blank_field(FLD *);
void mass_clear(int );
void lock_field(FLD *);
void unlock_field(FLD *);
islock_field(FLD *);
void mass_lock(void);
void mass_unlock(void);
#endif
#define NFLDSTRx
