#if defined(_WIN32)
# include <Winsock2.h>
-# define CONV __fastcall
+# ifdef _MSC_VER
+# define CONV __fastcall
+# else
+# define CONV
+# endif
# define SCKT_NULL INVALID_SOCKET
+# define WIN32_PIPE
typedef SOCKET sckt_t;
+char *strtok_r( char *s, const char *t, char **next);
#else
extern const char ach_turn[2];
extern const unsigned char aifile[ nsquare ];
extern const unsigned char airank[ nsquare ];
+extern int root_pos[]; // [HGM] remembers root position during pondering
extern int move_list[], move_ptr; // [HGM] undo: game history (used in proce.c and makemove.c)
extern char analyze_mode; // [HGM] exclude: used in proce.c and root.c
extern sckt_t sckt_csa;
#endif
-#if defined(MNJ_LAN) || defined(USI)
+#if defined(MNJ_LAN) || defined(USI) || defined(XBOARD)
extern unsigned int moves_ignore[MAX_LEGAL_MOVES];
#endif