Provided by: manpages-es_1.55-10_all bug

NOMBRE

       ftok  -  convierte  un nombre de camino y un identificador de proyecto en una clave IPC de
       System V

SINOPSIS

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

       key_t ftok ( char *camino, int proy )

DESCRIPCIÓN

       La función ftok utiliza la identidad del fichero que indica pathname (que debe referirse a
       un  fichero  existente y accesible) y los 8 bits menos significativos de proj_id (que debe
       ser distinto de cero) para generar una clave IPC de System V de tipo key_t , adecuada para
       el uso con msgget(2), semget(2), o shmget(2).

       El  valor  resultante  es  el mismo para todos los nombres de ruta que hacen referencia al
       mismo fichero, cuando se utiliza el mismo valor de proj_id.  El valor devuelto debería ser
       diferente  cuando  los  ficheros  (que  existen  simultáneamente) o los identificadores de
       proyecto son distintos.

VALOR DEVUELTO

       En caso de éxito se devuelve la clave key_t generada. En caso de fallo se devuelve  -1,  y
       la variable errno indica el error al igual que con la llamada al sistema stat(2).

CONFORME A

       XPG4

OBSERVACIONES

       Bajo libc4 y libc5 (y bajo SunOS 4.x) el prototipo era
              key_t ftok(char *pathname, char proj_id);
       En  la  actualidad  proj_id es de tipo int, pero se siguen utilizando solamente 8 bits. Un
       uso típico es proporcionar un carácter ASCII como valor proj_id, ésto es  por  lo  que  se
       dice que el comportamiento es indefinido cuando proj_id es cero.

       Por  supuesto no se puede dar ninguna garantía de que el valor key_t resultante sea único.
       Habitualmente, una mejor aproximación combina el byte proj_id dado, los 16 bits  de  orden
       bajo  del  número  de  i-nodo,  y  los 8 bits de orden bajo del número de dispositivo para
       formar un resultado de 32 bits.  Pueden darse casos de colisiones fácilmente, por  ejemplo
       entre ficheros en /dev/hda1 y ficheros en /dev/sda1.

VÉASE TAMBIÉN

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