FTOK(3)

NOM
ftok - Convertir un nom de fichier et un identificateur de projet en cle IPC systeme V.

SYNOPSIS
# include <sys/types.h>
# include <sys/ipc.h>

key_t ftok (char *pathname, char proj )

DESCRIPTION
Cette fonction convertit le nom et le chemin d'acces d'un fichier existant, ainsi qu'un identificateur de projet en une cle IPC Systeme V de type key_t.

VALEUR RENVOYEE
Si elle reussit, la fonction ftok renvoie une valeur de type key_t, sinon elle renvoie -1, et errno contient un code d'erreur parmi ceux de l'appel systeme stat(2).

BUGS
La valeur de type key_t est obtenue en effectuant un stat sur le fichier disque correspondant a pathname, afin d'obtenir son numero d'i-noeud, et le numero mineur du peripherique sur lequel reside le systeme de fichiers. Ensuite, les 8 bits de la valeur proj sont associes avec les 16 bits de poids faibles du numero d'i-noeud, et avec les 8 bits du numero mineur du peripherique. L'algorithme ne garantit pas l'unicite de la cle. En fait :

•   Deux noms diferents pointant sur le meme fichier produisent la meme cle.

•   L'utilisation des 16 bits de poids faibles du numero d'i-noeud laissent quelques chances (faibles) pour que 2 i-noeuds differents produisent la meme cle.

•   On n'utilise pas les numeros majeurs de peripheriques, laissant encore quelques (faibles) possibilites de collision sur un systeme avec plusieurs controleurs de disques.

VOIR AUSSI
ipc(5), msgget(2), semget(2), shmget(2), stat(2).