FTOK(3)

NOME
ftok - converte um caminho de diretório e um identificador de projeto para uma chave IPC System V

SINÓPSE
# include <sys/types.h>
# include <sys/ipc.h>

key_t ftok ( char *pathname, char proj )

DESCRIÇÃO
A função converte o caminho de diretório de um arquivo acessível existente e um identificador de projeto para uma chave IPC System V do tipo key_t.

VALORES RETORNADOS
Em caso de sucesso, o valor de retorno será o valor de key_t convertido, caso contrário será -1 com errno indicando o erro, como na chamada de sistema stat(2).

PROBLEMAS
O valor de key_t gerado é obtido com o uso de stat no arquivo de disco correspondente ao pathname para obter seu número de i-nó, e o número menor de dispositivo do sistema de arquivos no qual o arquivo de disco reside, combinando então com o valor de proj com 8 bits, junto com os 16 bits mais baixos do número do inode, e junto com os 8 bits do número menor do dispositivo. O algoritmo não garante um valor de chave único. De fato

•   Dois nomes diferentes ligando o mesmo arquivo produzem os mesmos valores de chave.

•   Usando os 16 bits mais baixos do número do i-nó, há alguma chance (também pequena, geralmente) de ter os mesmos valores de chave para nomes de arquivos se referindo a inodes diferentes.

•   Não discriminar entre números maiores de dispositivo, dá alguma chance de colisão (também pequena, geralmente) para sistemas com múltiplos controladores de disco.

VEJA TAMBÉM
ipc(5), msgget(2), semget(2), shmget(2), stat(2).

TRADUZIDO POR LDP-BR em 21/08/2000.

  Tradução:
Rubens de Jesus Nogueira <darkseid99@usa.net>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>