xref: /aosp_15_r20/external/musl/src/ipc/ftok.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <sys/ipc.h>
2*c9945492SAndroid Build Coastguard Worker #include <sys/stat.h>
3*c9945492SAndroid Build Coastguard Worker 
ftok(const char * path,int id)4*c9945492SAndroid Build Coastguard Worker key_t ftok(const char *path, int id)
5*c9945492SAndroid Build Coastguard Worker {
6*c9945492SAndroid Build Coastguard Worker 	struct stat st;
7*c9945492SAndroid Build Coastguard Worker 	if (stat(path, &st) < 0) return -1;
8*c9945492SAndroid Build Coastguard Worker 
9*c9945492SAndroid Build Coastguard Worker 	return ((st.st_ino & 0xffff) | ((st.st_dev & 0xff) << 16) | ((id & 0xffu) << 24));
10*c9945492SAndroid Build Coastguard Worker }
11