diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/broevent.h | 4 | ||||
-rw-r--r-- | includes/fifoqueue.h | 18 | ||||
-rw-r--r-- | includes/midbro.h | 6 | ||||
-rw-r--r-- | includes/types.h | 37 |
4 files changed, 65 insertions, 0 deletions
diff --git a/includes/broevent.h b/includes/broevent.h new file mode 100644 index 0000000..5e34f5c --- /dev/null +++ b/includes/broevent.h @@ -0,0 +1,4 @@ +#ifndef BROEVENT_H +#define BROEVENT_H +void * bro_event_listener(void * args); +#endif diff --git a/includes/fifoqueue.h b/includes/fifoqueue.h new file mode 100644 index 0000000..75b09c4 --- /dev/null +++ b/includes/fifoqueue.h @@ -0,0 +1,18 @@ +#ifndef FIFOQUEUE_H +#define FIFOQUEUE_H +#include "types.h" + +Fifo_q * init_queue(int size); + +Sensor_t * create_sensor_object(int value, int uid); + +boolean is_full(Fifo_q * q); + +boolean is_empty(Fifo_q * q); + +int add_to_queue(Fifo_q * q, Sensor_t * sensor); + +Sensor_t * pop_from_queue(Fifo_q * q); + +void print_queue(Fifo_q * q); +#endif diff --git a/includes/midbro.h b/includes/midbro.h new file mode 100644 index 0000000..e7143a3 --- /dev/null +++ b/includes/midbro.h @@ -0,0 +1,6 @@ +#ifndef MIDBRO_H +#define MIDBRO_H +void start_data_capture(); +int request_value(); +void request_n_values(int n, int dest[]); +#endif diff --git a/includes/types.h b/includes/types.h new file mode 100644 index 0000000..149415e --- /dev/null +++ b/includes/types.h @@ -0,0 +1,37 @@ +#ifndef TYPES_H +#define TYPES_H +#include <semaphore.h> + +#define true 1 +#define false 0 + +typedef int boolean; +typedef struct sensor_t Sensor_t; +typedef struct queue_t Queue_t; +typedef struct fifo_q Fifo_q; + +struct sensor_t{ + int uid; + int value; +}; + +struct queue_t{ + Sensor_t * sensor; + Queue_t * next; +}; + +struct fifo_q{ + Queue_t * head; + Queue_t * tail; + int maxSize; + int currentSize; + int droppedValues; + int largestBufferSize; + int valuesReceived; + int valuesReleased; + sem_t bufferEmptyBlock; + sem_t bufferFullBlock; + sem_t lock; +}; + +#endif |