#ifndef SHM_KEYS_HPP
#define SHM_KEYS_HPP

#include <sys/types.h>

// Per-user keys (student ma12537) — each student on the shared university
// server must pick unique values to avoid collisions in the SysV IPC namespace.
// See `ipcs -m` to inspect who owns what.

// Original tensor produced by shm_generator (read-only for benchmarks).
#define SHM_KEY_ORIGINAL              12537

// One copy segment per scheduler, populated from the original at benchmark
// start, sorted in place by its scheduler, then deleted at the end.
#define SHM_KEY_STATIC_COPY           22537
#define SHM_KEY_DYNAMIC_COPY          32537
#define SHM_KEY_CHUNK_COPY            42537
#define SHM_KEY_CHUNKSTEAL_COPY       52537
#define SHM_KEY_GUIDED_COPY           62537
#define SHM_KEY_ADAPTIVE_COPY         72537
#define SHM_KEY_AIMD_COPY             82537

#endif
