#ifndef DEBUGH_INCLUDED
#define DEBUGH_INCLUDED
#include "defs.h"
#include <stdio.h>
#include <stdarg.h>     /*for ASSERT macro*/
#include <stdlib.h>     /*for rand() abs() malloc() exit()*/
#include <string.h>     /*memset()*/
/*
 *
 shared/globals
 */
extern int      board[256];
extern int      indx[192];
extern int      pieces[2][16];
extern int      castle;
extern int      epsquare;
extern int      fifty;
extern int      force[2];
extern int      types[16];
extern int      fval[16];
extern int      killer0[MAXPLY];
extern int      killer1[MAXPLY];
extern int      killer2[MAXPLY];
extern int      kingsq[2];
extern int      nodes;
extern int      ply;
extern int      pvl[MAXPLY];
extern int      stm;
extern sHISTDATA *mhs;
extern sHISTDATA move_history[512];
extern sMOVES  *last_move[MAXPLY];
extern UI64     key;
extern UI64     zobrist[nbPieces][192];
extern uMOVE    pv[MAXPLY][MAXPLY];
extern unsigned int history[2][64 * 64];
extern int	scores[16];
/*
extern unsigned int histcnt[2][64 * 64];
*/
extern char     pst[16][192];
extern int      pseudoev[256];
 /* protos  */
void            eclear (void);
void		hclear (void);
int             inCheck (int);
void            gen (void);
void            buildepd (char *);
void            domove (const uMOVE *);
void            printmv (const uMOVE * m);
void		printmvw (const uMOVE * m);
void            unmove (void);
int             attacked (int side, int sq);
void            clearhash (void);
UI64 makehashkey ();
int             evaluate ();
int		squies(int, int);
sHASHENTRY * 	probe(void);
#endif	/* DEBUGH_INCLUDED */
