MKFIFO(3)

NOME
mkfifo - faz um arquivo FIFO especial (chamado de 'duto')

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

int mkfifo ( const char *pathname, mode_t mode );

DESCRIÇÃO
mkfifo faz um arquivo FIFO especial com nome de pathname. mode especifica as permissões do FIFO. Ele não é modificado pelo processo umask no modo usual: as permissões do arquivo criado são (mode & ~umask).

Um arquivo especial FIFO é similar à um 'duto', exceto que ele é criado de um modo diferente. Ao invés de ser um canal de comunicação anônimo, um arquivo especial FIFO é adicionado ao sistema chamando-se mkfifo.

Uma vez que você criou um arquivo especial FIFO deste modo, qualquer processo pode abri-lo para leitura ou escrita, do mesmo modo que um arquivo comum. Entretanto, ele tem que estar aberto de ambos os lados simultâneamente antes que você possa fazer qualquer operação de entrada e saída nele. Abrir um FIFO para normalmente ler blocos até que outro processo abra o mesmo FIFO para escrita, e vice versa. Veja fifo(4) para o manuseio de arquivos FIFO especial não-bloqueadores.

VALORES RETORNADOS
Em caso de sucesso, devolve 0. Caso contrário, -1 é devolvdio e errno é selecionado adequadamente.

ERROS

EACCES
    Um dos diretórios no pathname não tinha permissão para procura (execução).

EEXIST
    pathname já existe.

ENAMETOOLONG
    Ou o comprimento total de pathname é maior do que PATH_MAX, ou o componente do nome de um arquivo individual tem um comprimento maior do que NAME_MAX. No sistema GNU, não há um limite imposto para o comprimento de um arquivo em geral, mas alguns sistemas de arquivos podem colocar limite ao comprimento de um componente.

ENOENT
    Um componente de um diretório em pathname não existe ou é uma lingação simbólica quebrada.

ENOSPC
    O diretório ou sistema de arquivos não tem espaço para o novo arquivo.

ENOTDIR
    Um componente usado como um diretorio em pathname não é, de fato, um diretorio.

EROFS
    pathname refere-se a um sistema de arquivo somente de leitura.

DE ACORDO COM
POSIX.1.

VEJA TAMBÉM
mkfifo(1), read(2), write(2), open(2), close(2), stat(2), umask(2), fifo(4).

TRADUZIDO POR LPD-BR em 18/06/2001.

  Tradução:
Ricardo C.O.Freitas <english.quest@best-service.com>

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