#ifndef BUS_H #define BUS_H #include #include #include #define BUS_TIMEOUT 1000000 void write_pin(int pin, int value); int read_pin(int pin); void init_read_pin(int d, int clk, int ack); void init_write_pin(int d, int clk, int ack); void free_fifo(int d, int clk, int ack); typedef struct { int t; int q; char buffer[1024]; } file_t; typedef struct { int data; int clk; int ack; int ismaster; file_t buffer; } bus_t; void bus_init_recv (bus_t* bus, int d, int clk, int ack); void bus_init_send (bus_t* bus, int d, int clk, int ack); void* bus_send_thread (void* _bus); void* bus_recv_thread (void* _bus); void bus_write (bus_t* bus, const void* x, int length); void bus_write_sync (bus_t* bus, const void* x, int length); void bus_read (bus_t* bus, void* x, int length); #endif