147ca7595SAxel Dörfler/*
247ca7595SAxel Dörfler * Copyright 2008, Haiku Inc. All rights reserved.
347ca7595SAxel Dörfler * Distributed under the terms of the MIT License.
447ca7595SAxel Dörfler *
547ca7595SAxel Dörfler * Authors:
647ca7595SAxel Dörfler *		Salvatore Benedetto <salvatore.benedetto@gmail.com>
747ca7595SAxel Dörfler */
847ca7595SAxel Dörfler
947ca7595SAxel Dörfler#include <sys/ipc.h>
1047ca7595SAxel Dörfler#include <sys/stat.h>
1147ca7595SAxel Dörfler
1247ca7595SAxel Dörfler
1347ca7595SAxel Dörflerkey_t
1447ca7595SAxel Dörflerftok(const char *path, int id)
1547ca7595SAxel Dörfler{
1647ca7595SAxel Dörfler	struct stat st;
1747ca7595SAxel Dörfler
1847ca7595SAxel Dörfler	if (stat(path, &st) < 0)
1947ca7595SAxel Dörfler		return (key_t)-1;
2047ca7595SAxel Dörfler
2147ca7595SAxel Dörfler	return (key_t)(id << 24 | (st.st_dev & 0xff) << 16 | (st.st_ino & 0xffff));
2247ca7595SAxel Dörfler}
23