377b78e927dec97181e8e755071bc6aec2c964a8
[sphoot.git] / src / ecommon.h
1 #ifndef ECOMMON_H
2 #define ECOMMON_H
3
4 #include <stdint.h>
5
6 typedef struct __attribute__((packed)) {
7     
8 } shm_mat_t;
9
10 typedef struct __attribute__((packed)) {
11     float x, y, z;
12     uint32_t mat;
13 } shm_sph_t;
14
15 typedef struct __attribute__((packed)) {
16     float x, y, z;
17     float dx, dy, dz, dw;
18     float fov;
19 } shm_cam_t;
20
21 typedef struct __attribute__((packed)) {
22     uint32_t width, height;
23     uint32_t fb_off;
24
25     uint32_t mat_off;
26     uint32_t mat_count;
27
28     uint32_t sph_off;
29     uint32_t sph_count;
30
31     uint32_t data_end;
32
33     uint32_t generation;
34     uint32_t finished;
35
36     shm_cam_t cam;
37
38     uint32_t msg[16];
39
40     uint32_t interrupts_fired;
41     uint32_t messages_received;
42     uint32_t range_end;
43 } shm_region_t;
44
45 #endif