diff options
Diffstat (limited to 'src/ipc.h')
| -rw-r--r-- | src/ipc.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/ipc.h b/src/ipc.h new file mode 100644 index 0000000..98ce6d3 --- /dev/null +++ b/src/ipc.h @@ -0,0 +1,45 @@ +#ifndef IPC_H +#define IPC_H + +#include <stdlib.h> +#include <sys/mman.h> + +#include "fen.h" +#include "uci/state.h" + +void* create_shared_memory(size_t size); + +typedef struct { + struct uci_move *moves; + int count; + int capacity; +} comm_moves; + +struct engine_message { + int depth; + int seldepth; + int multipv; + int score_cp; + int nodes; + int nps; + int hashfull; + int tbhits; + int time; + comm_moves pv; + + struct engine_message *next; +}; + +enum { MESSAGE_FILLED, MESSAGE_READ, MESSAGE_PROCESSED }; +typedef struct { + struct engine_message engine_message; + + 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); + +#endif // IPC_H |
