summaryrefslogtreecommitdiff
path: root/oldresources/breathing-exo-daemon/display/display-shm.c
diff options
context:
space:
mode:
Diffstat (limited to 'oldresources/breathing-exo-daemon/display/display-shm.c')
-rw-r--r--oldresources/breathing-exo-daemon/display/display-shm.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/oldresources/breathing-exo-daemon/display/display-shm.c b/oldresources/breathing-exo-daemon/display/display-shm.c
new file mode 100644
index 0000000..435077a
--- /dev/null
+++ b/oldresources/breathing-exo-daemon/display/display-shm.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define SHM_NAME "/breathing_color_shm" // Shared memory name (same as in exo.c)
+#define COLOR_SIZE 8 // Size for one color (e.g., #RRGGBB)
+
+int main() {
+ int shm_fd;
+ char *shm_ptr;
+
+ // Open shared memory object
+ shm_fd = shm_open(SHM_NAME, O_RDONLY, 0666);
+ if (shm_fd == -1) {
+ perror("Failed to open shared memory");
+ return 1;
+ }
+
+ // Map shared memory into the process's address space
+ shm_ptr = mmap(NULL, COLOR_SIZE, PROT_READ, MAP_SHARED, shm_fd, 0);
+ if (shm_ptr == MAP_FAILED) {
+ perror("Failed to map shared memory");
+ close(shm_fd);
+ return 1;
+ }
+
+ // Read the color from shared memory and print it
+ printf("Breathing color: %s\n", shm_ptr);
+
+ // Clean up
+ munmap(shm_ptr, COLOR_SIZE);
+ close(shm_fd);
+
+ return 0;
+}
+