From a14da2fe3864712dab4e7c4cfb5c323026d668de Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Fri, 10 Jul 2026 16:01:57 +0530 Subject: moving header files to include directory & moving resources in it's own directory i know currently there is race condition, but the code is getting too messy, i will continue to this after i make a vis tool to analyse how i should split up files & stuff the code rn needs intense restructing for it to make any more progress --- include/ipc.h | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 include/ipc.h (limited to 'include/ipc.h') diff --git a/include/ipc.h b/include/ipc.h new file mode 100644 index 0000000..90a2bcc --- /dev/null +++ b/include/ipc.h @@ -0,0 +1,78 @@ +#ifndef IPC_H +#define IPC_H + +// NOT TRUE IPC: I REALISED I AM STUPID AND COULD HAVE JUST USED THREADS + +#include +#include + +#include "fen.h" +#include "uci/state.h" + +typedef struct { + struct uci_move *moves; + int count; + int capacity; +} comm_moves; + +struct engine_message { + int id; + + int ready; + + int depth; + int seldepth; + int multipv; + int score_cp; + int nodes; + int nps; + int hashfull; + int tbhits; + int time; + + int mate; + bool node_limit; + comm_moves pv; + + struct uci_move best_move; + struct uci_move ponder; + + struct engine_message *next; +}; + +typedef struct { + struct engine_message **data; + int count; +} engine_messages; + +enum { MESSAGE_FILLED, MESSAGE_READ, MESSAGE_PROCESSED }; +typedef struct { + engine_messages *engine_messages; + uci_state state; + int uci_state_initialized; + int uci_message_ready; + struct fen_load from_position; + comm_moves moves; +} comms; + +comm_moves comm_moves_init(); +void add_comm_move(comm_moves *moves, struct uci_move move); + +struct go_args { + comm_moves searchmoves; + bool ponder; + int wtime; + int btime; + int winc; + int binc; + int movestogo; + int depth; + int nodes; + int mate; + int movetime; + bool infinite; + int perft; +}; +bool should_continue(struct engine_message *message, struct go_args* go); + +#endif // IPC_H -- cgit v1.2.3