ftok - convierte un nombre de camino y un identificador de proyecto en una clave
IPC de System V
Biblioteca Estándar C (
libc,
-lc)
#include <sys/ipc.h>
key_t ftok(const char *camino, int proy);
La función
ftok() utiliza la identidad del fichero que indica
camino (que debe referirse a un fichero existente y accesible) y los 8
bits menos significativos de
proy (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
proy.
El valor devuelto debería ser diferente cuando los ficheros (que
existen simultáneamente) o los identificadores de proyecto son
distintos.
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).
Para obtener una explicación de los términos usados en esta
sección, véase
attributes(7).
Interfaz |
Atributo |
Valor |
ftok() |
Seguridad del hilo |
Multi-hilo seguro |
POSIX.1-2001, POSIX.1-2008.
On some ancient systems, the prototype was:
key_t ftok(char *camino, char proy);
Today,
proj_id is an
int, but still only 8 bits are used. Typical
usage has an ASCII character
proj_id, that is why the behavior is said
to be undefined when
proj_id is zero.
Of course, no guarantee can be given that the resulting
key_t is unique.
Typically, a best-effort attempt combines the given
proj_id byte, the
lower 16 bits of the inode number, and the lower 8 bits of the device number
into a 32-bit result. Collisions may easily happen, for example between files
on
/dev/hda1 and files on
/dev/sda1.
See
semget(2).
msgget(2),
semget(2),
shmget(2),
stat(2),
sysvipc(7)
La traducción al español de esta página del manual fue
creada por Gerardo Aburruzaga García <
[email protected]>
y Miguel Pérez Ibars <
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]