#ifndef GATE_H #define GATE_H #include #include "logic.h" struct gate { enum BINARY (*operation)(enum BINARY, enum BINARY); enum BINARY output; struct gate *in1; struct gate *in2; }; void gate_update_output(struct gate *); int gate_add(struct gate *in1, struct gate *in2); int tick(void); void gate_init(void); #endif