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).

Linux 2.4                                       28 noviembre 2001                                        FTOK(3)