1#include <sys/ipc.h>
2#include <sys/stat.h>
3
4key_t ftok(const char* path, int id) {
5    struct stat st;
6    if (stat(path, &st) < 0)
7        return -1;
8
9    return ((st.st_ino & 0xffff) | ((st.st_dev & 0xff) << 16) | ((id & 0xff) << 24));
10}
11