summaryrefslogtreecommitdiff
path: root/oldresources/breathing-exo-daemon/display/display-shm.c
diff options
context:
space:
mode:
authorauric <auric7@protonmail.com>2025-09-07 16:09:42 -0500
committerauric <auric7@protonmail.com>2025-09-07 16:09:42 -0500
commitb59b8b8e5d16af7f0daccb280a4991e3fe428e41 (patch)
tree96ed0e580730ab6315e9322e2bb2933c9f5c8097 /oldresources/breathing-exo-daemon/display/display-shm.c
Add files
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;
+}
+