#include #include #include #include #include #include #include #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; }